一、DES原理
二、为什么用3DES而不用2DES
大体过程:明文P,密文C,加密过程E,解密D;
如果用暴力破解,时间复杂度是256,对于对称密钥加密,要增加安全性,最好是增加密钥的长度,于是采用多次加密的方法,但是为何采用3DES,却没有2DES?
如果使用2DES:
加密:P- - - E过程(k1)- - - 得到中间值X- - - E过程(k2)- - - C;
解密:C- - - D过程(k2)- - - X - - - D过程(k1)- - -P;
这个原理,看似有效的密钥长度为56*2,其实不然。如果敌人获得的明文P和密文C,那么只要:
x1=E(k1,P);
x2=D(k2,C);
使用暴力破解,使x1=x2,即获得中间值x,这样造成密钥k1,k2泄漏,而这种方法需要时间复杂度是2*256 = 257,跟DES比差不太多。
但是使用3DES:
加密:P- - - E过程(k1)- - - D过程(k2)- - - E过程(k3)- - - C;
解密:C - - - D过程(k3) - - - E过程(k2) - - - D过程(k1)- - - P;
这样即使获得P、C,破解k1,k2,k3也十分困难。所以采用3DES!