3 - 轮 HAVAL 和步数缩减 MD5 的原像攻击
在密码学领域,对哈希函数的原像攻击是一个重要的研究方向。本文将详细介绍针对 3 - 轮 HAVAL 和步数缩减 MD5 的原像攻击方法。
1. MD5 简介
MD5 压缩函数接收一个 512 位的消息块和一个 128 位的链值作为输入,输出另一个 128 位的链值。具体过程如下:
- 输入链值 (H_0 \cdots H_3) 首先被复制到寄存器 (A_0 \cdots D_0) 中:
((A_0, B_0, C_0, D_0) \leftarrow (H_0, H_1, H_2, H_3))
- 这个内部状态经过 64 步的变换,输出为:
((H^{\star} 0, H^{\star}_1, H^{\star}_2, H^{\star}_3) = (A {64} + A_0, B_{64} + B_0, C_{64} + C_0, D_{64} + D_0))
其中 (A_{64} \cdots D_{64}) 由以下递归定义:
(A_i = D_{i - 1})
(B_i = B_{i - 1} + (A_{i - 1} + f_i(B_{i - 1}, C_{i - 1}, D_{i - 1}) + M_{\sigma(i)} + K_i) \ll r_i)
(C_i = B_{i - 1})
(D_i = C_{i - 1})
这里的 (K_i) 和 (r_i) 是预定义的常量,(\sigma(i)) 的值在表 1 中给出。函数 (f_i) 定义如下:
(f_i(B, C, D) = (B \land C
超级会员免费看
订阅专栏 解锁全文
2042

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



