本文最后更新于315 天前,其中的信息可能已经过时,如有错误可以直接在文章下留言
今天学习DES(Data Encryption Standard)加密算法,发现了一篇贼牛的博客,果然大神在民间啊,解释DES加密算法解释的特别清楚,虽然我也没考证过是不是完全正确就是了。不过网上关于DES加密算法的详解还是挺多的。链接如下:
DES加密算法解析与实现 – luogi – 博客园 (cnblogs.com)
然后是b站的学习视频。
DES加密算法|密码学|信息安全_哔哩哔哩_bilibili
这个视频的up主也是个专门做密码学视频的,而且也很详细。
关于DES加密算法的详解的看这个足够了,这个加密算法也比较复杂,自己再写一篇文章要花好久呢。
那关于我们在逆向过程中,怎么识别有无DES加密算法,可以直接通过特征值和特征运算来识别。
这在书本《从0到1CTFer成长之路》里面有说明,图片如下:
这里面的DES特征值,第一行备注的置换表,特征值就是DES加密过程中IP置换的初始置换表。
第二行备注的密钥变换数组 PC-1,特征值是子秘钥K的生成过程中的子密钥交换规则表。
第三行备注的密钥变换数组 PC-2,特征值是子秘钥K的生成过程中的压缩置换2规则表。
第四行备注的S函数表格,特征值就是第一个S盒。
以上的名词都来自上面的学习链接。
然后是特征运算
这里的L=R应该就是加密结束后使L等于加密前的R,也就是说新的L就是旧的R。
后面的就是函数F实现后与L进行异或,得到加密后新的R。
在现代,DES加密算法好像已经被AES加密算法取代了,b站有个很有趣的视频谈了DES的历史,链接如下: