数据加密方法、装置及计算机可读存储介质

文档序号:31531830发布日期:2022-09-16 20:21阅读:75来源:国知局
数据加密方法、装置及计算机可读存储介质

1.本发明涉及数据处理计算领域,尤其是涉及一种数据加密方法、装置及计算机可读存储介质。


背景技术:

2.目前,万物互联时代,5g、大数据、人工智能等新技术为物联网(internet of things,iot)带来了创新活力,物联网具有连接规模大、接入方式多样以及既有的边界被打破的特点,数字世界与物理世界的边界在逐渐消融,为物联网产业带来新的挑战和更为复杂的安全风险。
3.如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。同时,由于每个用户的私钥是唯一的,其他用户除了可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息,一般物联网终端装置运算处理能力不足,以及记忆容量小之限制因素,所以使用一般的加解密方法的加解密速度很慢。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种数据加密方法,能够通过低运算量和低复杂程度的加密方法提高加解密速度。
5.本发明还提出一种数据加密装置。
6.本发明还提出一种计算机可读存储介质。
7.第一方面,本发明的一个实施例提供了数据加密方法,应用于发送端,包括:
8.获取预发送的数据,以得到初始数据;
9.根据预设转换规则将所述初始数据转换成连分数数据;
10.根据预设的连分数转换法则将所述连分数数据转换成第一分子数据和第一分母数据;
11.接收接收端发送的私钥数据,根据所述私钥数据分别将所述第一分子数据和所述第一分母数据进行置换加密处理,以得到密文数据。
12.本发明实施例的数据加密方法至少具有如下有益效果:根据预设转换规则将获取的初始数据转换为对应的连分数数据,并根据连分数转换法则将连分数数据转换成第一分子数据和第一分母数据。最后,根据私钥数据分别将第一分子数据和第一分母数据进行置换加密处理,以得到密文数据,能够通过低运算量和低复杂程度的加密方法提高加解密速度。
13.根据本发明的另一些实施例的数据加密方法,若所述初始数据为以下任意一种:字母数据、符号数据,所述根据预设转换规则将所述初始数据转换成连分数数据,包括:
14.根据所述预设转换规则将所述初始数据转换成对应的整数数据;
15.将所述整数数据按相应的排列顺序进行排序,以得到所述连分数数据。
16.根据本发明的另一些实施例的数据加密方法,若所述初始数据为进制数据,所述根据预设转换规则将所述初始数据转换成连分数数据,还包括:
17.将预设个数的进制数据作为一个单元,并得到多个单元数据;
18.将所述多个单元数据根据所述预设转换规则转换成对应的多个十进制数据;
19.将所述多个十进制数据按相应的排列顺序进行排序,以得到所述连分数数据。
20.根据本发明的另一些实施例的数据加密方法,所述预设的连分数转换法则为欧基里德法则,所述根据预设的连分数转换法则将所述连分数数据转换成第一分子数据和第一分母数据,包括:
21.将所述连分数数据的每个元素根据所述欧基里德法则进行相应计算,以得到分数数据;
22.将所述分数数据进行分离处理,以得到所述第一分子数据和所述第一分母数据。
23.根据本发明的另一些实施例的数据加密方法,所述初始数据包括以下任意一种:字母数据、符号数据,所述私钥数据为排列组合置换规则,所述接收接收端发送的私钥数据,根据所述私钥数据分别将所述第一分子数据和所述第一分母数据进行置换加密处理,以得到密文数据,包括:
24.分别将所述第一分子数据和所述第一分母数据根据所述排列组合置换规则写入对应的置换块区,以得到第一置换块区和第二置换块区;
25.根据预设读取规则分别读取所述第一置换块区和所述第二置换块区,以得到所述密文数据。
26.根据本发明的另一些实施例的数据加密方法,若所述初始数据为进制数据,所述私钥数据为位置交换规则,所述接收接收端发送的私钥数据,根据所述私钥数据分别将所述第一分子数据和所述第一分母数据进行置换加密处理,以得到密文数据,还包括:
27.根据所述位置交换规则,将所述第一分子数据的元素和所述第一分母数据的元素进行位置交换,以得到所述密文数据。
28.第二方面,本发明的一个实施例提供了数据加密方法,应用于接收端,所述方法包括:
29.发送私钥数据至发送端,并接收所述发送端根据所述私钥数据对初始数据进行加密处理得到的密文数据;
30.根据所述私钥数据将所述密文数据解密处理,以得到所述初始数据。
31.本发明实施例的数据加密方法至少具有如下有益效果:发送私钥数据至发送端,发送端根据私钥数据对初始数据进行加密处理得到密文数据。接收密文数据并根据私钥数据对密文数据进行解密处理,得到初始数据,能够通过低运算量和低复杂程度的解密方法提高加解密速度。
32.第三方面,本发明的一个实施例提供了数据加密装置,应用于发送端,包括:
33.获取模块,用于获取预发送的数据,以得到初始数据;
34.转换模块,用于根据预设转换规则将所述初始数据转换成连分数数据;
35.连分数模块,用于根据预设的连分数转换法则将所述连分数数据转换成第一分子数据和第一分母数据;
36.加密模块,用于接收接收端发送的私钥数据,根据所述私钥数据分别将所述第一
分子数据和所述第一分母数据进行置换加密处理,以得到密文数据。
37.本发明实施例的数据加密装置至少具有如下有益效果:转换模块根据预设转换规则将获取模块获取的初始数据转换为对应的连分数数据,连分数模块根据连分数转换法则将连分数数据转换成第一分子数据和第一分母数据。最后,加密模块根据私钥数据分别将第一分子数据和第一分母数据进行置换加密处理,以得到密文数据,能够通过低运算量和低复杂程度的加密方法提高加解密速度。
38.第四方面,本发明的一个实施例提供了数据加密装置,应用于接收端,所述装置包括:
39.交换模块,用于发送私钥数据至发送端,并接收所述发送端根据所述私钥数据对初始数据进行加密处理得到的密文数据;
40.解密模块,用于根据所述私钥数据将所述密文数据解密处理,以得到所述初始数据。
41.本发明实施例的数据加密装置至少具有如下有益效果:交换模块发送私钥数据至发送端,发送端根据私钥数据对初始数据进行加密处理得到密文数据。解密模块接收密文数据并根据私钥数据对密文数据进行解密处理,得到初始数据,能够通过低运算量和低复杂程度的解密方法提高加解密速度。
42.第五方面,本发明的一个实施例提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面或第二方面所述的数据加密方法。
43.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
附图说明
44.图1是本发明实施例中数据加密方法的一具体实施例流程示意图;
45.图2是图1中步骤s200的一具体实施例流程示意图;
46.图3是图1中步骤s200的另一具体实施例流程示意图;
47.图4是图1中步骤s300的一具体实施例流程示意图;
48.图5是图1中步骤s400的一具体实施例流程示意图;
49.图6是本发明实施例中数据加密方法的另一具体实施例流程示意图;
50.图7是本发明实施例中数据加密方法的另一具体实施例流程示意图;
51.图8是本发明实施例中数据加密装置的一具体实施例模块框图;
52.图9是本发明实施例中数据加密装置的另一具体实施例模块框图。
53.附图说明:
54.获取模块100、转换模块200、连分数模块300、加密模块400、交换模块500、解密模块600。
具体实施方式
55.以下将结合实施例对本发明的构思及产生的技术效果进行清楚、完整地描述,以
充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。
56.在为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
57.需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
58.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
59.在本发明实施例的描述中,如果涉及到“若干”,其含义是一个以上,如果涉及到“多个”,其含义是两个以上,如果涉及到“大于”、“小于”、“超过”,均应理解为不包括本数,如果涉及到“以上”、“以下”、“以内”,均应理解为包括本数。如果涉及到“第一”、“第二”,应当理解为用于区分技术特征,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
60.参照图1,示出了本发明实施例中数据加密方法的流程示意图。另外,本实施例公开了数据加密方法,应用于发送端,其具体包括但不限于包括步骤s100至步骤s400。
61.步骤s100,获取预发送的数据,以得到初始数据;
62.在步骤s100中,将想要发送的预发送数据发送至发送端,发送端获取预发送数据,以得到初始数据。
63.步骤s200,根据预设转换规则将初始数据转换成连分数数据;
64.在步骤s200中,根据初始数据类型的不同,根据预设转换规则分别对不同类型的初始数据进行相应的转换,得到连分数数据。
65.步骤s300,根据预设的连分数转换法则将连分数数据转换成第一分子数据和第一分母数据;
66.在步骤s300中,根据预设的连分数转换法则将连分数数据进行相应的转换计算,经过转换处理得到第一分子数据和第一分母数据。
67.步骤s400,接收接收端发送的私钥数据,根据私钥数据分别将第一分子数据和第一分母数据进行置换加密处理,以得到密文数据。
68.在步骤s400中,发送端接收接收端发送的私钥数据,并根据私钥数据分别将第一分子数据和第一分母数据进行置换处理,以实现对第一分子数据和第一分母数据的加密,得到密文数据。
69.需要说明的是,私钥数据是指用于进行置换处理的置换规则,由此得到,第一分子数据和第一分母数据根据置换规则进行置换处理。其中,置换处理是对第一分子数据和第一分母数据进行加密的处理方法。
70.通过执行步骤s100至步骤s400,发送端获取预发送数据,以得到初始数据。根据初始数据类型的不同,根据预设转换规则分别对不同类型的初始数据进行相应的转换,得到
连分数数据。根据预设的连分数转换法则将连分数数据进行相应的转换计算,经过转换处理得到第一分子数据和第一分母数据。发送端接收接收端发送的私钥数据,并根据私钥数据分别将第一分子数据和第一分母数据进行置换处理,以实现对第一分子数据和第一分母数据的加密,得到密文数据。
71.参照图2,示出了本发明实施例中数据加密方法的流程示意图。另外,本实施例公开了数据加密方法,其具体包括但不限于包括步骤s210至步骤s220。
72.步骤s210,根据预设转换规则将初始数据转换成对应的整数数据;
73.在步骤s210中,若初始数据包括字母数据或者符号数据,根据预设的转换规则将字母数据或符号数据转换为对应的整数数据。
74.需要说明的是,预设的转换规则为:设置一个字母数据或符号数据对应为一个整数数据,即每个字母数据或符号数据都有一个对应的整数数据,并且每个字母数据或符号数据对应的整数数据均是不相同的。在本技术不对预设的转换规则进行具体限定。
75.步骤s220,将整数数据按相应的排列顺序进行排序,以得到连分数数据。
76.在步骤s220中,将整数数据按初始数据的排列顺序进行对应排序,并得到连分数数据。
77.需要说明的是,初始数据在进行转换前,每个初始数据按相应的初始顺序排列。每个初始数据对应不同的整数数据,每个初始数据转换为对应的多个整数数据后,按初始顺序对多个整数数据进行排序,得到连分数数据。
78.例如:将字母数据或符号转换为整数数据的转换规则如表1所示:
79.表1
[0080][0081]
设需要传输的初始数据为:password is love,根据转换规则得到初始数据的连分数数据为:
[0082]
password is love

