哈希冲突的可能性

时间:2014-01-11 13:18:21

标签: hash-collision

如果这是一个重复的问题,请道歉;我发现的大部分都是我的头脑,所以我可能错过了答案。

对于给定的散列,比如MD5(128位),与10 ^ 12个散列冲突的可能性是多少?

我的数学不是很好,我已经提出了这个等式(我认为这是正确的)但不知道如何解决它:

Collision_Chance = 1 - (1 - (1/2 ^ 128))^(10 ^ 12)

我猜它大概在10 ^ -26左右,这听起来是对的吗?

由于

编辑:我认为我的估计非常错误。见Birthday Paradox

2 个答案:

答案 0 :(得分:2)

你的公式对2 ^ 128 + 1值有什么看法?我相信它并没有说碰撞概率是1,所以它不可能是正确的。实际上,我知道它不是 - 正确的公式相当大而且不实用,但是使用分数的指数有很好的近似。所以不会排版公式,所以我不会尝试在这里编写公式。

要搜索的最佳关键词可能是“birthday attack”。

答案 1 :(得分:0)

为什么哈希冲突会成为问题?哈希从未被设计为产生独特的vaues,只是为了便于快速的第一次比较。

如果您遇到哈希冲突问题,那就错了。