加密方法和装置制造方法

文档序号:7772393阅读:86来源:国知局
加密方法和装置制造方法
【专利摘要】本发明公开了一种加密方法和装置。其中,加密方法包括选择密钥编号;读取与密钥编号对应的主密钥的结构信息,其中,主密钥的结构信息包括主密钥中未被使用密钥的初始起始位置和长度;比较未被使用密钥的长度与明文的长度的大小;在比较出未被使用密钥的长度大于或等于明文的长度的情况下,从未被使用密钥中选择子密钥;以及利用子密钥加密明文,得到密文,其中,密文中包括子密钥的结构信息。通过本发明,解决了现有技术中加密方法安全性不够高的问题,进而达到了在强加密条件下,本发明的加密方法具有理论安全性、不可破解的效果。
【专利说明】加密方法和装置
【技术领域】
[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]图1是根据本发明实施例的加密方法的流程图;以及
[0019]图2是根据本发明实施例的加密装置的示意图。
【具体实施方式】
[0020]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。[0021]本发明实施例提供了一种加密方法,以下对本发明实施例所提供的加密方法进行具体介绍:
[0022]图1是根据本发明实施例的加密方法的流程图,如图1所示,该实施例的加密方法包括如下步骤SlOl至步骤S105:
[0023]SlOl:选择密钥编号;
[0024]S102:读取与密钥编号对应的主密钥的结构信息,其中,主密钥的结构信息包括主密钥中未被使用密钥的初始起始位置和长度;
[0025]S103:比较未被使用密钥的长度与明文的长度的大小;
[0026]S104:在比较出未被使用密钥的长度大于或等于明文的长度的情况下,从未被使用密钥中选择子密钥;以及
[0027]S105:利用子密钥加密明文,得到密文,其中,密文中包括子密钥的结构信息
[0028]本发明实施例所提供的加密方法,通过从未被使用密钥中选择子密钥对明文进行加密,解决了现有技术中加密方法安全性不够高的问题,进而达到了在强加密条件下,本发明的加密方法具有理论安全性、不可破解的效果。
[0029]进一步地,本发明实施例的加密方法可以细化为如下具体步骤:
[0030]将加密解密程序和密钥置于计算机的硬件加密狗中。
[0031]一个加密狗中可以有多个主密钥。每个主密钥长度大于被加密的明文长度。主密钥的结构包括主密钥编号、主密钥中已被使用的字节长度、剩余字节长度信息。这些结构信息可以存储在加密狗的任何地方。
[0032]加密时,根据密文要发送的对象,选择主密钥编号。
[0033]根据主密钥编号,根据主密钥的结构信息,选择主密钥,读取已被使用的字节长度数据。
[0034]以已被使用的字节长度为起始点,从主密钥中顺序截取等于明文长度的子密钥字节,对明文进行异或等方式加密。即,所选择的子密钥的字节长度与明文的字节长度相等,相应地,在对明文进行加密时,通过对子密钥和明文进行逻辑运算,得到密文。
[0035]进一步地,子密钥的结构信息包括主密钥的编号、子密钥的起始位置和结束位置。子密钥的结构信息为密文的密文头。即,将主密钥编码、子密钥在主密钥的起始位置、子密钥在主密钥的结束位置信息放置在密文指定位置。
[0036]更进一步地,在利用子密钥加密明文,得到密文之后,本发明实施例的加密方法还包括:更新未被使用密钥的起始位置,其中,若子密钥顺序选取,则更新后的未被使用密钥的起始位置为与初始起始位置间隔第一长度的位置,第一长度为明文的长度,即,将主密钥结构信息中已被使用的字节长度,加上明文长度,作为主密钥结构信息中已被使用的字节长度新值。
[0037]此外,在比较出未被使用密钥的长度小于明文的长度的情况下,本发明实施例的加密方法还包括:更新与密钥编号对应的主密钥的内容;或重新选择密钥编号。在本发明实施例中,加密狗中的主密钥只可写,不可读。可以根据指定编号,通过写入方式,更新此编号下的主密钥内容。当某编号的主密钥中未被使用的字节长度低于某一预先设定的数值时,加密狗提示更换此编号的主密钥。
[0038]进一步地,加密主密钥与解密主密钥的编码和密钥主体内容完全相同。[0039]接收对象接收到密文后,在电脑上插入加密狗,读取密文指定位置的主密钥编号、子密钥在主密钥中的起始位置、结束位置。根据主密钥编号在接收对象的加密狗中查找到相应的主密钥,根据子密钥的初始位置、结束位置信息,在此主密钥中截取出子密钥,然后用此子密钥对密文进行异或等方式解密。
[0040]现在列举一个简单示例:
[0041]若加密者与解密者的加密狗中事先输入同一编号的主密钥。主密钥为随机数:
[0042]1001010110001001001011010111010010010010.[0043]若主密钥的编号为2,最初在加密者的加密狗中存储格式为:
[0044]0010 I 0000 I 010111001010110001001001011010111010010010010.[0045]上面的数据中,第一格为主密钥的编号2,第2格为主密钥中已被使用的字节长度0,第3格为主密钥中未被使用的字节长度5,第4格为主密钥主体内容。
[0046]最初在解密者的加密狗中存储格式为:
[0047]0010 I 1001010110001001001011010111010010010010.[0048]上面的数据中,第一格为主密钥的编号2,第2格为主密钥主体内容。
[0049]现在加密者要向解密者发送信息,明文为:11101111。
[0050]加密者根据解密 者的编号,选取加密编号2。加密狗根据编号2,选择编号为2的主密钥。
[0051]读取编号为2的主密钥中第二格数据,获得主密钥中已被使用的字节长度0,从主密钥的0位置开始,截取一个字节(明文长度)的子密钥10010101。将第三格数据减I,改为0100。
[0052]将子密钥与明文异或,得到密文主体:01111010
[0053]加密狗将主密钥编号、子密钥在主密钥中的起始位置、结束位置信息作为密文头,为:
[0054]0010 I 0000 I 00011 01111010.[0055]当解密者获得密文后,从密文头获得主密钥编号2,获得子密钥起始位置0,结束位置1,然后从编号2的主密钥中截取初始位置O、结束位置I的子密钥,为10010101。
[0056]解密者的加密狗将子密钥与密文异或,获得解密文:11101111。
[0057]如果加密者要继续加密其它内容,流程如上。
[0058]本发明实施例还提供了一种加密装置,该加密装置主要用于执行本发明实施例上述内容所提供的任意一种加密方法,以下本发明实施例的加密装置进行具体介绍:
[0059]图2是根据本发明实施例的加密装置的示意图,如图2所示,该实施例的加密装置主要包括第一选择单元10、读取单元20、比较单元30、第二选择单元40和加密单元50。具体地:
[0060]第一选择单元10用于选择密钥编号;
[0061]读取单元20用于读取与密钥编号对应的主密钥的结构信息,其中,主密钥的结构信息包括主密钥中未被使用密钥的初始起始位置和长度;
[0062]比较单元30用于比较未被使用密钥的长度与明文的长度的大小;
[0063]第二选择单元40用于在比较单元比较出未被使用密钥的长度大于或等于明文的长度的情况下,从未被使用密钥中选择子密钥;以及[0064]加密单元50用于利用子密钥加密明文,得到密文,其中,密文中包括子密钥的结构信息。
[0065]在本发明实施例所提供的加密装置中,可以将加密解密程序和密钥置于计算机的硬件加密狗中。一个加密狗中可以有多个主密钥。每个主密钥长度大于被加密的明文长度。主密钥的结构包括主密钥编号、主密钥中已被使用的字节长度、剩余字节长度信息。这些结构信息可以存储在加密狗的任何地方。加密时,根据密文要发送的对象,选择主密钥编号。根据主密钥编号,根据主密钥的结构信息,选择主密钥,读取已被使用的字节长度数据。以已被使用的字节长度为起始点,从主密钥中顺序截取等于明文长度的子密钥字节,对明文进行异或等方式加密。即,所选择的子密钥的字节长度与明文的字节长度相等,相应地,在对明文进行加密时,通过对子密钥和明文进行逻辑运算,得到密文。
[0066]本发明实施例所提供的加密装置,通过从未被使用密钥中选择子密钥对明文进行加密,解决了现有技术中加密方法安全性不够高的问题,进而达到了在强加密条件下,本发明的加密方法具有理论安全性、不可破解的效果。
[0067]进一步地,本发明实施例所提供的加密装置还包括:第一更新单元,用于更新与密钥编号对应的主密钥的内容,其中,在比较单元比较出未被使用密钥的长度小于明文的长度的情况下,第一更新单元更新与密钥编号对应的主密钥的内容或第一选择单元重新选择密钥编号。
[0068]在本发明实施例中,加密狗中的主密钥只可写,不可读。可以根据指定编号,通过写入方式,更新此编号下的主密钥内容。当某编号的主密钥中未被使用的字节长度低于某一预先设定的数值时,加密狗提示更换此编号的主密钥。
[0069]此外,本发明实施例所提供的加密装置还包括:第二更新单元,用于更新未被使用密钥的起始位置,其中,若子密钥顺序选取,则更新后的未被使用密钥的起始位置为与初始起始位置间隔第一长度的位置,第一长度为明文的长度。即,将主密钥结构信息中已被使用的字节长度,加上明文长度,作为主密钥结构信息中已被使用的字节长度新值。
[0070]从以上的描述中,可以看出,本发明实现了如下技术效果:
[0071]在强加密条件下,本发明实施例的加密方法和加密装置具有理论安全性,也就是说,本加密算法可对破解者公开,破解者可任意拿明文给本加密方法加密并获得相应的密文,也可以任意拿密文给本加密方法破解并获得相应的明文,破解本加密方法与破解者的计算能力和时间无关。本发明实施例的加密方法和加密装置,是采用与明文等长的密钥进行加密。这种方法已经被证明是不可破解的加密方法。
[0072]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0073]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。[0074]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种加密方法,其特征在于,包括: 选择密钥编号; 读取与所述密钥编号对应的主密钥的结构信息,其中,所述主密钥的结构信息包括所述主密钥中未被使用密钥的初始起始位置和长度; 比较所述未被使用密钥的长度与明文的长度的大小; 在比较出所述未被使用密钥的长度大于或等于所述明文的长度的情况下,从所述未被使用密钥中选择子密钥;以及 利用所述子密钥加密所述明文,得到密文,其中,所述密文中包括所述子密钥的结构信肩、O
2.根据权利要求1所述的加密方法,其特征在于,所述子密钥的字节长度与所述明文的字节长度相等。
3.根据权利要求1所述的加密方法,其特征在于,所述子密钥的结构信息包括所述主密钥的编号、所述子密钥的起始位置和结束位置。
4.根据权利要求1所述的加密方法,其特征在于,所述子密钥的结构信息为所述密文的密文头。
5.根据权利要求1所述的加密方法,其特征在于,在比较出所述未被使用密钥的长度小于所述明文的长度的情况下,所述加密方法还包括: 更新与所述密钥编号对应的主密钥的内容;或 重新选择所述密钥编号。
6.根据权利要求1所述的加密方法,其特征在于,在利用所述子密钥加密所述明文,得到密文之后,所述加密方法还包括: 更新所述未被使用密钥的起始位置,其中,若所述子密钥顺序选取,则更新后的所述未被使用密钥的起始位置为与所述初始起始位置间隔第一长度的位置,所述第一长度为所述明文的长度。
7.一种加密装置,其特征在于,包括: 第一选择单兀,用于选择密钥编号; 读取单元,用于读取与所述密钥编号对应的主密钥的结构信息,其中,所述主密钥的结构信息包括所述主密钥中未被使用密钥的初始起始位置和长度; 比较单元,用于比较所述未被使用密钥的长度与明文的长度的大小; 第二选择单元,用于在所述比较单元比较出所述未被使用密钥的长度大于或等于所述明文的长度的情况下,从所述未被使用密钥中选择子密钥;以及 加密单元,用于利用所述子密钥加密所述明文,得到密文,其中,所述密文中包括所述子密钥的结构信息。
8.根据权利要求7所述的加密装置,其特征在于,所述加密装置还包括: 第一更新单元,用于更新与所述密钥编号对应的主密钥的内容, 其中,在所述比较单元比较出所述未被使用密钥的长度小于所述明文的长度的情况下,所述第一更新单元更新与所述密钥编号对应的主密钥的内容或所述第一选择单元重新选择所述密钥编号。
9.根据权利要求7所述的加密装置,其特征在于,所述加密装置还包括:第二更新单元,用于更新所述未被使用密钥的起始位置,其中,若所述子密钥顺序选取,则更新后的所述未被使用密钥的起始位置为与所述初始起始位置间隔第一长度的位置,所述第一长度为所述明 文的长度。
【文档编号】H04L9/06GK103501220SQ201310456331
【公开日】2014年1月8日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】程碧波 申请人:程碧波
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1