加密方法及装置转让专利

申请号 : CN201010262382.7

文献号 : CN102377562B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程碧波

申请人 : 程碧波

摘要 :

本发明公开了一种加密方法及装置。其中,该加密方法包括:通过主密钥得到主密钥流;对所述主密钥流进行降熵;以及利用所述降熵之后的主密钥流对明文进行加密。通过本发明,能够提高加密安全性。

权利要求 :

1.一种加密方法,其特征在于,包括:通过主密钥得到主密钥流;

对所述主密钥流进行降熵;以及

利用所述降熵之后的主密钥流对明文进行加密,其中,所述方法还包括:

通过从密钥得到从密钥流,

在对所述主密钥流进行降熵和通过从密钥得到从密钥流之后,所述方法还包括:对所述主密钥流和所述从密钥流进行处理,得到第三密钥流,利用所述降熵之后的主密钥流对明文进行加密包括:利用所述第三密钥流对所述明文进行加密,其中,在利用所述降熵之后的主密钥流对明文进行加密之后,所述方法还包括:利用从密钥对所述加密之后的明文再次进行加密,其中,利用从密钥对所述加密之后的明文再次进行加密或利用所述第三密钥流对所述明文进行加密包括:在被加密的明文数据长度达到临界长度前,产生新主密钥和新从密钥;

所述新主密钥和所述新从密钥对所述主密钥和所述从密钥加密;以及发送所述加密后的所述主密钥和所述从密钥。

2.根据权利要求1所述的加密方法,其特征在于,对所述主密钥流和所述从密钥流进行处理,得到第三密钥流包括:对所述主密钥流和所述从密钥流进行异或运算。

3.根据权利要求1所述的加密方法,其特征在于,所述从密钥得到的所述从密钥流为伪随机密钥流。

4.根据权利要求1所述的加密方法,其特征在于,利用从密钥对所述加密之后的明文再次进行加密或利用所述第三密钥流对所述明文进行加密包括:在所述主密钥和所述从密钥加密的明文数据长度达到临界长度后,启用所述新主密钥和所述新从密钥进行加密。

5.根据权利要求4所述的加密方法,其特征在于,用从密钥对所述加密之后的明文再次进行加密或利用所述第三密钥流对所述明文进行加密包括:为所述主密钥流和所述从密钥流加密的明文数据设定所述临界长度。

6.根据权利要求1所述的加密方法,其特征在于,利用所述第三密钥流对所述明文进行加密包括:所述主密钥流为单向函数值的密钥流。

7.一种加密装置,其特征在于,包括:第一处理模块,用于通过主密钥得到主密钥流;

降熵模块,用于对所述主密钥流进行降熵;

加密模块,用于利用所述降熵之后的主密钥流对明文进行加密,其中,所述加密装置还包括:

得到模块,用于通过从密钥得到从密钥流,第二处理模块,用于在对所述主密钥流进行降熵和通过从密钥得到从密钥流之后,对所述主密钥流和所述从密钥流进行处理,得到第三密钥流,其中,所述加密模块用于利用所述第三密钥流对所述明文进行加密,以及利用从密钥对所述加密之后的明文再次进行加密,其中,所述加密模块包括:

产生子模块,用于在被加密的明文数据长度达到临界长度前,产生新主密钥和新从密钥;

加密子模块,用于通过所述新主密钥和所述新从密钥对所述主密钥和所述从密钥加密;以及发送子模块,用于发送所述加密后的所述主密钥和所述从密钥。

说明书 :

加密方法及装置

技术领域

[0001] 本发明涉及一种加密方法及装置。

背景技术

