一种DES加解密密钥生成器及密钥生成方法技术

技术编号:15695095 阅读:164 留言:0更新日期:2017-06-24 10:28
本发明专利技术公开了一种DES加解密密钥生成器及密钥生成方法。本发明专利技术包括控制单元、计算单元和输出寄存器单元;其中,控制单元,用于控制DES加解密密钥生成器内的状态机的状态跳转;加密过程中,计算单元根据当前的状态信息及其对应的密钥值、循环左移相对值计算每一周期的轮密钥和循环左移绝对值存入到输出寄存器单元,以及根据输出寄存器单元的值计算当前生成的轮密钥并输出;解密过程中,计算单元根据当前的状态信息及其对应的循环左移绝对值计算每一周期的循环右移相对值存入到输出寄存器单元,并根据输出寄存器单元的值计算对应周期的解密密钥值并输出。本发明专利技术不需要额外的存储单元存储密钥,同时将需要的逻辑单元化简到更少。

DES encryption and decryption key generator and key generation method

The invention discloses a DES encryption and decryption key generator and a cipher key generation method. The invention comprises a control unit, a calculating unit and an output register unit; the control unit is used to control the state of the state machine jump DES encryption key generator inside; encryption process, calculation unit according to the state information and the corresponding key current value, circle left relative value was calculated for each cycle and cycle round key the absolute value of output into the left shift register unit, and the calculation of the current generation of round key and output according to the output value of the register unit; the decryption process, calculation unit according to the current state of information and the corresponding left circle absolute value calculation cyclic shifts of each cycle relative to the output value stored in the register unit, and according to the output register unit value calculation of the decryption key and the output value of the corresponding period. The invention does not require additional storage units to store keys, while simplifying the required logical units to less.

【技术实现步骤摘要】
一种DES加解密密钥生成器及密钥生成方法
本专利技术涉及一种DES的加解密密钥生成器及密钥生成方法,属于信息安全

