Sha-256
Argon2 使用 SHA-256 而不是 Blake2
SHA-256 可以代替 Argon2 算法中的 Blake2 嗎?
我正在研究Argon2的 C 參考原始碼並將其手動翻譯成 Go。我只是想知道為什麼選擇 Blake2 而不是像 SHA-256 這樣經過良好測試的算法。
- 如果你看一下密碼雜湊競賽,你會發現,大多數方案使用 Blake2b,其中一些使用 SHA-512,沒有一個使用 SHA-256。
Blake2b 針對 64 位平台進行了優化,此屬性完全符合密碼散列方案的要求。SHA-512 也可以,但 SHA-256 在軟體中會慢得多,而且由於 SHA-256 用於比特幣探勘,SHA-256 的定制硬體非常便宜——這正是,什麼我們不想要密碼散列方案。
我不建議替換 Argon2 的任何部分。所有密碼分析均參考原始版本。Argon2 與 Catena(密碼雜湊競賽的另一種方案)不同,它不是一個靈活的框架,它被設計為與可變算法一起使用。 2. Argon2 不僅使用了 Blake2b 函式,還使用了 Blake2b 的簡化版本,即壓縮函式 G。您可以將 Blake2b 替換為 SHA-256,但您不能輕易替換簡化版本,因為 Blake2b 使用的輪數比SHA-256。