3DES算法:
数据加密标准DES 与 3DES
3DES用的是112位**.
上图k1=k3, 那么如果k1=k2或者k2=k3,则变成了一个使用56位**的单DES.

问题

为何有DES ,3DES 而没有2DES?

首先要明白DES加密的原理,大体过程:明文P,密文C,加密过程E,解密D;如果用暴力**,时间复杂度是2^56,对于对称**加密,要增加安全性,最好是增加**的长度,于是采用多次加密的方法,但是为何采用3des,却没有2des?

如果使用2DES:
加密:P---E过程(k1)---得到中间值X ---E过程(k2)---C;
解密:C---D过程(k2)---   X    ---D过程(k1)---P;

这个原理,看似有效的**长度为562,其实不然。如果敌人获得的明文P和密文C,那么只要:
x1=E(k1,P);x2=D(k2,C);使用暴力**,使x1=x2,即获得中间值x,这样造成**k1,k2泄漏,而这种方法需要时间复杂度是2
256=257,比DES 差不太多。

相关文章: