Hash

為什麼在 SHA-1 之前選擇 RIPEMD-160 雜湊算法?

  • November 11, 2013

比特幣同時使用 SHA-256 和 RIPEMD-160 雜湊。大多數情況下使用雙輪 SHA-256,但對於地址生成,使用 RIPEMD-160,因為它生成更短的雜湊值。RIPEMD-160 具有 160 位或 20 字節的雜湊值,而 SHA-256 具有 256 位或 32 字節的雜湊值。

因此使用 RIPEMD-160 是因為它的雜湊值較短。然而,SHA-1 也產生一個 160 位的散列。RIPEMD-160 是一種不太流行的算法,但實際上實現的效果與 SHA-1 完全相同。

我在網際網路上能找到的唯一真正區別在於RIPEMD-160 的 Wikipedia 頁面的以下片段:

RIPEMD-160 是在開放的學術社區中設計的,與 NSA 設計的 SHA-1 和 SHA-2 算法形成對比。另一方面,RIPEMD-160 的使用頻率似乎比 SHA-1 稍低,這可​​能導致它比 SHA 受到的審查更少。RIPEMD-160 不受任何專利的限制。

是專利問題的原因嗎?為什麼 SHA-1 是一個問題,而 SHA-256 不是?我知道 SHA-1 和 SHA-2(其中 SHA-256 是其中的一部分)是 SHA 倡議的不同迭代,因此可能具有非常不同的法律實施。

有誰真的知道為什麼在更流行的 SHA-1 之前選擇了 RIPEMD-160?

有很多原因。

  1. 正如@ThePiachu 提到的,理論上 SHA-1 可能存在 2^60 位攻擊,這意味著該算法比設計的要弱。
  2. RIPEMD-160 是在開放的學術社區中設計的,與 NSA 設計的 SHA-1 和 SHA-2 算法形成對比。

值得注意的是,中本聰可以使用 SHA2-256 兩次並將第二個摘要截斷為 160 位,因為這同樣安全。他沒有這樣做的事實是一些證據表明他的決定是有意識地決定使用 RIPEMD-160 而不是 NSA 的一套算法。 3. 最後,我相信 RIPEMD 基於與 SHA1/SHA2 算法不同的設計,因此適用於其中一個的攻擊可能無法轉移到另一個(這很好)。

這可能是由於SHA-1 上可能存在理論上的 2^60 位攻擊,這意味著該算法比設計的要弱。RIPEMD 似乎沒有這樣的弱點。

引用自:https://bitcoin.stackexchange.com/questions/16543