MD4碰撞攻击:新消息差分与路径算法优化
1. 引言
哈希函数在现代密码学中扮演着重要角色,其必须具备抗碰撞性,即很难找到一对不同的消息 $M$ 和 $M’$,使得 $H(M) = H(M’)$。MD4 是 Rivest 在 1990 年提出的哈希函数,具有 Merkle - Damgård 结构,旨在实现快速计算,并且被用于设计其他广泛使用的哈希函数,如 MD5 和 SHA - 1。因此,对 MD4 进行密码分析至关重要,因为它会影响基于 MD4 的其他哈希函数的密码分析。
此前已有多篇论文发现并报告了 MD4 的弱点。1996 年,Dobbertin 提出了第一次碰撞攻击,找到碰撞的概率为 $2^{-22}$。1998 年,他指出 MD4 的前两轮不具备单向性。2004 年,Wang 展示了可以非常快速地生成 MD4 的碰撞。2005 年,Wang 等人详细报告了该攻击,找到碰撞的概率为 $2^{-2}$ 到 $2^{-6}$,复杂度小于 $2^8$ 次 MD4 操作。此后,Naito 等人和 Schläffer 与 Oswald 分别对该攻击进行了改进。
然而,之前的攻击都使用了相同的局部碰撞,即 Wang 等人提出的消息差分和差分路径。研究表明,Wang 等人的局部碰撞并非最优。对于碰撞攻击而言,选择好的消息差分非常重要,因为消息差分源于局部碰撞,所以选择好的局部碰撞是关键。若能找到更好的局部碰撞或消息差分,攻击复杂度将大幅降低。
本文做出了两项贡献:一是提出了新的局部碰撞和消息差分,似乎是 MD4 碰撞攻击的最佳选择,使用的非可忽略充分条件不到 Wang 等人方法的一半;二是指出 Schläffer 和 Oswald 提出的差分路径构造算法不适用于新