Encryption
512 位比 256 位更安全嗎?
我知道 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}) $ 碰撞阻力。
因此,只要(未指定的)雜湊函式沒有特定的弱點,輸出越大,它們的阻力就越大。
當指定散列函式時,人們可以談論它們在各個方向上的阻力。例如;
- 標準Merkle-Damgård 結構 (MD) (MD5, SHA-1, SHA-2) 容易受到長度擴展攻擊,然而,海綿結構 (SHA3) 和基於HAIFA的結構(例如BLAKE(2))則不然。請注意,在 SHA3 之後,還有 SHA-2 的變體可以抵抗長度擴展攻擊,例如 SHA512-256,
- MD 結構的Herding 攻擊由Kelsey 和 Kohno 在 2005 年引入,並應用於 MD5在全 MD5 中查找原像比使用選擇目標強制前綴原像抗性的窮舉搜尋更快
- SHA-1 上的選擇前綴衝突是一個混亂 - SHA-1 上的第一次選擇前綴衝突和應用到 PGP 信任網路,2020。可以找到對 SHA-1 的攻擊列表1 , 2
簡單來說,一般阻力的關係是,
- 碰撞阻力意味著雜湊函式的第二原像阻力,請參閱我們網站上的詳細工作
- 2nd-preimage resistance 表示抗原像性,請參閱本網站上的證明。
上述事實的阻力和現代密碼交易的正式定義以及小說文章中提供的更多內容;Cryptographic Hash-Function Basics: Definitions, Implications, and Separations for Preimage Resistance, Second-Preimage Resistance, and Collision Resistance由 P. Rogaway 和 T. Shrimpton 在 2009 年發表。
1當抵抗(或攻擊)應用所有散列函式時,使用術語泛型。該術語也類似地用於其他加密上下文中。