一种实现DES密码加密的方法技术

技术编号:10512140 阅读:158 留言:0更新日期:2014-10-08 13:29
本发明专利技术提供一种实现DES密码加密的方法,所述方法为:1、将待加密的64bit数据存储在一数据寄存器T,密钥数据存储在一密钥寄存器K;2、将密钥数据生成16个子密钥;3、对存储在数据寄存器T中的64bit数据进行IP变换,被分成左右两半部分,每个部分32位,以L0和R0表示;4、用16个子密钥进行递推计算;5、对第16个子密钥的L16和R16进行IP-1变换得到密文数据,密文数据存在一密文寄存器M。本发明专利技术通过建立新的等价变换表、寻找变换规律、等价调整变换表的顺序三种思路,使DES算法实现更简洁,速度更快,所需内存空间减少,而代码量没有明显增加,大大提高了软件性能。

【技术实现步骤摘要】
-种实现DES密码加密的方法
本专利技术涉及安全信息
,尤其涉及一种实现DES密码加密的方法。
技术介绍
在DES(3DES)算法等金融安全相关领域,虽然所需运行时间不多,所需内存不 多,但进一步加快计算速度,减少占用的内存资源,对软件性能提高大有帮助,从而可以间 隔地可以提高产品性能。尤其是数据量大,计算次数多的场合,效果更是明显。而现有的 DES(3DES)算法的计算速度并未有提高的方法。 现有技术中公开了一种数据加密标准或三重数据加密标准的实现方法,见公 开号为1527531,【公开日】为:2004-09-08的中国专利,所述方法经过初始置换的64比特 (bits)明文在每个迭代单元与不同子密钥进行迭代运算后,再经过初始置换的逆变换生 成64bits的密文,其特征在于该方法还包括:a.预先计算并存储迭代运算所需的一个以 上子密钥,并设定每个迭代单元与每个子密钥之间的对应关系;b.在一个时钟周期内完成 一个以上迭代单元的迭代运算,且在每次迭代运算之前,根据步骤a所设定的对应关系确 定当前所要使用的子密钥,然后在每个迭代单元中将初始置换后的64bits明文与所确定 的子密钥进行迭代运算。该方法不仅使数据加密速度大大提高,提供了足够的加密吞吐量 用来满足数据通信对流量的要求,而且提高了 DES或3DES加/解密算法的安全性。该发 明的技术方法与本申请文件不同,本申请是通过建立新的等价变换表、寻找变换规律、等价 调整变换表的顺序三种思路,使DES算法实现更简洁,速度更快。
技术实现思路
本专利技术要解决的技术问题,在于提供一种实现DES密码加密的方法,使DES算法实 现更简洁,速度更快,所需内存空间减少,而代码量没有明显增加,大大提高了软件性能。 本专利技术是这样实现的:一种实现DES密码加密的方法,包括如下步骤: 步骤1、将待加密的64bit数据存储在一数据寄存器T,密钥数据存储在一密钥寄 存器K; 步骤2、将密钥数据生成16个子密钥; 步骤3、对存储在数据寄存器T中的64bit数据进行IP变换,被分成左右两半部 分,每个部分32位,以L。和R。表不; 步骤4、用16个子密钥进行递推计算; 步骤5、对第16个子密钥的L16和R16进行IP-1变换得到密文数据,密文数据存在 一密文寄存器M。 进一步地,所述步骤2具体为:步骤2. 1、对密钥寄存器K进行PC-1变换,得到Q、 〇〇 ; 步骤2.2、对Q、%分别进行迭代循环移位,共操作16次,分别得到C^Di,其中1〈 =i< = 16 ; 步骤2. 3、分别对CpDi进行PC-2变换,得到I,其中1〈 = i〈 = 16。 进一步地,所述步骤4具体为:16个子密钥进行i从1到16的如下循环操作, Lj = Rj-1 ; 氏=LH+f (Rh, Kj ;其中'+'表示异或操作,f (Rh, D的计算如下: 对Rg进行E变换,得到Ei ; Ei与Ki异或运算,得到异或后的值八141按顺序每6bit分为1组,得到8组数据, 分别记为Slj,其中1〈 = j〈 = 8 ; 分别对8组S^_进行S盒变换,得到S盒变化后的值SOp并将S(^_按顺序连接起 来,得到32bit的位串SL ; 对SL进行P变换,得到32位的F,f(RH,Ki)即等于F。 进一步地,所述PC-1变换为:按照下表中关系,将对应的位串K的值赋给位串Q、 D〇 其中,CQ、DQ的长度均为28BIT 本文档来自技高网...
一种实现DES密码加密的方法

【技术保护点】
一种实现DES密码加密的方法,其特征在于,包括如下步骤:步骤1、将待加密的64bit数据存储在一数据寄存器T,密钥数据存储在一密钥寄存器K;步骤2、将密钥数据生成16个子密钥;步骤3、对存储在数据寄存器T中的64bit数据进行IP变换,被分成左右两半部分,每个部分32位,以L0和R0表示;步骤4、用16个子密钥进行递推计算;步骤5、对第16个子密钥的L16和R16进行IP‑1变换得到密文数据,密文数据存在一密文寄存器M。

【技术特征摘要】
1. 一种实现DES密码加密的方法,其特征在于,包括如下步骤: 步骤1、将待加密的64bit数据存储在一数据寄存器T,密钥数据存储在一密钥寄存器 K ; 步骤2、将密钥数据生成16个子密钥; 步骤3、对存储在数据寄存器T中的64bit数据进行IP变换,被分成左右两半部分,每 个部分32位,以U和&表示; 步骤4、用16个子密钥进行递推计算; 步骤5、对第16个子密钥的L16和R16进行IP-1变换得到密文数据,密文数据存在一密 文寄存器M。2. 根据权利要求1所述的一种实现DES密码加密的方法,其特征在于: 所述步骤2具体为:步骤2. 1、对密钥寄存器K进行PC-1变换,得到Q、% ; 步骤2. 2、对分别进行迭代循环移位,共操作16次,分别得到C^Di,其中1〈 = i〈 =16 ; 步骤2. 3、分别对CpDi进行PC-2变换,得到I,其中1〈 = i〈 = 16。3. 根据权利要求2所述的一种实现DES密码加密的方法,其特征在于: 所述步骤4具体为:16个子密钥进行i从1到16的如下循环操作, Q = R「1 ; 氏=LH+fO^ig ;其中'+'表示异或操作,fO^ig的计算如下: 对Rh进行E变换,得到Ei ; Ei与&异或运算,得到异或后的值化,化按顺序每6bit分为1组,得到8组数据,分别 记为Slj,其中1〈 = j〈 = 8 ; 分别对8组S^_进行S盒变换,得到S盒变化后的值SCV并将S(^_按顺序连接起来,得 至lj 32bit的位串SL ; 对SL进行P变换,得到32位的F,fd,IQ即等于F。4. 根据权利要求2所述的一种实现DES密码加密的方法,其特征在于:所述PC-1变换 为:按照下表中关系,将对应的位串K的值赋给位串Q、% 其中,的长度均为28BIT从变换表中可发现规律,即密钥每个字节的BIT1依次组成Q的第1个字节, K每个字节的BIT2依次组成Q的第2个字节; K每个字节的BIT3依次组成Q的第3个字节; K前4个字节的BIT4依次组成Q的半字节; K后4个字节的BIT4依次组成%的半字节; K每个字节的BIT5依次组成%的第1字节; K每个字节的BIT6依次组成%的第2字节; K每个字节的BIT7依次组成%的第3字节;依此规律,则可通过位运算进行实现。5.根据权利要求2所述的一种实现DES密码加密的方法,其特征在于: 所述循环移位为:将得到,根据以下移位的表格,进行移位得到CpDi ;其中i为大 于等于1,小于等于16的整数,其中Q由Ch根据下表移位数...

【专利技术属性】
技术研发人员:蒋声障
申请(专利权)人:福建升腾资讯有限公司
类型:发明
国别省市:福建;35

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

1