7

哈希函数中的多重冲突与第一或第二原像之间有什么区别。

  • 第一次原像攻击:给定一个哈希 h,找到一条消息 m 使得

    哈希(m)= h。

  • 第二原像攻击:给定一个固定的消息 m1,找到一个不同的消息 m2 使得

    哈希(m2)=哈希(m1)。

  • 多重碰撞攻击:生成一系列消息 m1, m2, ... mN,这样

    哈希(m1) = 哈希(m2) = ... = 哈希(mN)。

维基百科告诉我们,原像攻击与碰撞攻击的不同之处在于,有一个固定的哈希或消息被攻击。

我对发表以下声明的论文感到困惑:

该技术不仅可以有效地搜索碰撞,而且还适用于探索 MD4 的第二原像。关于第二原像攻击,他们表明随机消息是概率为 2^–122 的弱消息,只需一次 MD4 计算即可找到与弱消息对应的第二原像。

MD4 的第二原像攻击

如果我理解作者似乎在说什么,他们开发了一种多重冲突攻击,其中包含足够大的消息集,给定一条随机消息,它与他们的多重冲突中的一个重叠的可能性很大,尽管非常小。碰撞。

我在许多论文中看到了类似的论点。我的问题什么时候攻击不再是多重碰撞攻击并成为第二次原像攻击..

  • 如果多重冲突与 2^300 条其他消息发生冲突,这是否算作第二个原像,因为多重冲突可用于计算与之冲突的其中一条消息的“原像”?分界线在哪里,2^60、2^100、2^1000?

  • 如果您可以生成所有以 23 开头的哈希摘要的原像,会怎样?当然它不符合原像的严格定义,但它也非常肯定是密码散列函数中的一个严重缺陷。

  • 如果某人有一个大的多重冲突,那么他们总是可以恢复任何哈希与多重冲突冲突的消息的图像。例如,

    散列(m1) = 散列(m2) = 散列(m3) = h

    有人请求 h 的原像,他们以 m2 响应。这什么时候不再愚蠢而成为真正的攻击?

经验法则?知道评估哈希函数攻击的任何好的资源吗?

相关链接:

4

2 回答 2

2

这是关于一个攻击场景。区别在于输入的选择。在多重冲突中,两个输入都可以自由选择。第二个原像是关于找到与任何指定输入具有相同输出的任何第二个输入
当一个函数没有多重碰撞阻力时,可能会发现某种消息的碰撞——不是所有的消息。所以这并不意味着第二个原像弱点。

于 2011-07-10T19:09:57.053 回答
0

在发布问题之前,您做了很多研究。除了资源问题,我不能回答太多。这就是:我使用 Applied Cryptography be Menezes/Oorschot 来解决我想知道的关于密码学主题的几乎所有内容,包括哈希。

也许你会在你的大学图书馆找到一份副本。祝你好运。

于 2009-08-04T07:45:59.240 回答