3DES
来源:互联网 发布:arm linux gcc 编辑:程序博客网 时间:2024/05/16 02:43
前言
从CSDN上找了个3DES的C实现, 学学算法识别.
好像3DES的实现没有公版实现,看了几个3DES实现,都不相同. 有的人进行了优化.
也有些特征.
看加密算法,不要往下深挖,最好在最上面的接口实现内识别出特征.
3DES实现用了3次DES, 这特征在顶层接口上看的最明显.
加密时:
des_ecb_encrypt(pt, ct, &skey1);
des_ecb_decrypt(ct, pp, &skey2);
des_ecb_encrypt(pp, ct, &skey1);
解密时
des_ecb_decrypt(pt, ct, &skey1);
des_ecb_encrypt(ct, pp, &skey2);
des_ecb_decrypt(pp, ct, &skey1);
如果猜测是3DES, 再去单个DES加密,解密中找DES特征.
看了几个DES实现和3DES实现,实现有优化,不一定相同.
DES优化后,连16轮也不容易看出来.
但是DES的PC1和PC2是有相同特征的.
为了证实是3DES, 可以将Key弄对了,去比对加密解密的结果是否和手头的3DES实现是否相同.
如果和手头的3DES加密解密结果不同,那就不是3DES实现,只能还原算法了.
真心想找到正宗的3DES实现.
试验
srcCipher3DES.zip
0 0
- DES & 3DES算法
- DES/3DES/AES
- DES/3DES/AES
- DES、3DES
- java 3des des
- DES、3DES
- DES、3DES、AES
- des与3des
- DES(ECB) DES(CBC) 3DES
- 3DES
- 3des
- 3DES
- 3DES
- 3DES
- 3DES
- DES/3DES Source Code
- DES/3DES/AES区别
- DES/3DES/AES区别
- session设置生命周期
- Java编程思想-java中的并发(二)
- 大问题 一 前言
- 链表中环的入口结点
- TreeDay(2)---数组
- 3DES
- Java编程思想-java中的并发(三)
- 基础课程学习心得
- 轮子篇:基于Node和React的全栈式架构
- Java编程思想-java中的并发(四)
- latex笔记
- linux assemble environment
- sc.next() 和 nextLine 的区别
- 天气