[发明专利]一种实现DES密码加密的方法在审
| 申请号: | 201410354077.9 | 申请日: | 2014-07-24 |
| 公开(公告)号: | CN104092535A | 公开(公告)日: | 2014-10-08 |
| 发明(设计)人: | 蒋声障 | 申请(专利权)人: | 福建升腾资讯有限公司 |
| 主分类号: | H04L9/06 | 分类号: | H04L9/06 |
| 代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 王美花 |
| 地址: | 350000 福建省福州市仓山区金*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 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位,以L0和R0表示;
步骤4、用16个子密钥进行递推计算;
步骤5、对第16个子密钥的L16和R16进行IP-1变换得到密文数据,密文数据存在一密文寄存器M。
进一步地,所述步骤2具体为:步骤2.1、对密钥寄存器K进行PC-1变换,得到C0、D0;
步骤2.2、对C0、D0分别进行迭代循环移位,共操作16次,分别得到Ci、Di,其中1<=i<=16;
步骤2.3、分别对Ci、Di进行PC-2变换,得到Ki,其中1<=i<=16。
进一步地,所述步骤4具体为:16个子密钥进行i从1到16的如下循环操作,
Li=Ri-1;
Ri=Li-1+f(Ri-1,Ki);其中'+'表示异或操作,f(Ri-1,Ki)的计算如下:
对Ri-1进行E变换,得到Ei;
Ei与Ki异或运算,得到异或后的值Ai,Ai按顺序每6bit分为1组,得到8组数据,分别记为SIj,其中1<=j<=8;
分别对8组SIj进行S盒变换,得到S盒变化后的值SOj,并将SOj按顺序连接起来,得到32bit的位串SL;
对SL进行P变换,得到32位的F,f(Ri-1,Ki)即等于F。
进一步地,所述PC-1变换为:按照下表中关系,将对应的位串K的值赋给位串C0、D0
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建升腾资讯有限公司,未经福建升腾资讯有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410354077.9/2.html,转载请声明来源钻瓜专利网。





