给定一组等长的100个不同字符串,如何量化字符串发生 SHA1摘要冲突的可能性... ... ?
这就是 生日问题-这篇文章提供了很好的近似值,使得估计概率变得非常容易。实际概率将是非常非常非常低-见 这个问题的例子。
碰撞的概率是:
1 - ((2^160 - 1) / 2^160) * ((2^160 - 2) / 2^160) * ... * ((2^160 - 99) / 2^160)
想象一下在10的空间中两个项目碰撞的概率。第一个项目是唯一的概率为100% 。第二个是唯一的,概率是9/10。所以两者都是唯一的概率是 100% * 90%碰撞的概率是:
100% * 90%
1 - (100% * 90%), or 1 - ((10 - 0) / 10) * ((10 - 1) / 10), or 1 - ((10 - 1) / 10)
不太可能,你得有更多的条件才有可能。
看看 维基百科上的这一页上的表; 只需在行之间插值128位和256位。
是生成的160位哈希值 由 SHA-1大到足以确保 每个街区的指纹都是独一无二的? 类假设随机哈希值 均匀分布 N 个不同的数据块和一个散列 生成 b 位的函数 将会有一个的概率 或者更多的碰撞是由 块对数乘以 通过给定对的概率 会相撞。
(资料来源: http://bitcache.org/faq/hash-collision-probabilities)