System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 具有通用性的数据加密和解密的方法及存储装置制造方法及图纸_技高网

具有通用性的数据加密和解密的方法及存储装置制造方法及图纸

技术编号:41289835 阅读:12 留言:0更新日期:2024-05-11 09:39
本发明专利技术涉及具有通用性的数据加密和解密的方法及存储装置,数据加密的方法包括:步骤1:将数据解析为由字节数组构成的数据串,设置正整数x,根据字节数组的长度len和x计算字节数组的插值位置;步骤2:将插值位置两边的数组元素按存储介质中的存储位置交换位置,获得新的字节数组;步骤3:计算插值位置要插入的值:根据插值位置的值是否大于设定的阈值,返回不同的插入值,该插入值占一个字节;步骤4:将插入值按所述插值位置插入到步骤2得到的新的字节数组中,得到密文字节数组。本发明专利技术的加/解密算法简单、快捷,便于维护。加密后的密文具有较强的保密性,不易被破解,而且具有通用性,能够适用于多种应用环境和领域。

【技术实现步骤摘要】

本专利技术涉及对数据的加密和解密处理的方法,具体是具有通用性的数据加密和解密的方法及存储装置


技术介绍

1、在目前的物联网、数据通信、数据存储、文件压缩等许多领域都涉及到对传输数据进行保密,以加强数据的安全性,因此在各个领域针对不同的应用也开发出了多种数据加密方式。例如在物联网中对信道加密,提供安全的socket通道,基于ssh的数据可以进行透传,但这种加密方式不够灵活,不能针对特定的应用场合设计特定的加密方式。还有对上层数据进行加密的方式,目前主要是3des加密算法。这种加密方式可以对各种应用设计合适的加密算法,但现有的3des加密方式使用的密钥具有唯一性和固定性,存在被破解的可能,因此安全性不高。

2、目前,有些数据加密的算法必须基于相应的硬件才能实现,例如一些对fpga(现场可编程门阵列)的加密,需要在对应的硬件里具有rsa(rsa加密算法)和aes(高级加密标准)。再如有一些单片机加密需要使用具有sha(安全哈希算法)的加密芯片。这些加密方式使用起来较为复杂,增加了硬件成本和维护成本。

3、而且,目前许多加密算法的使用都会受到使用环境的限制,例如在嵌入式单片机中如果想使用pc端的加密算法,则会因为资源限制不能使用。

4、而在计算机、平板电脑、智能手机等通信设备上,对数据的加密都是通过软件实现的。而算法的攻击者可以容易地访问到相关的加密软件。攻击者不仅可以看到加载到通信装置存储器上的二进制值,并且可以更改这些二进制值,还可以控制被实施的加密算法。这样就使得用于加密和解密的密钥暴露给了攻击者,攻击者可以解读任何密文,从而使数据失去了安全性。但是,一些较为复杂的数据加密方法,尽管可以克服密文被破译的问题,但由于加密方法的复杂性较高,造成了不易于使用和维护的问题。并且在不同的领域有各自不同的加/解密方法,许多加/解密方法也不具有通用性,这也造成了应用的局限性。


技术实现思路

1、本专利技术提供了一种具有通用性的数据加密和解密的方法及存储装置,对数据的加密和解密非常快捷,并且算法简单易于维护,加密的安全性高,而且具有通用性。

2、本专利技术具有通用性的数据加密的方法,包括:

3、步骤1:将数据解析为由字节数组构成的数据串,设置正整数x,并且0<x,根据字节数组的长度len和所述x,计算得到字节数组的插值位置;

4、步骤2:将插值位置两边的数组元素按存储介质中的存储位置交换位置,获得新的字节数组;

5、步骤3:计算插值位置要插入的值:根据插值位置的值是否大于设定的阈值,返回不同的插入值,所述插入值占一个字节;

6、步骤4:将所述插入值按所述插值位置插入到步骤2得到的新的字节数组中,得到密文字节数组。

7、数据在传递过程中,可以解析成字符、bcd码、十进制、十六进制、二进制、八进制等多种格式,而表示这些数据格式的最小单位就是字节。由多个字节构成的字节数组则可以表示数据串,例如可以表示为十六进制的纯数字字符串,也可以表示为一串字符的字符串,但针对的数据本身都是以字节为单位的。因此本专利技术的加密方法就是在上述基础上实现的。通过在表示原有数据的字节数组中插入一个插入值(插入值可以由随机算法随机生成,也可以为指定的固定值),同时又交换了插入值两边的字节数组元素的位置,由此得到了一个与原有数据完全不同的数据串,以此实现对数据的加密。本专利技术的加密方法算法简单,易于实施和维护,并且能够适用于各种数据加密的应用,具有良好的通用性和健壮性。

8、本专利技术步骤2和步骤3的顺序可以互换,在计算出插值位置要插入的插入值后,也可以先将所述插入值插入到步骤1计算得到字节数组的插值位置,再进行本专利技术步骤2的将插值位置(即插入值)两边的数组元素按存储介质中的存储位置交换位置,获得的新的字节数组即为最终加密后的密文字节数组。

