hash - 了解sha-1碰撞的弱点

标签 hash cryptography sha1

根据各种消息来源,寻找sha-1冲突的攻击已改进为2 ^ 52个操作:

http://www.secureworks.com/research/blog/index.php/2009/6/3/sha-1-collision-attacks-now-252/

我想知道的是这些发现对未受到攻击的系统的影响。这意味着如果我对随机数据进行哈希处理,那么碰撞的统计几率是多少?换句话说,最近的研究是否表明暴力生日袭击更有可能发现最初提出的碰撞?

一些文章,例如上面的文章,说通过蛮力获得SHA-1冲突将需要2 ^ 80次操作。大多数资料都说2 ^ 80是一个理论数字(我想是因为即使在其摘要空间上也没有哈希函数真正地完美地分布)。

那么基本哈希分布中是否存在任何已宣布的sha1碰撞弱点?还是增加的碰撞几率仅仅是导引式数学攻击的结果?

我意识到,最终这只是一场赔率游戏,而且它们是一个很小的微小变化,您的第一条消息和第二条消息将导致冲突。我也意识到,即使2 ^ 52也是一个很大的数字,但是我仍然想了解对于不受攻击的系统的含义。因此,请不要回答“不用担心”。

最佳答案

在您的链接中宣布的结果是攻击,这是一系列精心选择的,经过算法选择的步骤,与随机攻击相比,这些步骤产生碰撞的可能性更高。这不是哈希函数分布中的弱点。好吧,是的,但是不是那种能够使随机攻击成功的概率达到2 ^ 52的方法。

如果没有人试图在您的哈希输出中生成冲突,则此结果不会影响您。

关于hash - 了解sha-1碰撞的弱点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1147830/

相关文章:

java - 符合 FIPS 140-2 的随机数生成器 - Java

ios - iOS 中特定字符串的 SHA1

ruby-on-rails - 如何从 ruby​​ 中的 xml 中删除数据类型信息?

encryption - 使用 ColdFusion 加密 SagePay 表单

c# - PHP utf8 变量编码(HMAC Key -> C# Server)

java - 使用 java 从 MySQL 检索多个 Blob

.net - HMACSHA1 是为零长度的消息定义的吗?

c - readFile 和 ConvertCharToIntArray 方法影响 Sha-1 的哈希实现

hash - 为什么 5381 和 33 在 djb2 算法中如此重要?

java - JVM堆中是否可以有多个具有相同哈希码的对象?