针对DES有效密钥长度偏短等安全性问题,人们利用实现DES的现有软、硬件,寻求使用DES的多重加密方案以增加密码体制的强度。实用中一般广泛采用的有二重和三重DES等几种形式。
1.二重DES
二重DES是DES的多重加密方案中最简单的形式,如图4-8所示。其中,明文为M,两个加密密钥为K1和K2,密文为
解密时,以相反顺序使用两个密钥
图4-8 二重DES的加密/解密过程
a)加密过程 b)解密过程
二重DES易受中间人攻击,Winfield Diffie于1977年给出了该攻击的描述。该攻击几乎可以攻击任何分组密码,而且不依赖于DES的任何属性。中间人攻击可描述如下
中间人攻击是已知明文攻击。给定一明文密文对(M,C),对M用K1的所有256种可能的值进行加密,根据X的值对结果进行排序和存储。再用K2的所有256种可能的值对C进行解密。在每次解密时,将结果与加密形成的表相比较。如果相配,对新的明文密文对进行验证。如果两种密钥都产生正确的密文,则这两个密钥被认为是正确的密钥。(www.xing528.com)
对已知的明文M,二重DES能产生264个可能的密文,而可能的密钥个数为2112,所以平均来说,对一个已知的明文,有2112/264=248个密钥可产生已知的密文。而再经过另外一对明文密文的检验,误报率将下降到248-64=2-16。所以在实施中途相遇攻击时,如果已知两个明文密文对,则找到正确密钥的概率为1-2-16。
2.两个密钥的三重DES
抵抗中间人攻击的一种方法是使用3个不同的密钥做3次加密,从而使已知明文攻击的代价增加到2112。然而,这样又会使密钥长度增加到56bit×3=168bit,因而过于笨重。一种实用的方法是仅使用两个密钥做3次加密,实现方式为加密—解密—加密,如图4-9所示。在加密过程中,明文为M,密钥输入为K1、K2和K1,输出密文为
解密时,输入密文C,密钥输入为K1、K2和K1,还原为明文
三重DES非常流行,已在密钥管理标准ANS X.917和ISO 8732中被采用,且用于保密增强邮件系统(PEM)。但是,三重DES明显存在处理速度慢的问题(尤其是软件实现),而且迭代轮数明显增加,而加密分组长度仍为64bit,效率偏低。
图4-9 两个密钥的三重DES加密/解密过程
a)加密过程 b)解密过程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。