技术介绍
DES全称为DataEncryptionStandard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。目前,基于DES算法的加密与解密硬件仍广泛应用于卫星通信、网关服务器、机顶盒、视频传输以及其他大量的数据传输业务中。然而,随着密码分析技术的不断发展,DES算法已被攻破,网络安全面临威胁。而在沿用原有应用系统方面,3-DES算法有很大的生存空间,通过增加密钥长度提高加密强度,被大量用来替换已经不安全的DES算法。无论是DES、2DES或者3DES在使用过程中都需要密钥生成器。传统的密钥生成器包括控制单元、计算单元、存储单元、输出寄存器单元,如图1所示。实现方法如图2所示,为加密时,从第一个周期开始每个周期输出一个此轮加密需要的轮密钥;而当解密时,依次使用16个加密轮密钥k1-k16的倒叙即k16-k1,但是,由于算法计算过程,要先计算出k1,存入存储单元,由k1再计算出k2,再存入另一个存储单元,依次递推,计算出k16,用作第一个解密时使用的轮密钥,第二个解密密钥为k15,由存储单元存储的值中取出,第三个解密密钥是k14,同样由存储单元中给出,依次到第十六个解密密钥。即从第一个周期至第十六个周期每个周期产生一个加密密钥,依次存放在存储单元中,从第十六个周期开始,从存储单元中倒序输出,即从第十六个至第三十二个周期每个周期输出一个此轮解密需要的轮密钥。此方法在存储密钥时需要15个48比特的寄存器或者存储单元来存储密钥,且产生并使用解密密钥时总共需要32个周期。
技术实现思路
针对现有技术中存在的DES加解密密钥生成器所需周期数及存储单元多的问题,提出了一种DES加解密密钥生成器及密钥生成方法,本专利技术可以将加密密钥生成过程与解密密钥生成过程结合起来,根据加解密标志信号来判断属于加密运算还是解密运算后,利用化简的结果,当需要解密密钥时,不再需要16个48比特的存储单元,同时将计算解密时的周期数减少了16个周期。本专利技术的技术方案为:一种DES加解密密钥生成器,其特征在于,包括控制单元、计算单元和输出寄存器单元;控制单元分别与计算单元、输出寄存器连接,计算单元与输出寄存器单元连接;其中,控制单元,用于控制DES加解密密钥生成器内的状态机的状态跳转;该状态机分为17个状态,分别为状态0到状态16,每一状态对应一周期;状态0时为等待状态,当密钥有效时控制该状态机每个周期进行一次跳转并将状态信息发送给计算单元;计算单元,包括一加解密密钥生成表,其包括状态字段、密钥值字段、循环左移相对值字段、循环左移绝对值字段、解密密钥值字段和循环右移相对值字段;加密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的密钥值、循环左移相对值计算每一周期的轮密钥和循环左移绝对值,存入到输出寄存器单元,以及根据输出寄存器单元的值计算当前生成的轮密钥并输出到加解密密钥生成表的密钥值字段;解密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的循环左移绝对值计算每一周期的循环右移相对值,存入到输出寄存器单元,并根据输出寄存器单元的值计算对应周期的解密密钥值并输出到加解密密钥生成表的解密密钥值字段;输出寄存器单元,用于对每个周期生成的循环左移/右移绝对值进行存储。进一步的,所述计算单元包括按位置换矩阵PC-1、按位置换矩阵PC-2,用于完成循环左移或循环右移操作生成轮密钥或解密密钥值;其中,按位置换矩阵PC-1只对初始密钥进行操作。进一步的,该加解密密钥生成表的状态字段的状态值包括状态1~状态16;其中,加密过程,状态1、2、9、16对应的循环左移相对值为1,其余状态对应的循环左移相对值为2;状态1对应的密钥值为初始密钥值;解密过程,状态1对应的循环右移相对值为0,状态2、9、16对应的循环右移相对值为1,其余状态对应的循环右移相对值为2。进一步的,所述输出寄存器单元包括两个28位的数据寄存器C、D。一种DES加解密密钥生成器的密钥生成方法,其步骤为:1)在DES加解密密钥生成器内设置一加解密密钥生成表,包括状态字段、密钥值字段、循环左移相对值字段、循环左移绝对值字段、解密密钥值字段和循环右移相对值字段;其中,该DES加解密密钥生成器内的状态机分为17个状态,分别为状态0到状态16,每一状态对应一周期,状态0时为等待状态;2)当密钥有效时,控制单元控制该状态机每个周期进行一次跳转,并将状态信息发送给计算单元;3)加密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的密钥值、循环左移相对值计算每一周期的轮密钥和循环左移绝对值,存入到输出寄存器单元,根据输出寄存器单元的值计算当前生成的轮密钥并输出到加解密密钥生成表的密钥值字段;解密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的循环左移绝对值计算每一周期的循环右移相对值,存入到输出寄存器单一,并根据输出寄存器单元的值计算对应周期的解密密钥值并输出到加解密密钥生成表的解密密钥值字段;4)输出寄存器单元对每个周期生成的循环左移/右移值进行存储。本专利技术的核心内容是密钥生成的优化方法,下面结合表格进一步介绍本专利技术的内容。表1给出加解密的密钥生成过程。其方法如图3所示,在加密过程中依次使用密钥值k1-k16,这16个密钥值的得出可以从表1的第三列循环左移的相对值得出,同时在第4列,计算出循环左移的绝对值。由于密钥值由2个28位的数据构成,因此循环左移绝对值为28位时,即为原值。对于加密过程,第二列的密钥值(即轮密钥)属于在线计算,计算好的当前的轮密钥,直接输出到输出寄存器(即不用存储),用于其它模块(加密模块)计算使用。在解密过程中,使用的第一轮到第十六轮解密密钥分别为k16-k1,由于密钥的使用顺序与加密时相反,因此希望可以先求出k16,依次类推,最后求出k1,这样每次使用密钥后,即可丢弃而不需要存储,节省了面积。使用的方法是直接由初始密钥输入值直接求得k16,由第四列可知,k16为循环左移的绝对值为28,由于密钥值就是28位,循环左移28位就是原值,即解密过程中使用的第一个密钥k16为原始值,接着求取第二个,由第四列的循环左移绝对值为27,可知k15为原始输入循环左移绝对值27,或者循环右移1位得到,即k16的值相对循环右移1位得到,k14的循环左移绝对值为25,也就等价于循环右移绝对值3位,即由K15的值相对循环右移2位得到。依次类推,可以从k16的循环左移绝对值得出相对上一个解密轮密钥的循环右移次数,每经过一个周期得出一个即将使用解密密钥。最后一列正序为解密时,从第一个迭代周期开始,相对上一个周期的输出,需要循环右移的相对值。总之,如表1所示,加密时每个周期相对循环左移的位数,每个解密时每个周期相对循环右移的位数。在加密过程中有循环左移相对值有1位和2位两种情况,在解密过程中有循环右移相对值0位、1位以及2位的情况。由于二者的相似度极高,因此,密钥生成器只需要一个本文档来自技高网
...
一种DES加解密密钥生成器及密钥生成方法

