MD4与58 - 轮SHA - 1的密码分析技术解析
1. MD4新消息差分分析
1.1 差分计算原理证明
在MD4的计算中,第i步的 (b_i) 计算方式为 (b_i = (a_{i - 1}+f(b_{i - 1}, c_{i - 1}, d_{i - 1})+m_k + t)\ll s_i)。我们通过添加差分 (\Delta m_k= +2^{31 - s_i}) 或 (-2^{31 - s_i}) 来使 (\Delta b_i = 2^{31}) 或 (-2^{31})。设 (a_{i - 1}+f(b_{i - 1}, c_{i - 1}, d_{i - 1})+m_k + t) 的值为 (\Sigma),重点关注 (\Sigma) 在第 (31 - s_i) 位的值(即 (\Sigma_{31 - s_i})),其值为0或1。
- 当 (\Sigma_{31 - s_i}=0) 时:
- 若 (\Delta m_k) 为正,(\Sigma_{31 - s_i}) 从0变为1,其他位不变,旋转后 (\Delta b_i = +2^{31})。
- 若 (\Delta m_k) 为负,(\Sigma_{31 - s_i}) 从0变为1,且由于进位,第 (31 - s_i + 1) 位也会改变,旋转后 (\Delta b_i = +2^{31}-2^0),无法得到期望差分。
- 当 (\Sigma_{31 - s_i}=1) 时,进行类似分析。
分析结果总结如下表:
| | (\Delta m_k = +2^{31 - s_i}) | (\Delta m_k = -2^{31 - s_i}) |
| — | —
超级会员免费看
订阅专栏 解锁全文
184

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



