2012-04-08 63 views
15

SHA384是SHA512的截斷版本。但爲什麼有人會使用它?並且推論:如果SHA384與SHA512一樣好,那麼在使用512位版本時是否有任何理由?爲什麼選擇通過SHA384的SHA512?

我打算使用其中一種算法來驗證文件的完整性,所以我主要關心安全性問題。

我很樂意聽到有人在實踐中使用SHA2摘要,爲什麼你會選擇另一種版本。

+2

SHA224是SHA256的截斷版本。 Wikipedia列出SHA224爲「與兩鍵三重DES的密鑰長度匹配」。我找不到SHA384的聲明,雖然我懷疑類似的東西。 – Mysticial 2012-04-08 08:48:59

回答

19

出於實用目的和可預見的未來,SHA384和SHA512對於幾乎任何可想象的抗碰撞應用都足夠好。一般來說,一旦我們高於256位,並且碰撞阻抗對於實際目的而言是無限的,那麼使用什麼散列的主要決定因素就是您需要多少位輸出。例如,如果您需要哈希來生成256位HMAC密鑰和128位加密密鑰,那麼SHA384是自然選擇。如果您需要儘可能多的計算成本輸出,比如輸出PRNG或隨機填充,那麼SHA512是有意義的。

18

SHA256 SHA1和MD5容易受到length extension attack的影響。 由於SHA224,SHA384和SHA512沒有將輸出減少到內部狀態,所以SHA3也不易受到攻擊。考慮到這一點,SHA512和SHA384都是很好的加密碰撞散列函數。與SHA512簽署

+0

SHA512也vulernable長度擴展攻擊。從SHA-2僅SHA224和SHA834都沒有。 – Marqin 2017-04-07 11:05:46

6

證書不會出現在Windows上使用TLS 1.2工作(see here

因此,我將重建使用SHA-384我的證書鏈(或我想我可以使用SHA-256) 。

雖然值得慶幸的是,我還沒有公佈任何證書然而,在鏈接頁面線程也提出了那些被卡住SHA-512誰解決方法/修復。

HTH!