【问题标题】:What is the clash rate for md5? [closed]md5的冲突率是多少? [关闭]
【发布时间】:2017-09-27 19:23:30
【问题描述】:

md5 算法发生冲突的概率是多少?我相信它非常低。

【问题讨论】:

    标签: security hash cryptography md5 hash-collision


    【解决方案1】:

    如果您不尝试故意创建冲突,则平均而言,您需要散列大约 2^64 个值才能在它们之间产生一次冲突。哈希冲突与Birthday problem 非常相似。

    如果看两个任意值,碰撞概率只有2-128

    md5 的问题在于,制作两个散列到相同值的不同文本相对容易。但这需要蓄意攻击,并且不会意外发生。即使是蓄意攻击,目前也不可能获得与给定哈希匹配的纯文本。

    简而言之,md5 对于非安全目的是安全的,但在许多安全应用程序中被破坏。

    【讨论】:

    • 2^(n/2) 正如生日问题所预测的那样。
    • 由于这些信息,是否适合根据各自内容的 md5 哈希为包含数百万个文档的系统创建文档 ID。 @CodesInChaos
    • @sємsєм 我宁愿使用 SHA256,但只要文档是由良性方创建的,MD5 应该不是问题。
    • 由于性能我更喜欢 md5 我认为 md5 比 SHA256 快得多,不是吗? @CodesInChaos
    • @sємsєм 它更快,但即使 SHA-2 和 SHA-3 在桌面 CPU 上也可以处理数百 MB/s。如果这还不够好,您可以查看 Skein 或 Blake2,它们几乎与 MD5 一样快,同时仍然安全。 |或者,如果您可以使用密钥,HMAC-MD5 仍然相对安全。
    【解决方案2】:

    它生成一个 128 位的值。因此,意外冲突率应该是 2-64(因为生日悖论)。

    【讨论】:

    • 碰撞概率因为在 2^64 左右显着,但两个任意值的碰撞率只有 2^-128。
    猜你喜欢
    • 2013-02-05
    • 1970-01-01
    • 2013-05-14
    • 2013-01-21
    • 2021-06-03
    • 1970-01-01
    • 2011-05-06
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多