我们通过设置z_0:=L (消息的长度)、计算i=1,...,B的z_i:=h(z_{i-1}||x_i)和定义H(x):=z_B.来修改Merkle结构,这种结构是否具有抗碰撞能力?
我认为它不可能具有抗碰撞能力,因为通过在多个步骤之后添加输入长度,两个不同的消息可能有相同的输出,但我找不到一个反例来反驳这种假设。
抗碰撞定义(来自现代密码学的Katz&Lindell简介):很难找到x和x',x \neq x'这样的H(x)=H(x')。
发布于 2023-03-04 11:41:54
正如Katz所说,假设有一个抗碰撞的压缩函数,这样就有可能有效地找到一些L, x \in \{\ 0, 1\}^{n},比如h(L,x) = L - n。
在这种情况下,长度为y的任何消息L-n的哈希值等于长度为L的消息(x \| y)的哈希值。
但问题是:
如何证明使用该属性构造哈希函数是可能的,前提是存在抗碰撞的哈希函数?
https://crypto.stackexchange.com/questions/86880
复制相似问题