【技术保护点】
一种DES加解密密钥生成器,其特征在于,包括控制单元、计算单元和输出寄存器单元;控制单元分别与计算单元、输出寄存器连接,计算单元与输出寄存器单元连接;其中,控制单元,用于控制DES加解密密钥生成器内的状态机的状态跳转;该状态机分为17个状态,分别为状态0到状态16,每一状态对应一周期;状态0时为等待状态,当密钥有效时控制该状态机每个周期进行一次跳转并将状态信息发送给计算单元;计算单元,包括一加解密密钥生成表,其包括状态字段、密钥值字段、循环左移相对值字段、循环左移绝对值字段、解密密钥值字段和循环右移相对值字段;加密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的密钥值、循环左移相对值计算每一周期的轮密钥和循环左移绝对值,存入到输出寄存器单元,以及根据输出寄存器单元的值计算当前生成的轮密钥并输出到加解密密钥生成表的密钥值字段;解密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的循环左移绝对值计算每一周期的循环右移相对值,存入到输出寄存器单元,并根据输出寄存器单元的值计算对应周期的解密密钥值并输出到加解密密钥生成表的解密密钥值字段;输出寄存器单元,用于对每个周期生成的循环左移/右移绝对值进行存储。...

【技术特征摘要】
1.一种DES加解密密钥生成器,其特征在于,包括控制单元、计算单元和输出寄存器单元;控制单元分别与计算单元、输出寄存器连接,计算单元与输出寄存器单元连接;其中,控制单元,用于控制DES加解密密钥生成器内的状态机的状态跳转;该状态机分为17个状态,分别为状态0到状态16,每一状态对应一周期;状态0时为等待状态,当密钥有效时控制该状态机每个周期进行一次跳转并将状态信息发送给计算单元;计算单元,包括一加解密密钥生成表,其包括状态字段、密钥值字段、循环左移相对值字段、循环左移绝对值字段、解密密钥值字段和循环右移相对值字段;加密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的密钥值、循环左移相对值计算每一周期的轮密钥和循环左移绝对值,存入到输出寄存器单元,以及根据输出寄存器单元的值计算当前生成的轮密钥并输出到加解密密钥生成表的密钥值字段;解密过程中,计算单元根据当前的状态信息和该状态在加解密密钥生成表中对应的循环左移绝对值计算每一周期的循环右移相对值,存入到输出寄存器单元,并根据输出寄存器单元的值计算对应周期的解密密钥值并输出到加解密密钥生成表的解密密钥值字段;输出寄存器单元,用于对每个周期生成的循环左移/右移绝对值进行存储。2.如权利要求1所述的DES加解密密钥生成器,其特征在于,所述计算单元包括按位置换矩阵PC-1、按位置换矩阵PC-2,用于完成循环左移或循环右移操作生成轮密钥或解密密钥值;其中,按位置换矩阵PC-1只对初始密钥进行操作。3.如权利要求1或2所述的DES加解密密钥生成器,其特征在于,该加解密密钥生成表的状态字段的状态值包括状态1~状态16;其中,加密过程,状态1、2、9、16对应的循环左移相对值为1,其余状态对应的循环左移相对值为2;状态1对应的密钥值为初始密钥值;解密过程,状态1对应的循环右移相对值为0,状态2、9、16对应的循环右移相对值为1,其余状态对应的循环...

【专利技术属性】
技术研发人员:张锐张倩周永彬丁天
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1