三重DES和具有独立子密钥的DES

超时代视频加密共享文件夹加密软件整理

三重DES

提高 DES安全性的一种比较实在的办法是用两令不同的密钥两次加密一个分组。首先, 用第一个密钥加密分组,然后再用第二个密钥加密它。脱密则是逆过程。

C=EK2(EK1P)

P—DKl(DK2C)

产生双重加密的密文分组应当是非常难于用穷举搜索法破译的。它需要 2的512次尝试而不是2有56次尝试 (其中n是密钥的比特长度)。

这个结果是不正确的。默克尔(Merkle)和赫尔曼证明已知明文可在2的57次尝试内破译这种双重加密方案。这是一种中间相会攻击,它的运作方式是由一端加密,由另一端脱密,在中间对比结果。

这种攻击需要2的56个分组或2的64个字节的存贮器一存贮器的存贮量大大超过了人们易于理解的程度,但却足以使多数患妄想症的密码学家承认双重加密也不是很有价值。

塔切曼 (w.Tuehman)是DES的主要研制者之一,他提出了一种较好的想法:用两个密钥 三次加密一个分组。首先用第一个密钥,然后用第二个密钥,最后再用第一个密钥。他提议发方首先用第一个密钥加密,然后用第二个密钥脱密、最后用第一个密钥加密,收方则用第一个密钥脱密,然后用第二个密钥加密,最后用第一个密钥脱密。

C—EKl(DK2(EK1P))

P—DKI(Ek2(DK3-C))

这种稀奇的加密——脱密——加密方案保存了与传统算法实现的兼容性.使两个密钥彼此相等和用该密钥加密一次并无两样。在加密——脱密——加密模式中不存在内在的安全性。

虽然这种技术不容易遭受上述中间相会攻击,但默克尔和赫尔曼却发现了以 2的56步运作的选择明文攻击 。他们竭力推崇采用三个不同密钥的三重加密:

C=EK3(DK2(Kk1P))

P=Dx1(EK2(DK3C))

迄今尚无人找到针对此方案的攻击。

具有独立子密钥的DES

另一个变化是每一轮 (迭代)都使用一个不同的予密钥 ,而不是由单独一个 56比特密钥产生它们。由于l6轮的每一轮都使用48个密钥比特,这意味着这个变型的密钥长度为768个比特。据推测这个变型能大大地提高DES的复杂性。

比哈姆和沙米尔证明利用2的41个选择明文便可破译这个DES变型,而不是强力攻击所需的2的763个选择明文。

改进密钥编制方案不可能使DES的强度增加很多。