3DES加密技术的新探讨与改进
2016-07-09王煜

【 摘 要 】 文章介绍了DES及3DES的补位加密方法,并指出二者在密文以及密钥加密方面存在的密钥长度过短和容易被选择明文攻击等方面的不足。通过代码设计,文章给出了三种改进的补位加密方法:分组乱序、密钥自身乱序以及插入补位法。通过分析三种方法的优缺点,文章提出了优化方案,并将该方案作为实际应用3DES加密时的参考。
【 关键词 】 DES/3DES算法;数据补位;数据加密
【 中图分类号 】 TP392
【 文献标识码 】 A
【 Abstract 】 This paper introduces the DES and 3DES encryption method and points out that the key length is too short and easy to be chosen in the cipher text and key encryption in two aspects. Through the code design, the paper gives three kinds of improved encryption methods: packet scrambling, key self disorder and insertion. Through the analysis of the advantages and disadvantages of the three methods, the paper puts forward the optimization scheme, and as a reference for the practical application of 3DES encryption.
【 Keywords 】 des/ 3des algorithm; data mending; data encryption
1 引言
DES(Data Encryption Standard)是针对64位数据的分组加密算法,每八位为一组,最高位为奇偶校验码即实际加密时有效密码为56位[1]。DES加密时采用数据补位的方法:将数据按照八个字节为一组进行加密,不足八字节的部分用PKSC5Padding方法进行补足然后加密,最后将所有的分组结合在一起即为密文[2]。类似于数据补位,很多软件也利用DES算法进行密码加密,即用户在输入密码后不足八字节的部分系统将自动填充进行加密。
3DES (Triple DES)是针对DES密码长度过短,安全性略低而改进的算法,其核心是进行三次DES加密,方法为C=Ek3(Dk2(Ek1(P)))[3]。如果三个部分的密码互不相等(k1!=k2!=k3),那么密码长度将会是168位,安全性将会大大增强。如果要用3DES设置密码,则需要24字节的密码长度。如果设置的密码长度过长,比如设置了一个12位密码,那么DES运算次数就会减少,甚至会直接减少一大步DES加密运算,这样3DES的安全性便会降低。很多人给出了DES的改进方法,比如S盒重构以及多重DES[1]。但是由于改变了DES算法中唯一的非线性变化的S盒,安全性无从可知;并且N重DES会使得加密变得拖沓,不太符合实际需要[1]。……
