Hash

使用慢散列來減少摘要大小?

  • April 20, 2021

我在 MD5 替換 128 位摘要中看到了這個問題。很多次都說今天不可能有一個 128 位的摘要,因為找到一個衝突只需要 $ 2^{64} $ 運營,這是當今大型組織的手段。但是,我認為這些答案錯過了一個相當重要的點。

暴力破解散列函式的時間不僅取決於其摘要的安全位數,還取決於計算單個散列所需的時間。這就是為什麼像 bcrypt(184 位)這樣的慢速散列函式與 SHA-256(256 位)這樣的快速散列函式相比可以提供更短的摘要大小。

在這種情況下,是不是不能有一個抗碰撞的 128 位慢散列函式來代替 MD5 呢?

謝謝您的幫助。

難道不能有一個抗碰撞的128位慢散列函式來代替MD5嗎?

這是可能的。

我們可以在 Raspberry Pi 3 上使用Argon2參數化 128 位輸出和(比如說)10 ms 計算。如果有什麼東西可以將速度提高一百倍,並且我們在 100 萬個單元上並行化,那麼發現與 $ 2^{128/2}/10^{10}/86400/365.25\approx58 $ 年的計算。

這將在 128 位大小很重要的某些應用程序中取代 MD5,抗碰撞性是必不可少的,但對於小輸入或 512 位塊大小(例如 HMAC-MD5,但據我們所知,這個沒有損壞) )。

並非巧合,這是密碼散列的目前最佳實踐。

注意:在發現 Argon2 版本 0x13 已經包含一個快速雜湊作為第一步後,我已經簡化了這個答案,即 Blake2b。

引用自:https://crypto.stackexchange.com/questions/89497