SHA-0怎么坏了? - 少数哈希冲突有什么意义?

dsf*_*dsf 5 hash md5 sha hash-collision

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

我在查找/理解方面遇到的困难:这是否意味着有一种及时的数学方法可以始终产生哈希冲突?

我最终能否找到给定m1的m2,使得m1!= m2,sha(m1)== sha(m2)或者只能在可能的消息子集上找到?重新说明:我的密码是否有可能保证另一条冲突消息?

找到2个随机长消息(如上面的链接中具有相同散列值的消息)的意义是什么? 为什么他们不得不筛选长时间的随机信息进行碰撞,而不是像"棕色的狗跳过狐狸"这样的实际信息进行碰撞?

一些哈希冲突的例子似乎不像为任何消息生成冲突的及时方法那么重要,但所有帖子都谈论前者.

感谢您的帮助/时间!我已经阅读了很多帖子/文章,但无法解决我的困惑.我怀疑我对其他破碎的哈希函数(如MD5)有相同的问题.

编辑:

答案中提到的论文(解释发现碰撞的改进方法)

thk*_*ala 8

来自维基百科:

2005年2月,王晓云,Yiqun Lisa Yin和Hongbo Yu的攻击被宣布,可以在2 ^ 39次作战中发现SHA-0的碰撞.

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

  • “它保证发现任何消息的冲突......”我认为这是错误的。该论文描述了一种“碰撞攻击”。这意味着他们可以在 2^39 次运算中找到一些 m1、m2,使得 h(m1)=h(m2)。这并不意味着对于任何 m1,他们都可以找到满足 h(m1)=h(m2) 的 m2。那将是一种特殊类型的“选择前缀碰撞攻击”。 (2认同)