首页 / 算法 / 逆向算法--对称算法之DES
逆向算法--对称算法之DES
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了逆向算法--对称算法之DES,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3006字,纯文字阅读大概需要5分钟。
内容图文
![逆向算法--对称算法之DES](/upload/InfoBanner/zyjiaocheng/855/2eb74832c65b49b8a30ce3721ae123d4.jpg)
DES算法分析
标签(空格分隔): Reverse Crypto
DES简介
- DES是一种分组对称加密,明文长度64位,密钥长度64位(8的倍数位为校验位,所以有效56位),通过等分,移位,选取与迭代完成加密,加密大体流程:
- 生成密钥
- 加密密钥
注意,以下大部分的内容都是以位(bit)为单位,注意其与字节(BYTE)的区别
密钥生成主要流程
-
取得密钥64位,去除8的倍数位,剩余56位作为有效输入密钥
-
将密钥按照一个填充表T1填入A,B两个部分,每个部分28个Byte,现在我们得到了A[0][28]与B[0][28]
-
密钥按照移位表T2的规则进行16次移位(T2决定移位次数),每次移位结果作为下一次移位的输出,现在我们得到了A[16][28]与B[16][28](一共有16个子密钥组,不包括0,即原先的密钥)(A[i][28]为A[i?1][28]向左移位T2[i?1],B同理)
-
将16次迭代的密钥合并(A[i][28]B[i][28]合并,得到16个子密钥),之后按照选取表T3每组密钥选取48位数据,共得到16组48位密钥K[16][48],此时,密钥生成部分完成
明文加密主要流程
-
对明文分为每组64位的多组,最后一组如果不满64位补足64位
-
取一组数据开始加密,按照置换表T4的规则进行置换(T4[i]表示将原先第plaintext[T4[i]]的数据放在第i位)
-
进行16轮运算,每轮运算定义如下:
-
将置换完的数据按照扩展表T5的规则进行扩展,扩展为64位(T5[i]表示将原先第plaintext[T5[i]]的数据放在第i位,不过T5长度大于64,所以部分数据出现多次),分为左右两部分L[i][32]与R[i][32]
-
将R[i][32]按照扩展表T6规则扩展为48位,记为E(R[i][32]),将E(R[i][32])逐位与K[i][48]进行易或
-
将2的结果分为8份6位数据,B[8][6],将B[i][6]从二进制转换为10进制(假设为d),最大为64,将这个十进制数作为索引取替换表T7[i][d]的元素(T7中为0-f的数据,所以应当为4位),再将其级联可以得到8*4=32个数据的B′
-
将3中形成的B′按照交换表T8交换,得到C[i][32],将C[i][32]与L[i][32]按位异或后得到32位数据赋给R[i+1][32],并将R[i][32](本轮处理前的)赋给L[i+1][32]
-
进入下一轮循环
-
-
对于解密过程,与加密完全相同,不过需要将读取K的顺序颠倒(即从K[15]开始读取,作为第一轮的密钥)
DES在逆向中的识别
-
DES最明显的特征就是其中大量应用的表,无论是置换表还是扩展表又或是填充表,都会造成程序中出现大量的常量数组,且这些数组值往往不大,一般小于64,这可以作为DES的一个识别方法
-
此外DES是按照块读入数据,但是每轮读入的数据量却非常稀少,只有8个字节,相对来说可以做为一个特征
-
还有就是明文加密中的16轮迭代,交换,这个可以作为识别的一部分来参考
-
-
根据DES特性,当出现DES(input)==UnknowEncrypt(hardcode)时,我们可以使用OD加载,在明文加密且T4置换完的地方下断,输入UnknowEncrypt(hardcode)作为整个DES的参数,之后修改读取K的顺序,可以使用原函数为我们解密。例如下例:
xor esi,esi; Begin: ... add esi,0x10; cmp esi,const; jnz Begin mov esi,const; Begin: ... sub esi,0x10; cmp esi,0; jnz Begin;
或者我们可以直接修改K的内存,不过相对较为麻烦。
内容总结
以上是互联网集市为您收集整理的逆向算法--对称算法之DES全部内容,希望文章能够帮你解决逆向算法--对称算法之DES所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。