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,同样由存储单元中给出,依次到第十六个解密密钥。即从第一个周期至第十六个周期每个周期产生一个加密密钥,依次存放在存储单元中,从第十六个周期开始,从存储单元中倒序输出,即从第十六 ...
【技术保护点】
一种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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。