Encryption

512 位比 256 位更安全嗎?

  • August 8, 2020

我知道 512 位散列更安全,但我真的不知道為什麼。我希望有人可以幫助我更詳細地理解它。

當散列函式沒有已知的弱點時,我們討論它們的通用1阻力

  • **抗前映像:**給定雜湊值 $ h $ 找消息 $ m $ 這樣 $ h=Hash(m) $ . 例如,考慮將密碼的雜湊值儲存在伺服器上。攻擊者將嘗試找到您帳戶的有效密碼。
  • **第二抗前像:**給定消息 $ m_1 $ 應該在計算上不可行以找到另一條消息 $ m_2 $ 這樣 $ m_1 \neq m_2 $ 和 $ Hash(m_1)=Hash(m_2) $ ,例如,產生對給定消息的偽造。
  • 碰撞阻力:很難找到兩個不同的輸入, $ a $ 和 $ b $ ,該雜湊到相同的輸出 $ a $ 和 $ b $ , IE, $ H(a)= H(b) $ 和 $ a \neq b. $

具有輸出大小的散列函式 $ n $ 預計有 $ \mathcal{O}(2^n) $ 原像抗性和二次像抗性和 $ \mathcal{O}(\sqrt{2^n)} = \mathcal{O}(2^{n/2}) $ 碰撞阻力。由於生日悖論(攻擊) ,碰撞阻力較小。

如果我們將 256 和 512 代入這些方程,您會看到

  • 256 有 $ \mathcal{O}(2^{256}) $ 預科和二級和 $ \mathcal{O}(2^{128}) $ 抗碰撞性,而
  • 512 有 $ \mathcal{O}(2^{512}) $ 預科和二級和 $ \mathcal{O}(2^{256}) $ 碰撞阻力。

因此,只要(未指定的)雜湊函式沒有特定的弱點,輸出越大,它們的阻力就越大。

當指定散列函式時,人們可以談論它們在各個方向上的阻力。例如;


簡單來說,一般阻力的關係是,

上述事實的阻力和現代密碼交易的正式定義以及小說文章中提供的更多內容;Cryptographic Hash-Function Basics: Definitions, Implications, and Separations for Preimage Resistance, Second-Preimage Resistance, and Collision Resistance由 P. Rogaway 和 T. Shrimpton 在 2009 年發表。


1當抵抗(或攻擊)應用所有散列函式時,使用術語泛型。該術語也類似地用於其他加密上下文中。

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