[0;16,1,19,19,23,15,18,4,27,9,19,27,12,15,22,5]。
[0083]
执行步骤s210至步骤s220,若初始数据包括字母数据或者符号数据,根据预设的转换规则将字母数据或符号数据转换为对应的整数数据,将整数数据按初始数据的排列顺序进行对应排序,并得到连分数数据。
[0084]
参照图3,示出了本发明实施例中数据加密方法的流程示意图。另外,本实施例公开了数据加密方法,其具体包括但不限于包括步骤s230至步骤s250。
[0085]
步骤s230,将预设个数的进制数据作为一个单元,并得到多个单元数据;
[0086]
在步骤s230中,若初始数据包括非十进制的进制数据,则将预设个数的进制数据设置为一个单元,得到多个单元数据。
[0087]
需要说明的是,不同进制的进制数据对应设置不同的预设个数。从初始数据的末
尾开始截取预设个数的进制数据设置为一个单元,得到多个单位数据。若最后剩下的进制数据不够预设个数,则将剩下的进制数据直接设置为一个单元,得到一个单位数据。或者在剩下的进制数据前进行补0,使剩下的进制数据的个数足够预设个数,再截取剩下的进制数据设置为一个单位,得到一个单位数据。在本技术不对如何设置对应预设个数和如何设置为一个单位进行具体限定。
[0088]
步骤s240,将多个单元数据根据预设转换规则转换成对应的多个十进制数据;
[0089]
在步骤s240中,根据预设转换规则将每个单元数据进行进制计算,将每个单元数据转换为对应的十进制数据。
[0090]
需要说明的是,若进制数据为全0数据,则将全0数据转换为进制的预设个数次方的数值。
[0091]
步骤s250,将多个十进制数据按相应的排列顺序进行排序,以得到连分数数据。
[0092]
在步骤s250中,将十进制数据按初始数据的排列顺序进行对应排序,并得到连分数数据。
[0093]
需要说明的是,截取预设个数的初始数据设置为一个单元后,得到多个单元数据和截取顺序,根据截取顺序将每个十进制数据进行对应排序,得到连分数数据。
[0094]
例如:进制数据为二进制数据,根据预设转换规则将每8个二进制数据设置为一个单位,并根据相应的二进制转换十进制方法编码,其中特别将8个0的二进制数据转换成256,可使得所有二进制数据转换为十进制数据:
[0095]
(00000000)2=0=256,
[0096]
(00000001)2=20=1,
[0097][0098]
(00101101)2=25+23+22+20=45,
[0099][0100]
(11111111)2=27+26+25+24+23+22+21+20=255.
[0101]
设二进制数据为:
[0102]
m=(01000100,10011010,00110100,00011110,10011101,00010011,00100111,...)
[0103]
经过转换后得到:m=(68,154,52,30,157,19,39,...)。
[0104]
执行步骤s230至步骤s250,若初始数据包括非十进制的进制数据,则将预设个数的进制数据设置为一个单元,得到多个单元数据。根据预设转换规则将每个单元数据进行进制计算,将每个单元数据转换为对应的十进制数据。将十进制数据按初始数据的排列顺序进行对应排序,并得到连分数数据。
[0105]
参照图4,示出了本发明实施例中数据加密方法的流程示意图。另外,本实施例公开了数据加密方法,其具体包括但不限于包括步骤s310至步骤s320。
[0106]
步骤s310,将连分数数据的每个元素根据欧基里德法则进行相应计算,以得到分数数据;
[0107]
在步骤s310中,将每个连分数数据的元素根据欧基里德法则进行逐一计算,得到分数数据。
[0108]
步骤s320,将分数数据进行分离处理,以得到第一分子数据和第一分母数据。
[0109]
在步骤s320中,分数数据由分子和分母组成,所以将分数数据的分子和分母进行分离,得到第一分子数据和第一分母数据。
[0110]
需要说明的是,根据欧基里德法则进行逐一计算,例如:连分数数据为:[q0;q1,q2,

,q
n-1
,qn]。连分数数据[q0;q1,q2,

,q
n-1
,qn]计算得到分数数据,并得到第一分子数据a及第一分母数据b,其计算方法如下:
[0111][0112]
执行步骤s310至步骤s320,将每个连分数数据的元素根据欧基里德法则进行逐一计算,得到分数数据,将分数数据的分子和分母进行分离,得到第一分子数据和第一分母数据。
[0113]
参照图5,示出了本发明实施例中数据加密方法的流程示意图。另外,本实施例公开了数据加密方法,其具体包括但不限于包括步骤s410至步骤s420。
[0114]
步骤s410,分别将第一分子数据和第一分母数据根据排列组合置换规则写入对应的置换块区,以得到第一置换块区和第二置换块区;
[0115]
在步骤s410中,若初始数据包括字母数据或者符号数据,根据排列组合置换规则分别将第一分子数据和第一分母数据写入对应的置换块区,得到分子的置换块区和分母的置换块区,即第一置换块区和第二置换块区。
[0116]
需要说明的是,结合图2的举例说明:设需要传输的初始数据为:password is love,根据转换规则得到初始数据的连分数数据为:
[0117]
password is love

