资源描述:
《基于一次密钥的des数据加密算法优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于一次密钥的DES数据加密算法优化房祥超(曲阜师范大学,信息技术传播学院,山东日照,276800)摘要:论文介绍了关于DES算法的一些研究情况,分析了DES了算法的加密原理以及实现过程,通过内容分析,简单介绍了DES算法的几种改进方案,通过分析它的加密过程以及几种改进方案,进而提出了自己的一个改进思想即一次密钥的加密方案,通过这个方案为DES算法的优化作一个参考.关键词:DES算法一次密钥加密原理算法优化1.引言随着计算机技术的发展,计算机网络也得到了长足的发展,比如电子商务,网络产品经营管理等,同时,由于计算机网络在传输中缺乏足够的安全性,网络上的信息在传输过程中随时都受到被窃听,篡
2、改等的威胁,为了保证网络数据传输的安全性,DES数据加密算法应运而生。DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。作为数据加密标准形式的DES数据加密算法虽然有许多年的历史,但是仍在数据加密领域占据着重要地位,并且被各个领域广泛采用,包括ATM柜员机,收费站以及银行身份验证等领域.加密过程如图1所示密钥解密算法加密算法密文明文图1.数据加密过程DES是一个分组加密算法,它以64位为分组对数据进行加密,同时它也是一种对称数据加密算法:加密和解密使用同一个密钥.它的密钥长度为64位,其中56位为有效数据位,另外8位为奇
3、偶校验位.虽然其中有几个弱密钥,但是由于数量少,所以很容易避开它们。2.DES算法的加密过程DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,由于是64位分组加密,所以首先要对数据进行分组,分组完成后要对64位数据进行IP置换.下表为IP置换表:58,50,42,34,26,18,10,260,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,
4、63,55,47,39,31,23,15,7表1.ip置换表所谓的置换就是根据表格里的数据记录的位置进行换位,比如原来数据中的第58位换成第一位,原来的50位换成第二位.置换完成后文本分成左右两部分,每部分32位,分别记为:Li,Ri(1<=i<=16),然后对Ri进行F(Ri,Ki)操作,F函数是算法的核心部分.即需要输入64位密钥参与算法进行数据加密,置换后的右部分即Ri进行扩展置换,把原来的32位数据扩展至48位,同时输入的64位密钥去掉校验位,剩下的56位密钥经过移位和置换压缩操作得到48位子密钥,子密钥和前面的48位R0进行异或操作,完成后进行S盒置换,通过S盒置换压缩后Ri变
5、成32位,置换完成后进行P盒简单置换,最后和Li进行异或操作,变成新的Ri+1,同时Ri变成Li+1.如图1所示图1.DES加密核心过程(F函数)此F函数需要经过16迭代操作,完成后进行最终置换,形成密文数据。DES加密过程密钥是其中加密的关键,算法的安全性依赖于密钥,而实际的加密过程中并不是直接使用密钥,而是通过16次迭代运行形成16个48位子密钥,下面将介绍子密钥的生成过程。3.子密钥生成从图1中我们可以看到:初始Key值为64位,但DES算法规定,其中第8、16、......64位是奇偶校验位,不参与DES运算。故Key实际可用位数便只有56位。即:经过缩小选择换位表1的变换后,K
6、ey的位数由64位变成了56位,此56位分为C0、D0两部分,各28位,然后分别进行第1次循环左移,得到C1、D1,将C1(28位)、D1(28位)合并得到56位,再经过缩小置换操作,从而便得到了密钥K0(48位)。依此类推,便可得到K1、K2、......、K15。4.DES算法的缺陷多年来,DES算法一直作为数据加密标准被应用于许多行业各种数据的保护,但随着计算机性能的提升,它的缺陷也日益显露出来。(1)DES算法的密钥长度过短,只有56位数据有效位,现在计算机的运行速度已经可以使用穷举攻击来破译密码,并且花费的时间并不是很多,例如,1997年1月28日,美国的RSA数据安全公司悬赏
7、1000美金破译DES的56位密钥,其目的是调查internet上的分布式计算能力,并测试密钥长度为56位的DES算法的相对强度,美国程序员Vesor在internet上万名自愿者的帮助下花费96天成功破译了DES密钥,Vesor说:”对于一个坚定的攻击者来说,56位密钥已经不再安全了,”后来随着计算机速度的提升,仅用几个小时就可以破译,所以用DES来保护很长时间的数据已经是不可行的。(2)DES加密算法不能很好的抵抗选择明文攻击,