APP下载

DES算法原理与改进

2018-12-22杨丽娜齐鲁工业大学信息学院

数码世界 2018年3期
关键词:明文密钥比特

杨丽娜 齐鲁工业大学信息学院

引言

随着现代计算机的飞速发展,网络安全等问题的出现给广大用户带来了较大的影响。在过去的时间里,DES是主流的密码,但是因为它的密钥空间太小,已经被进行了攻击。所以我们在其存在的问题上进行改进,使DES算法的功能更加强大。

1 DES加密过程

DES是对称密码,即加解密采用同样的密钥,密钥长度为64比特,8比特是奇偶校验位,所以有用长度为56比特。DES对明文中每一个分组的加密过程都包括16轮,且每一轮都相同。过程如下:

1.初始置换IP(X)。将64位的明文x进行初始置换IP 后,此明文会被分成两部分,L0代表左半部分,R0代表右半部分。在初始置换过程中并没有增加DES的安全性。

2.密钥生成。1.首先输入64位密钥,密钥分别记为1-64。从64位当中选择56位作为有效密钥。2.将所得56位密钥进行置换并分别生成C0和D0两部分。3. 每轮进行迭代时,Ci-1和Di-1分别循环左移一位或者两位,具体规则是:在第i=1,2,9,16轮中,左右两部分向左移动一位;在其他轮中,向左移动两位。4.对移位后产生值再做一次置换。以上便生成了一个48位的密钥。

3.加密过程。将初始置换IP产生的32位的左右两部分做为下一部分的输入。从 到 L0 到 L16,R0到 R16 共进行 的16次加密变换 。经过 i次变化后的左 、右 32比特分别为 Li和 Ri。Li和 Ri计算公式为:Li=Ri-1,Ri=Li-1XORf(Ri-,ki)。( 注:K是第二步中的密钥; f是以 Ri-1和 K 为变量输出的由S盒置换构成 的 32比特函数.)

4.逆初始置换。进行16轮加密变化之后,将L16和R6进行逆置换,最终得到64位密文。加密过程完成。

2 DES算法的不足

2.1 密钥空间

DES密钥空间过小,密钥长度是56位,利用穷尽搜索就可以轻易得破解标准的DES。在2006年,一个研究小组基于商业集成电路构建了COPACBANA.使破解DES的时间平均不到7天。总之,它的空间大小已经不足以保证当今数据的安全。

2.2 弱密钥

在DES算法中有12个半弱密钥和4个弱密钥。子密钥的生成过程中,密钥被分解了两个部分,若这两个部分是全0或全1,那每轮生产的子密钥都一样。当密钥全0或全1时,或者一半时1或0时,就会产生弱密钥或半弱密钥[3]。

2.3 S-盒

S-盒是DES的核心,是唯一非线性的。它的安全强度影响DES安全。

3 DES算法改进

3.1 X-DES

X-DES中的X是指密钥个数是不确定的。在加密时手动输入密钥的长度,达到了一次一密的结果。只要添加密钥的位数,就会使破解的难度成指数增加,对于将要进行攻击的攻击者来说根本不知道密钥的长度,这样就会使穷举的时间增长。

密钥分为两种,一种是默认的密钥,另一种是随机密钥[3]。随机密钥有(X-1)*64位。加密时用户输入随机密钥个数n,程序进行(n+1)次加密(其中有一个密钥是固定的)。

3.2 S-盒的优化

S-盒是DES的核心。对S-盒的结构进行优化,让S-盒的顺序能够跟着密钥情况的不同进行变化,如果该系统密钥位是未知的,那系统就很难被攻击。特别是能有效地避免对差分密码的破密。这使DES加密算法更安全。

4 总结

本文介绍了DES算法和对DES做出的改进。在当今社会中,DES算法已经被广泛的应用,所以对DES算法进行改进具有重要意义。

[1] Christof Paar,Jan Pelzl.深入浅出密码学.清华大学出版社,2012.

[2] 张春晖.DES算法原理及改进.电脑知识与技术.2009.vol.5

[3] CSDN.DES算法缺陷和改进.2006.12

[4] 冯登园.网络安全原理与技术.北京:科学出版社,2003.

猜你喜欢

明文密钥比特
幻中邂逅之金色密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
创建KDS根密钥
奇怪的处罚
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元
奇怪的处罚