[0;16,1,19,19,23,15,18,4,27,9,19,27,12,15,22,5]。
[0118]
则转换得到:且(a,b)=(23664701235253278,379299920999305726),其中a及b之长度分别为17及18个字符,根据排列组合置换规则设置n
×
m≤minlength(a,b)的置换区块进行排列组合置换处理,例如设置一个n
×
m=4
×
4《min(17,18)的置换块区。分别截取第一分子数据a及第一分母数据b的前16个十进制数据依序由第一至第四列写入在4
×
4第一置换块区和第二置换块区中。在本技术不对如何设置置换块区和如何写入第一分子数据或第一分母数据进行具体
限定。
[0119]
步骤s420,根据预设读取规则分别读取第一置换块区和第二置换块区,以得到密文数据。
[0120]
在步骤s420中,根据预设读取规则分别对第一置换块区和第二置换块区进行相应读取处理,使第一分子数据和第一分母数据完成置换处理,得到密文数据。
[0121]
需要说明的是,结合步骤s410的举例说明:根据预设读取规则分别对第一置换块区和第二置换块区进行读取,完成前16个十进制数据的排列组合置换,最后再将剩余数据代入完成所有数据的排列组合置换处理,得到密文数据。在本技术不对如何读取第一置换块区和第二置换块区进行具体限定。
[0122]
例如:第一分子数据分别根据如表2的写入顺序和读取顺序进行写入和读取,第一分母数据分别根据如表3的写入顺序和读取顺序进行写入和读取。表2和表3的写入顺序为:由表格第一行开始,从左向右写入。表2和表3的读取顺序为:由表格第一列开始,从上向下读取。
[0123]
表2
[0124][0125]
表3
[0126][0127]
其中,密文数据包括:第二分子数据a0和第二分母b0数据:
[0128]
b=379299920999305726

