【问题标题】:How was SHA-0 broken? - What is the significance of a mere handful of hash collisions?SHA-0 是如何被破坏的? - 少量的哈希冲突有什么意义?
【发布时间】:2011-09-30 14:15:26
【问题描述】:

我想了解 SHA0 哈希函数是如何被破坏的。我知道利用生日问题/鸽子保留原则,发现了哈希冲突。 http://www.mail-archive.com/cryptography%40metzdowd.com/msg02554.html 包含一个示例消息。

我找不到/理解的问题: 这是否意味着有一种及时的数学方法总是会产生哈希冲突?

我最终能否为给定的 m1 找到一个 m2,使得 m1 != m2, sha(m1) == sha(m2) 还是只能在可能消息的子集上找到?改写:我的密码是否有可能保证有另一条冲突消息?

在上面的链接中找到 2 条具有相同哈希值的随机长消息有什么意义? 为什么他们必须筛选长随机消息以进行冲突而不是计算为诸如“棕色狗跳过狐狸”之类的实用信息而发生碰撞?

哈希冲突的几个例子似乎不如及时为任何消息生成冲突的方法重要,但所有帖子都在谈论前者。

感谢您的帮助/您的时间!我读过很多帖子/文章,但无法解决我的困惑。我怀疑我对 MD5 等其他损坏的哈希函数也有同样的问题。

编辑:

The paper (explaining improved method for finding collisions) referenced in the answer

【问题讨论】:

  • 该邮件不过是对旧版本 SHA 的攻击的概念验证,由于几个已知的弱点而被弃用,这使得攻击比穷举搜索容易得多.所述攻击花费了 80,000 CPU 小时。您应该注意,相同的攻击不适用于常见的 SHA-1 实现。并且,回答您的问题:是的,这意味着原则上可以为每个输入找到冲突,给定一组强大的工作站,但使用 SHA0。
  • (通常你可以总是每个哈希上找到每个输入的冲突,给定无限的时间/资源,这里唯一显着的区别是,对这个特定哈希的这种特殊攻击适用于相对中等的资源)

标签: hash md5 sha hash-collision


【解决方案1】:

来自Wikipedia

2005年2月,小云攻击 王一群 Lisa Yin 和洪波于 被宣布可以找到 2^39 中 SHA-0 中的冲突 操作。

以目前可用的计算能力,这种复杂性完全不足以用于加密目的。它保证在非常合理的时间内发现任何消息的冲突。

【讨论】:

  • 谢谢你引用这个,我去看看他们的论文。
  • “它保证发现任何消息的冲突......”我认为这是错误的。该论文描述了一种“碰撞攻击”。这意味着他们可以在 2^39 次操作中找到一些 m1、m2 使得 h(m1)=h(m2)。这并不意味着对于任何 m1,他们都可以找到满足 h(m1)=h(m2) 的 m2。那将是一种特殊类型的“选择前缀冲突攻击”。
猜你喜欢
  • 2013-01-10
  • 2011-12-05
  • 2018-01-29
  • 2018-02-05
  • 2011-11-14
  • 2018-04-07
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
相关资源
最近更新 更多