【问题标题】:How do I calculate the likelyhood of a collision using md5?如何使用 md5 计算碰撞的可能性?
【发布时间】:2009-05-12 21:13:34
【问题描述】:

我的密钥长度可以在 1 到 256 个字符之间变化*;如何计算使用md5 时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案)?

* 字符集限制为[a-z.-]

【问题讨论】:

    标签: language-agnostic statistics md5 hash


    【解决方案1】:

    看看birthday paradox,它将帮助您分析这一点。简而言之,由于 MD5 是 128 位散列,因此您需要 264 项才能将冲突的可能性提高到 50%。那里有一个假设,即 MD5 均匀分布在 128 位空间上,我相信它不会这样做,但会接近。

    如果您想了解这些数字与您的密钥空间的关系,假设您的所有密钥都是 256 个字符,您有 26256 个可能的密钥,或者 21023 ,当然你在 2128 键后有 100% 的碰撞几率 :)

    【讨论】:

      【解决方案2】:

      查看birthday problem。这正是您正在寻找的。​​p>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-08
        • 1970-01-01
        • 1970-01-01
        • 2011-11-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多