b0=390379909995229726;
[0129]
a=23664701235253278

a0=24253733605261278。
[0130]
在完成前面16个十进制数据的排列组合置换后,再将剩余字符代入完成排列组合置换工作。或者,设置从预设位置的十进制数据开始进行排列组合置换,即:从其他位置的十进制数据开始截取预设个数的十进制数据进行排列组合置换,能够增添不可预测性。在本技术不对如何截取预设个数的十进制数据进行具体限定。
[0131]
执行步骤s410至步骤s420,根据排列组合置换规则分别将第一分子数据和第一分母数据写入对应的置换块区,得到第一置换块区和第二置换块区。根据预设读取规则分别对第一置换块区和第二置换块区进行相应读取处理,使第一分子数据和第一分母数据完成
置换处理,得到密文数据。
[0132]
参照图6,示出了本发明实施例中数据加密方法的流程示意图。另外,本实施例公开了数据加密方法,其具体包括但不限于包括步骤s300至步骤s430。
[0133]
步骤s430,根据位置交换规则,将第一分子数据的元素和第一分母数据的元素进行位置交换,以得到密文数据。
[0134]
在步骤s430中,若初始数据包括非十进制的进制数据,根据位置交换规则得到进行位置交换的第一分子数据的元素和第一分母数据的元素,分别将第一分子数据的元素和第一分母数据的元素进行位置交换,得到密文数据。
[0135]
需要说明的是,结合图3的举例说明:设初始数据为二进制数据m:
[0136]
m=(01000100,10011010,00110100,00011110,10011101,00010011,00100111,...)
[0137]
经过转换后得到:m=(68,154,52,30,157,19,39,...)。
[0138]
所以得到:
[0139][0140]
(01000100,10011010,00110100,00011110,10011101,00010011,00100111)

