【发布时间】:2009-05-12 21:13:34
【问题描述】:
我的密钥长度可以在 1 到 256 个字符之间变化*;如何计算使用md5 时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案)?
* 字符集限制为[a-z.-]
【问题讨论】:
标签: language-agnostic statistics md5 hash
我的密钥长度可以在 1 到 256 个字符之间变化*;如何计算使用md5 时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案)?
* 字符集限制为[a-z.-]
【问题讨论】:
标签: language-agnostic statistics md5 hash
看看birthday paradox,它将帮助您分析这一点。简而言之,由于 MD5 是 128 位散列,因此您需要 264 项才能将冲突的可能性提高到 50%。那里有一个假设,即 MD5 均匀分布在 128 位空间上,我相信它不会这样做,但会接近。
如果您想了解这些数字与您的密钥空间的关系,假设您的所有密钥都是 256 个字符,您有 26256 个可能的密钥,或者 21023 ,当然你在 2128 键后有 100% 的碰撞几率 :)
【讨论】:
查看birthday problem。这正是您正在寻找的。p>
【讨论】: