四轮压缩函数的碰撞攻击分析
在密码学领域,对哈希函数压缩函数的碰撞攻击研究具有重要意义。本文将详细介绍针对四轮 ECHO - 256 压缩函数的碰撞攻击方法,包括各个步骤的具体操作和原理。
1. 第一子部分的部分消息对寻找
此步骤旨在找到一对满足图 6 截断差分的 ECHO 列。为了实现后续的合并过程,我们将第一列与其他列分开考虑。一旦确定一个切片,就能确定第二子部分在 S16 开始处的差异。
以往寻找符合该截断差分配对值的方法是反弹攻击,时间复杂度为 $2^{32}$,且需使用大小为 $2^{64}$ 的超级 S 盒差分分布表。而我们提出的方法能在 $2^{12}$ 次 AES 列操作内找到符合该简化路径的 ECHO 列对,且无需大量内存。
具体操作如下:
1. 从 S11 的顶部 AES 状态 S11[0,0] 开始,为其第一 AES 列(蓝色字节)随机选择值 $(λ_0, λ_1, λ_2, λ_3)$,并将活动字节的差异设为随机选取的非零值 $δ$($δ$ 从 $GF(2^8)\setminus{0}$ 中选取)。
2. 从 S11[0,0] 逆向传播这些值和差异,直至 S8[0,0]。由于 S7 的 ECHO 列中每个切片只有一个活动字节,S8 的四个相关切片都位于一维子空间中。通过求解四个简单的线性系统,可确定 S8 的其他 12 个差异。
3. 在图 6 中 S9 的活动切片(SubBytes 层输入处),前四个配对字节的值和差异已知,而其他 12 个位置仅设置了差异。我们通过对 AES S 盒进行小反弹攻击来寻找这些字节对的合适值,即从 S11 选择随机差异并传播到 S10。当 12 个 AES S 盒的输入和输出
超级会员免费看
订阅专栏 解锁全文
35

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