(181946597,28023272670)=(a,b)。
[0141]
根据位置交换规则将第一分子数据的元素和第一分母数据的元素进行位置交换,例如:28023272670中由左起算第二个数据0和第三个数据2进行位置交换。简单的位置交换之后得到密文数据包括:第二分子数据a0:181946597及第二分母数据b0:28203272670,并得到:
[0142][0143]
其中,在本技术不对预设位置交换规则进行具体限定。
[0144]
参照图7,示出了本发明实施例中数据加密方法的流程示意图。另外,本实施例公开了数据加密方法,应用于接收端,其具体包括但不限于包括步骤s500至步骤s600。
[0145]
步骤s500,发送私钥数据至发送端,并接收发送端根据私钥数据对初始数据进行加密处理得到的密文数据;
[0146]
在步骤s500中,接收端将私钥数据发送至发送端,发送端根据私钥数据对初始数据进行加密得到密文数据,接收端接收发送端发送的密文数据。
[0147]
需要说明的是,私钥数据包括:排列组合置换规则和位置交换规则。若初始数据包括字母数据或符号数据,则私钥数据为排列组合置换规则;若初始数据包括非十进制的进制数据,则私钥数据为位置交换规则。
[0148]
步骤s600,根据私钥数据将密文数据解密处理,以得到初始数据。
[0149]
在步骤s600中,根据私钥数据对密文数据逐步进行对应的相反处理,即解密处理,得到初始数据。
[0150]
需要说明的是,首先根据私钥数据对密文数据进行解密,得到第一分子数据和第一分母数据。若初始数据包括字母数据或者符号数据,根据排列组合置换规则进行相反处理,将第二分子数据转换成第一分子数据,将第二分母数据转换成第一分母数据。若初始数
据包括非十进制的进制数据,根据位置交换规则进行相反处理,将第二分子数据转换成第一分子数据,将第二分母数据转换成第一分母数据。
[0151]
然后将第一分子数据和第一分母数据进行结合得到分子数据,再根据连分数转换法则进行反转换,得到连分数数据。
[0152]
如:设置第一分子数据a及第一分母数据b均为正整数,且a》b。根据连分数转换法则进行计算得到:
[0153]
a=bq0+r1,
[0154]
b=r1q1+r2,
[0155]
r1=r2q2+r3,
[0156]
r2=r3q3+r4,
[0157][0158]rn-2
=r
n-1qn-1
+rn,
[0159]rn-1
=r
nqn
+0.
[0160]
并根据上述结果进行转换计算得到:
[0161][0162]
并且得到:
[0163][0164]
或者:
[0165][0166]
得到的连分数数据q1,q2…qn-1
,qn中的元素均为正整数,若第一分子数据和第一分母数据为:a《b,连分数数据的第一个元素q0=0,若第一分子数据和第一分母数据为a》b,连分数数据的第一个元素为q0,且q0为正整数。
[0167]
最后根据预设转换规则将连分数数据进行反转换,得到初始数据。若初始数据包括字母数据或者符号数据,根据转换规则将连分数数据的元素转换为对应的字母数据或符号数据。若初始数据包括非十进制的进制数据,根据转换规则将连分数数据的元素转换为对应的进制数据。
[0168]
若初始数据包括字母数据或者符号数据,结合图5的举例:
[0169]
b=379299920999305726

