随机预言机构造与不可区分性分析
1. 不可区分性概念与哈希函数安全
不可区分性这一概念有助于我们研究理想化对象的构造,对理解现实世界中的哈希函数构造十分有用。在很多情况下,安全证明是在随机预言机模型下进行的。若使用哈希函数来实例化随机预言机,我们需确保所选构造至少是不可区分的,这样能保证哈希函数在方案中可安全使用(假设底层构建模块无弱点)。
2. Merkle–Damgård构造的不可区分性问题
Merkle–Damgård 迭代方案是许多哈希函数(如 MD - 5、SHA - 1 和 SHA - 2 的各种模式)的基础,但它并非不可区分的,这并不意外,因为基于 Merkle–Damgård 的构造易受长度扩展攻击。
2.1 长度扩展攻击示例
考虑消息 $m = m_1 \parallel m_2$($m_1$ 和 $m_2$ 为单个消息块大小),给定 $H_h^{MD}(m)$,攻击者可计算任何以 $m$ 为前缀的消息的哈希值。这是因为最终哈希值 $H_h^{MD}(m)$ 本质上是任何以 $m$ 为前缀的消息哈希计算中的中间值,而随机预言机不存在这种结构弱点。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A([IV]):::startend --> B( h ):::process
B
超级会员免费看
订阅专栏 解锁全文
99

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