9、进一步的,步骤5:对步骤4得到的密文字节数组中的数组元素,按在存储介质中的存储位置,循环左移或循环右移预设位数,得到移位数组。通过循环位移能够进一步改变各字节的排列顺序,更加提高了数据的安全性。

10、具体的,步骤1所述插值位置,是将字节数组的长度len除以所述x的结果取整后的值。

11、进一步的,步骤2所述插值位置两边的数组元素,是字节数组中除去结束符的有效数组元素。所述结束符包括字节数组末尾的\n、\r\n等标记。

12、本专利技术还提供了一种用于上述加密方法的具有通用性的数据解密的方法,包括:

13、步骤b:将接收到的密文字节数组的长度减1,得到原始的字节数组的长度len;

14、步骤c:根据所述字节数组的长度len和加密时设置的正整数x,计算得到字节数组的插值位置;

15、步骤d:将密文字节数组中插值位置两边的密文数组元素按存储介质中的存储位置交换位置,并删除插值位置处的密文数组元素,得到原始的字节数组。

16、根据加密方法的加密原理和过程,对其进行反向解密,得到原始的字节数组。

17、进一步的,当上述加密方法采用了循环位移的强加密方式时,解密时在步骤b之前进行步骤a:按照数据加密时数组元素循环位移的相反方向,按存储介质中的存储位置,对接收到的密文字节数组循环右移或循环左移与数据加密时相同的位数,再对得到的新的密文字节数组执行步骤b。

18、具体的,步骤c中,将字节数组的长度len和正整数x进行余运算,如果余数为0,字节数组的插值位置的下标值为字节数组的长度len除以正整数x的整数值,如果余数>0,字节数组的插值位置的下标值为字节数组的长度len减去(长度len除以正整数x的商),否则返回错误提示。

19、本专利技术还提供了一种存储装置,在存储介质中储存有用于执行所述具有通用性的数据加密的方法的应用程序。

20、本专利技术提供的另一种存储装置,在存储介质中储存有用于执行所述具有通用性的数据解密的方法的应用程序。

21、本专利技术的有益效果包括:

22、1、加/解密算法简单、快捷,不需要特定的硬件支持,便于维护,节省开发和维护成本。

23、2、加密后的密文具有较强的保密性,不易被破解。

24、3、具有通用性,能够适用于多种应用环境和领域。

25、4、不受开发语言的限制,能够通过汇编、c、c++、python、java、c#等各种语言实现。

26、5、能够适用于各种硬件设备,包括pc端、嵌入式设备、移动设备等各种设备。

27、6、能够根据不同的应用自定义加密的相关参数,灵活性更高,并且也提高了加密性。

本文档来自技高网...

【技术保护点】

1.具有通用性的数据加密的方法,其特征包括:

2.如权利要求1所述具有通用性的数据加密的方法,其特征为:

3.如权利要求1所述具有通用性的数据加密的方法,其特征为:步骤1所述插值位置,是将字节数组的长度len除以所述x的结果取整后的值。

4.如权利要求1所述具有通用性的数据加密的方法,其特征为:步骤2所述插值位置两边的数组元素,是字节数组中除去结束符的有效数组元素。

5.用于权利要求1至4之一所述方法的具有通用性的数据解密的方法,其特征包括:

6.如权利要求5所述具有通用性的数据解密的方法,其特征为:步骤B之前进行步骤A:按照数据加密时数组元素循环位移的相反方向,按存储介质中的存储位置,对接收到的密文字节数组循环右移或循环左移与数据加密时相同的位数,再对得到的新的密文字节数组执行步骤B。

7.如权利要求5所述具有通用性的数据解密的方法,其特征为:步骤C中,将字节数组的长度len和正整数x进行余运算,如果余数为0,字节数组的插值位置的下标值为字节数组的长度len除以正整数x的整数值,如果余数>0,字节数组的插值位置的下标值为字节数组的长度len减去(长度len除以正整数x的商),否则返回错误提示。

8.一种存储装置,其特征为:在存储介质中储存有用于执行权利要求1至4之一所述具有通用性的数据加密的方法的应用程序。

9.一种存储装置,其特征为:在存储介质中储存有用于执行权利要求5至7之一所述具有通用性的数据解密的方法的应用程序。

...

【技术特征摘要】

1.具有通用性的数据加密的方法,其特征包括:

2.如权利要求1所述具有通用性的数据加密的方法,其特征为:

3.如权利要求1所述具有通用性的数据加密的方法,其特征为:步骤1所述插值位置,是将字节数组的长度len除以所述x的结果取整后的值。

4.如权利要求1所述具有通用性的数据加密的方法,其特征为:步骤2所述插值位置两边的数组元素,是字节数组中除去结束符的有效数组元素。

5.用于权利要求1至4之一所述方法的具有通用性的数据解密的方法,其特征包括:

6.如权利要求5所述具有通用性的数据解密的方法,其特征为:步骤b之前进行步骤a:按照数据加密时数组元素循环位移的相反方向,按存储介质中的存储位置,对接收到的密文字...

【专利技术属性】
技术研发人员:李友刚曾卓何江
申请(专利权)人:四川杰通瑞联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1