b0=390379909995229726;
[0170]
a=23664701235253278

a0=24253733605261278。
[0171]
根据第二分子数据a0和第二分母数据b0得到:
[0172]
[0173]
说明若没有正确的排列组合置换规则解密后的解密文和原始信息天差地远,即:没有根据正确的私钥数据解密获得的解密文和原始信息天差地远。
[0174]
password is love vs.pjbdafaalbcaa?aecaacabge?
[0175]
若初始数据包括非十进制的进制数据,结合图6的举例:
[0176]
第一分子数据a:181946597和第一分母数据b:28023272670,第二分子数据a0:181946597和第二分母数据b0:28203272670,简单的排列组合置换之后传送181946597及28203272670,其结果可以被解密成另一组绝然不同之连分数:
[0177][0178][0179]
最后得到(155,117,2,1,2,48,4,1,132,6,...)为一组80个二元码序列,但(68,154,52,30,157,19,39,...)则为一组56个二元码序列,两个序列完全不同。
[0180]
说明将一个进制数据的位置进行位置交换,就可以达到隐藏初始数据的目的,可以保护初始数据,使初始数据很难被第三方破解,因此本连分数加排列组合置换或位置交换的编码技术,具有很高的保护性,可以被应用在公众网络上进行保密通信。
[0181]
通过执行步骤s500至步骤s600,接收端将私钥数据发送至发送端,发送端根据私钥数据对初始数据进行加密得到并发送密文数据。接收端接收发送端发送的密文数据,并根据私钥数据对密文数据逐步进行对应的解密处理,得到初始数据。
[0182]
需要说明的是,对于一个含有n(=a1a2…an
)个不同数据的初始数据,共有n
×
(n-1)
×…×2×
1=n!种不同排列方式。若设初始数据编成的第一分子数据a和第一分母数据b分别具有n和m个十进制数据,根据私钥数据进行加密处理后,任意的(a,b)

(a0,b0)两者之间的排列组合个数,仍然存在n!和m!种不同排列方式,但是十进制数据难免会有重复数据,因此能将密文数据解密为正确的初始数据的概率为:平均而言需进行n!m!次数才能破解得到密文数据。当n和m足够大时,通过公式计算得到破解概率为0,因此具有极高等级机密性。
[0183]
就计算机在评估运算量或复杂程度问题,根据输入n个数据依不同函数等级由易至难的程度排列如下:
[0184]
logn,n,n2,n3,

