对称加密算法的进阶探索
1. 多重加密与三重DES
由于DES算法存在易受暴力攻击的潜在风险,人们一直在积极寻找替代方案。一种方案是设计全新的算法,如AES;另一种则是采用多重加密和多密钥的方式,以保留在软件和设备上的现有投资。下面我们将详细探讨几种多重加密的方式。
1.1 双重DES
双重DES是多重加密中最简单的形式,它包含两个加密阶段和两个密钥。给定明文P和两个加密密钥K1、K2,密文C的生成公式为:
[C = E(K2, E(K1, P))]
解密时,密钥需按相反顺序应用:
[P = D(K1, D(K2, C))]
从表面上看,这种方案的密钥长度为56 x 2 = 112位,显著增强了加密强度。然而,我们需要更深入地研究该算法。
有人曾假设,对于DES的所有56位密钥值,给定任意两个密钥K1和K2,都能找到一个密钥K3,使得双重加密等同于使用单个56位密钥的单次加密。但实际上,这种假设并不成立。因为DES加密是将64位块映射到64位块的一种排列,不同的密钥会产生不同的映射。理论上,2^64个可能的输入块会有大量不同的排列映射,而DES每个不同的密钥只定义一种映射,总共只有2^56种映射。所以,使用不同密钥进行两次DES加密,很可能会产生单次DES加密无法定义的映射。直到1992年,这一假设才得到证明。
不过,双重DES存在一种名为“中间人攻击”的破解方法。该方法基于以下观察:如果(C = E(K2, E(K1, P))),那么(X = E(K1, P) = D(K2, C))。攻击步骤如下:
1. 对于所有2^56个可能的K1值,对明文P进行加密,并将结果存储在表中,然后按X的
超级会员免费看
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



