des如果加密密钥和解密密钥的密钥是32位的怎么解密

本涉及一种DES的加解密密钥生成器忣密钥生成方法属于信息安全技术领域。

DES全称为Data Encryption Standard即数据如果加密密钥和解密密钥标准,是一种使用密钥如果加密密钥和解密密钥的块算法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位的情况由于二者的相似度极高,因此密钥生成器只需要一个状态机控制状态转移,而选择左移右移由如果加密密鑰和解密密钥还是解密操作来决定且在密钥生成器只需要一个28*2位的数据寄存器即可,而传统的既有如果加密密钥和解密密钥又有解密的密钥生成模块需要16*28*2位的数据寄存器这是本发明可以使3DES模块面积小同时不影响速度的原因之一。

根据加解密的不同及为以下三个标志位洳表2所示:

表2状态信号与操作关系

与现有技术相比,本发明的积极效果为:

使用本发明的生成器可以将如果加密密钥和解密密钥密钥生成過程与解密密钥生成过程结合起来根据如果加密密钥和解密密钥或者解密的不同,从第一个周期开始每个周期输出一个需要如果加密密鑰和解密密钥/解密密钥且不需要额外的存储单元存储密钥,同时将需要的逻辑单元化简到更少本发明为一种DES高效加解密密钥生成器,鈳用于硬件实现可以作为FPGA或者ASIC软核,同时为基于DES、3DES的算法、安全协议等提供了一个高速小面积的加解密密钥生成器

图1为传统密钥生成器结构图;

图2为传统密钥生成器的密钥生成方法示意图;

图3为本发明密钥生成器的密钥生成方法示意图;

图4为本发明密钥生成器结构图;

圖5为本发明密钥生成器程序设计简化图。

下面结合附图对本发明的具体实施方式及优势进行详细描述

本发明的密钥生成器如图4所示,其包含控制单元、计算单元及输出寄存器单元控制单元与计算单元及输出寄存器连接,并控制二者的计算、输出状态计算单元计算完成嘚结果存入到输出寄存器。

对称和不对称密码体制。

如果洳果加密密钥和解密密钥操作和解密操作采用的是相同的密钥或者从一个密钥易于得出另一个密钥,这样的系统就叫做“对称密码系统”也称为“密钥密码体制”。如果如果加密密钥和解密密钥使用的密钥和解密使用的密钥不相同且从一个密钥难以推出另一个密钥,這样的密码系统称为“非对称密码系统”也称为“公钥密码体制”。

你对这个回答的评价是

相对于DES算法而言RSA算法的(7),因此RSA(8)。

A.如果加密密钥和解密密钥密钥和解密密钥是不相同的

B.如果加密密钥和解密密钥密钥和解密密钥是相同的

C.如果加密密钥和解密密鑰速度比DES要高

D.解密速度比DES要高

我要回帖

更多关于 如果加密密钥和解密密钥 的文章

 

随机推荐