,2n,3n,

,n!,nn[0185]
由此可知,阶乘函数n!的运算量和复杂程度远高于指数函数,并且阶乘函数n!的运算量和复杂程度对比其他不同函数,也是高于很多函数的。
[0186]
例如:n=10,n=50及n=100,得到logn、n、nlogn、n2、2n和n!六个不同的函数运算量大小,如表4所示:
[0187]
表4
[0188][0189][0190]
若计算机做一次程序运算需要10-6
秒,执行上述函数所需要的时间如表5所示:
[0191]
表5
[0192][0193]
表5所示,当n=50时经过私钥数据进行加密,需要解密(a0,b0)

(a,b)的运算量为50!≈3
×
10
64
,属于天量等级,若计算机做一次程序运算需要10-6
秒,大概需要9.6
×
10
48
世纪年度时间的计算量才能完成解密(a0,b0)

(a,b),工作量远超过目前任何计算机。当n和m只要能足够大时,得到解密概率为:所以本加密及解密技术具有极高等级机密性。
[0194]
参照图8,本发明的另一个实施例公开了数据加密装置,数据加密装置为上述执行数据加密方法的发送端,数据加密装置包括:获取模块100、转换模块200、连分数模块300和加密模块400。获取模块100、转换模块200、连分数模块300和加密模块400均为通信连接。获取模块100,用于获取预发送的数据,以得到初始数据。转换模块200,用于根据预设转换规则将初始数据转换成连分数数据。连分数模块300,用于根据预设的连分数转换法则将连分数数据转换成第一分子数据和第一分母数据。加密模块400,用于接收接收端发送的私钥数据,根据私钥数据分别将第一分子数据和第一分母数据进行置换加密处理,以得到密文数据。
[0195]
获取模块100获取预发送数据,以得到初始数据。转换模块200根据初始数据类型的不同,根据预设转换规则分别对不同类型的初始数据进行相应的转换,得到连分数数据。连分数模块300根据预设的连分数转换法则将连分数数据进行相应的转换计算,经过转换处理得到第一分子数据和第一分母数据。发送端接收接收端发送的私钥数据,加密模块400根据私钥数据分别将第一分子数据和第一分母数据进行置换处理,以实现对第一分子数据
和第一分母数据的加密,得到密文数据。
[0196]
其中,数据加密装置的操作过程具体参照如上描述图1中的方法步骤s100至步骤s400、图2中的方法步骤s210和步骤s220、图3中的方法步骤s230至步骤s250、图4中的方法步骤s310和步骤s320、图5中的方法步骤s410和步骤s420以及图6中的方法步骤s300和步骤s430中的任意一个数据加密方法,此处不再赘述。
[0197]
参照图9,本发明的另一个实施例公开了数据加密装置,数据加密装置为上述执行数据加密方法的接收端,数据加密装置包括:交换模块500和解密模块600。交换模块500和解密模块600均为通信连接。交换模块500,用于发送私钥数据至发送端,并接收发送端根据私钥数据对初始数据进行加密处理得到的密文数据。解密模块600,用于根据私钥数据将密文数据解密处理,以得到初始数据。
[0198]
交换模块500将私钥数据发送至发送端,发送端根据私钥数据对初始数据进行加密得到并发送密文数据。接收端接收发送端发送的密文数据,解密模块600根据私钥数据对密文数据逐步进行对应的解密处理,得到初始数据。
[0199]
其中,数据加密装置的操作过程具体参照如上描述图7中的方法步骤s500和步骤s600的数据加密方法,此处不再赘述。
[0200]
本发明的另一个实施例公开了一种计算机可读存储介质,计算机可读存储介质包括:计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行图1中的方法步骤s100至步骤s400、图2中的方法步骤s210和步骤s220、图3中的方法步骤s230至步骤s250、图4中的方法步骤s310和步骤s320、图5中的方法步骤s410和步骤s420、图6中的方法步骤s300和步骤s430以及图7中的方法步骤s500和步骤s600中的任意一个数据加密方法。
[0201]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0202]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0203]
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1