宝马压缩函数的实用近碰撞攻击
1. 研究成果概述
我们提出了一种针对宝马(BMW)压缩函数的部分碰撞攻击方法。此攻击基于差分技术,旨在控制压缩函数内部差分的传播。核心思路是控制消息 $M$、$Q_a$ 以及首次 AddElement 操作中的差分,进而控制 $Q_b$ 中部分元素的差分。由于最终函数 $f_2$ 的扩散能力有限,我们能够控制多个输出字的差分。通过努力,我们成功消除了 $Q_0$ 至 $Q_{26}$ 的所有差分,并使 $Q_{27}$、$Q_{28}$ 和 $Q_{29}$ 的差分极小化。这使得我们能够找到一对输入,使得 300 个预先指定的输出位发生碰撞,攻击成本相当于对压缩函数进行 $2^{32}$ 次评估,且仅需极少的内存。相比之下,对于随机函数,预计需要进行 $2^{150}$ 次评估才能找到这样的输入对。此外,我们预计在未控制的位中只有一半会出现差分,这使得我们的近碰撞攻击优于通用算法。
在详细介绍新攻击方法之前,我们将在后续内容中介绍一些用于分析 ARX 系统的实用工具,展示如何在无消息差分的情况下实现 $f_0$ 中的碰撞,如何在 $H$ 的某些字不活跃的情况下找到碰撞,以及如何通过引入消息差分来扩展结果,最终利用 AddElement 中的近碰撞来进一步控制差分。
2. 求解异或和模加方程组
攻击中的一个关键步骤是求解仅包含异或和模加运算的方程组。具体而言,我们经常需要求解 $x \oplus \Delta = x \boxplus \delta$ 这样的方程,其中 $x$ 是变量,$\Delta$ 和 $\delta$ 分别表示 $x$ 的异或差分和模差分。这类方
超级会员免费看
订阅专栏 解锁全文
2342

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



