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泄漏,而这种方法需要时间复杂度是2256=257,比DES 差不太多。