[0002] 加密有实际安全性和理论安全性。实际安全性求助于算法复杂性,取决于破解者的计算能力和时间,其在理论上并不安全。理论安全性与破解者的计算能力和时间无关,其任何努力都不会优于随机地选择来碰运气。所以真正安全的加密方法,乃是理论安全性的加密方法。若不求诸加密的算法复杂性,则随着破解者获取密文及明文信息增多,密钥被破解的可能性增大。
[0003] 现在的加密方法重点在于实际安全性,且重点在求诸算法复杂性来加密,例如RSA。其它一些加密法试图采用随机密钥。公理化信息论认为,在一个完备的古典密码体制中,密钥的熵不小于关于明文的熵,也不小于关于密文的熵。这意味着在古典密码体制下,若密码体系理论安全,则密钥拥有的字符数量至少与明文的一样多。在20世纪20年代,人们很自然地认为应当采取随机密钥。香农的以上研究结果公布之后,特别是1974年Chaitin的研究成果公布后,所有使用算法产生随机序列的作法不得不停止了。因为这意味着,密钥除了加密传输同样长度的随机新密钥外,再做不了其它事情。在现代加密体制下,密钥的熵仍然不应小于明文的熵,也不应小于密文的熵,导致一个密钥能传送的明文安全长度受限。当然在弱加密条件下,一个密钥能传送的明文安全长度可以是很长的,例如LFSR流加密。现代主流的随机加密方法,往往是一个静态密钥对随机密钥加密传输,然后随机密钥对明文加密传输。例如WPA加密方法使用了随机更换密钥的单包密钥加密。单包密钥即每个加密包的密钥随机生成,但随机生成的密钥通过使用静态密钥的经典加密方法传输。这种方法在强加密条件下破解者事实上可消除随机性。因为破解者若获得随机密钥的密文、加密的明文和密文,就可能破解出静态密钥,从而破解整个加密体系。事实上,采用所谓的安全信道传输随机密钥,则安全信道本身就又面临理论安全性的挑战。这必然影响到随机密钥本身的安全性。
[0004] 针对相关技术中的加密方法安全性不够高的问题,目前尚未提出有效的解决方案。

发明内容

[0005] 针对相关技术中的加密方法安全性不够高的问题而提出本发明,为此,本发明的主要目的在于提供一种加密方法及装置,以解决上述问题。
[0006] 为了实现上述目的,根据本发明的一个方面,提供了一种加密方法。
[0007] 根据本发明的加密方法包括:通过主密钥得到主密钥流;对所述主密钥流进行降熵;以及利用所述降熵之后的主密钥流对明文进行加密。
[0008] 进一步地,上述方法还包括:通过从密钥得到从密钥流,在对主密钥流进行降熵和通过从密钥得到从密钥流之后,方法还包括:对主密钥流和从密钥流进行处理,得到第三密钥流,利用降熵之后的主密钥流对明文进行加密包括:利用第三密钥流对明文进行加密。
[0009] 进一步地,对主密钥流和从密钥流进行处理,得到第三密钥流包括:对主密钥流和从密钥流进行异或运算。
[0010] 进一步地,从密钥得到的从密钥流为伪随机密钥流。
[0011] 进一步地,在利用降熵之后的主密钥流对明文进行加密之后,方法还包括:利用从密钥对加密之后的明文再次进行加密。
[0012] 进一步地,利用从密钥对加密之后的明文再次进行加密或利用第三密钥流对明文进行加密包括:在被加密的明文数据长度达到临界长度前,产生新主密钥和新从密钥;新主密钥和新从密钥对主密钥和从密钥加密;以及发送加密后的主密钥和从密钥。
[0013] 进一步地,利用从密钥对加密之后的明文再次进行加密或利用第三密钥流对明文进行加密包括:在主密钥和从密钥加密的明文数据长度达到临界长度后,启用新主密钥和新从密钥进行加密。
[0014] 进一步地,对从密钥对加密之后的明文再次进行加密或利用第三密钥流对明文进行加密包括:为主密钥流和从密钥流加密的明文数据设定临界长度。
[0015] 进一步地,利用第三密钥流对明文进行加密包括:主密钥流为单向函数值的密钥流。
[0016] 为了实现上述目的,根据本发明的另一方面,提供了一种加密装置。该加密装置包括:第一处理模块,用于通过主密钥得到主密钥流;降熵模块,用于对所述主密钥流进行降熵;加密模块,用于利用所述降熵之后的主密钥流对明文进行加密。
[0017] 通过本发明,采用通过主密钥得到主密钥流;对所述主密钥流进行降熵;以及利用所述降熵之后的主密钥流对明文进行加密,解决了相关技术中的加密方法安全性不够高的问题,进而达到了提高加密安全性的效果。

附图说明

[0018] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明第一实施例的加密方法的流程图;
[0020] 图2是根据本发明第二实施例的加密方法的流程图;
[0021] 图3是根据本发明实施例的加密装置的示意图。

具体实施方式

[0022] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0023] 图1是根据本发明第一实施例的加密方法的流程图。
[0024] 如图1所示,该方法包括如下的步骤S102至步骤S104:
[0025] 步骤S102,通过主密钥得到主密钥流。
[0026] 步骤S104,对主密钥流进行降熵。以及
[0027] 步骤S106,利用降熵之后的主密钥流对明文进行加密。
[0028] 在该实施例中,通过将主密钥流降熵形成不可逆单向函数值的密钥流,然后与明文共同作用,例如降熵后的主密钥流对明文加密形成密文,然后掩盖掉降熵后主密钥流的低熵特征,防止破解者找到低熵算法可逆计算出能替代主密钥的伪钥,形成最终密文。并根据熵差计算主密钥流能安全加密的明文临界长度。主密钥和从密钥加密的明文数据长度达到临界长度前,系统真实随机产生新主密钥和新从密钥,被旧主密钥和旧从密钥加密后传输给对方,对方解密后保留新主密钥和新从密钥。主密钥和从密钥加密的明文数据长度达到临界长度后,通信双方自动启用新主密钥和新从密钥加密和解密之后的数据。然后循环继续以上过程。
[0029] 优选地,上述方法还可以包括:通过从密钥得到从密钥流(或称作次密钥流),其中,在对主密钥流进行降熵和通过从密钥得到从密钥流之后,上述方法还包括:对主密钥流和从密钥流进行处理,得到第三密钥流,在利用降熵之后的主密钥流对明文进行加密包括:利用第三密钥流对明文进行加密。
[0030] 在该实施例中,通过将主密钥降熵形成不可逆单向函数值的主密钥流,从密钥形成伪随机密钥流,然后与明文共同作用,例如降熵后的主密钥流先对明文加密形成初始密文,然后从密钥流再对初始密文加密形成最终密文,掩盖掉主密钥流的低熵特征,防止破解者找到低熵算法可逆计算出能替代主密钥的伪钥,形成最终密文。;也可以降熵后的主密钥流与从密钥流直接合成第三密钥流,然后第三密钥流对明文加密,并根据熵差计算主密钥流能安全加密的明文临界长度。主密钥和从密钥加密的明文数据长度达到临界长度前,系统真实随机产生新主密钥和新从密钥,被旧主密钥和旧从密钥加密后传输给对方,对方解密后保留新主密钥和新从密钥。主密钥和从密钥加密的明文数据长度达到临界长度后,通信双方自动启用新主密钥和新从密钥加密和解密之后的数据。然后循环继续以上过程。
[0031] 在对主密钥流和从密钥流进行处理,得到第三密钥流时,可以采用对主密钥流和从密钥流进行异或运算的方法来得到。
[0032] 在利用第三密钥流对明文进行加密利用从密钥对经过主密钥加密之后的明文再次进行加密时,加密过程包括:在被加密的明文数据长度达到临界长度前,产生新主密钥和新从密钥,新主密钥和新从密钥被主密钥和从密钥加密;发送加密后的主密钥和从密钥。
[0033] 在利用降熵之后的主密钥流对明文进行加密之后,上述方法还包括:利用从密钥对加密之后的明文再次进行加密。
[0034] 优选地,利用第三密钥流对明文进行加密或利用从密钥对经过主密钥加密之后的明文再次进行加密包括:在主密钥和从密钥加密的明文数据长度达到临界长度后,启用新主密钥和新从密钥进行加密。在该实施例中,通过启用新主密钥和新从密钥,可以使得在旧主密钥和旧从密钥加密的明文长度超过临界长度后,明文长度的过多会弥补被降的熵值,致使旧主密钥和旧从密钥被破解。所以必须在加密的明文数据长度达到临界长度时启用新主密钥和新从密钥。
[0035] 优选地,利用第三密钥流对明文进行加密或利用从密钥对经过主密钥加密之后的明文再次进行加密包括:为主密钥流和从密钥流加密的明文数据设定临界长度。通过对密钥流降熵,可以获得加密的临界长度,使得被加密的明文长度在临界长度内时,明文和密文信息不足以弥补被降的熵值,破解者不能破解密钥。
[0036] 优选地,利用第三密钥流对明文进行加密或利用从密钥对经过主密钥加密之后的明文再次进行加密包括:主密钥流为单向函数值的密钥流。
[0037] 优选地,从密钥得到的从密钥流为伪随机密钥流,此时,通过主密钥降熵来获得可加密的明文临界长度,通过从密钥的伪随机掩码来掩盖低熵数据流的低熵算法特征,在主密钥和从密钥加密的数据超过临界长度之前真随机更换新主密钥和从密钥,以使得任何时候被加密的数据都处于主密钥和从密钥的临界长度内,确保破解者搜集再多的密文和明文,都无法突破密钥的临界长度,从而无法破解密钥。
[0038] 图2是根据本发明第二实施例的加密方法的流程图。如图2所示,该方法包括以下步骤:
[0039] 步骤S201,将主密钥降熵形成不可逆单向函数值的主密钥流,然后用密钥流对明文加密。但在强加密假定下,破解者可将获得的密文和明文数据次数增大,就可构建大型方程组来弥补熵差,可逆计算出主密钥。根据熵差可计算破解者破解主密钥需要搜集的明文和密文数据平均次数,再根据每次加密的明文长度即可计算破解主密钥需要搜集的明文和密文数据长度。将此数据长度减去一合理容裕量,即为主密钥能安全加密的明文临界长度。
[0040] 步骤S202,将从密钥生成伪随机密钥流,对主密钥加密的初始密文再次加密为最终密文,掩盖掉初始密文的低熵特征,防止破解者找到低熵算法可逆计算出能替代主密钥的伪钥。
[0041] 步骤S203,解密者接到最终密文后,首先用从密钥的伪随机流对最终密文解密为初始密文,再用主密钥依照加密程序同样降熵形成不可逆单向函数值的密钥流,然后用密钥流对初始密文解密,即得明文。
[0042] 在本发明中,主密钥降熵形成的不可逆单向函数的密钥流,也可直接与从密钥生成的伪随机密钥流作用(例如异或),合成第三密钥流,然后用第三密钥流对明文加密或对密文解密。
[0043] 主密钥和从密钥加密的明文数据长度达到临界长度前,系统真实随机产生新主密钥和新从密钥,被旧主密钥和旧从密钥加密后传输给对方,对方解密后保留新主密钥和新从密钥。
[0044] 主密钥和从密钥加密的明文数据长度达到临界长度后,通信双方自动启用新主密钥和新从密钥加密和解密之后的数据。继续循环执行上述的步骤S201。
[0045] 现在列举一个简单示例:
[0046] 假定4位密钥K为1111,则其经过LFSR变换后可产生4×(24-1)位周期的伪随机序列:
[0047] AK=1111|0111|0011|0001|1000|0100|0010|1001|1100|0110|1011|0101|1010|1101|1110
[0048] 先进行降熵,将每4位的后2位与前2位异或,然后截掉后2位,得:
[0049] DK=00|10|11|01|10|01|10|11|11|11|01|00|00|10|01
[0050] 非常幸运的是,降熵后的新序列竟然没有产生短周期。当然我们不能指望每次都这么幸运。
[0051] 现在建立4位屏蔽密钥M为0101,其经过LFSR变换后可产生4×(24-1)位周期的伪随机序列。这个序列比DK要长一倍,但不会浪费,可以用一个M配合两个K来使用。
[0052] AM=0101|1010|1101|1110|1111|0111|0011|0001|1000|0100|0010|1001|1100|0110|1011
[0053] 将DK与AM后30位异或,得合成第三密钥序列:
[0054] E=010011001001000110000101100010
[0055] 若此时明文为:P=ABC,其二进制编码为:01000001|01000010|01000011[0056] 将E与P尾端对齐后取异或值,得密文为:
[0057] C=01100101|00100011|00100001
[0058] 由此获得了最终密文C。
[0059] 解密者获得最终密文C后,用密钥K和屏蔽密钥M依照加密同样的算法生成合成第三密钥序列:
[0060] E=010011001001000110000101100010
[0061] 然后将第三密钥序列E与最终密文C异或,即可得明文:
[0062] P=01000001|01000010|01000011
[0063] 4位密钥K可用于加密 位明文。若令容裕度为1/2,则4位密钥K可用于加密 位,此即临界长度。故在此期间加密方应生成新随机密钥和屏蔽密钥加密后发送给对方,当加密数据达到临界长度时,双方软件设置共同更换新密钥进行密码通讯。
[0064] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0065] 图3是根据本发明实施例的加密装置的示意图。
[0066] 如图3所示,该加密装置包括第一处理模块302、降熵模块304和加密模块306。
[0067] 其中,第一处理模块302用于通过主密钥得到主密钥流,例如可以采用LFSR加密硬件模块来进行处理;降熵模块304用于对主密钥流进行降熵;加密模块306用于利用降熵之后的主密钥流对明文进行加密。
[0068] 从以上的描述中,可以看出,本发明实现了如下技术效果:
[0069] 1,在强加密条件下,本发明的加密方法具有理论安全性,也就是说,本加密算法可对破解者公开,破解者可任意拿明文给本加密方法加密并获得相应的密文,也可以任意拿密文给本加密方法破解并获得相应的明文,破解本加密方法与破解者的计算能力和时间无关。
[0070] 2,每个密钥可生成较长的密钥流,因此可加密的明文数据量很大,所以通过真随机数来产生并更换密钥所耗费的资源影响大为减小。而现有的其它多数真随机密钥因为一次一密,使得真随机数耗费的资源大幅上升。
[0071] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0072] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化,例如将本算法的某几个步骤合并到一步中,或将本算法的某一步骤分散到几步中,或调整本算法各个步骤的先后次序。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。