Sha-3

為什麼 SHA3 比 SHA2 更安全?

  • September 27, 2021

為什麼 SHA3 算法被認為比 SHA2 算法更安全?當然,部分原因在於它們對長度擴展攻擊的抵抗力。但具體來說,在考慮碰撞阻力時,它們具有相同的 O(n) 攻擊時間。

是因為它們更能抵抗原像攻擊嗎?

TL;DR:當我們考慮抗碰撞性或抗原像性時,“SHA3 比 SHA2 更安全”的斷言未經證實。

另外:有理由更喜歡 SHA3,包括它是一個更通用的工具,因為它是隨機預言的合理實例化(由於長度擴展屬性而與 SHA2 相反)。我參考this answer了解更多。


我們不知道 SHA2 和 SHA3 哪個更耐碰撞。兩者都試圖實現最佳的碰撞阻力 $ n $ -位雜湊,例如成本 $ 2^{n/2} $ 散列(在離 1 不遠的一個因子內)以實現碰撞的機率 ≈39% 的成功。

我們不知道 SHA2 或 SHA3 中哪個更抗原像。兩者都試圖為 $ n $ -位雜湊,例如成本 $ 2^n $ 散列(在離 1 不遠的一個因子內)以實現原像,成功的機率約為 63%。情況並非總是如此:簡而言之,為了使其更快,SHA3 草案的原像電阻降低了,遠低於 SHA2 的(推測)。但這種變化引起了爭議並被逆轉,見這個。現在,當我們不希望 SHA2 可以說是過度殺傷原像抗性時,我們必須使用 SHAKE,而是更喜歡更快的速度。

我們不知道的論點:如果我們知道從碰撞或原像阻力的角度來看哪個 SHA2 或 SHA3 是最安全的(比速度差大的因子,這使得更快的算法相應地不那麼安全),其中之一從這個角度來看,SHA2 或 SHA3 會被破壞。

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