SHA384は、SHA512の切り捨てられたバージョンです。しかし、なぜ誰かがそれを使うのでしょうか?そして当然の結果:SHA384がSHA512と同じくらい優れている場合、512ビットバージョンを使用する理由はありますか?
ファイルの整合性を検証するためにアルゴリズムの1つを使用することを計画しているので、主に衝突セキュリティに関心があります。
誰かが実際にSHA2ダイジェストをどのように使用しているか、そしてなぜ一方のバージョンを他方よりも選択したのかを聞いてうれしく思います。
SHA512、SHA256、SHA1、および MD5 は、長さ拡張攻撃に対して脆弱です。SHA224 と SHA384 は内部状態への出力が減少しているため、SHA3 も脆弱ではありません。そのことを念頭に置いて、SHA512 は優れた暗号衝突耐性のあるハッシュ関数です。
実用的な目的と近い将来、SHA384 と SHA512 はどちらも、考えられるほぼすべての衝突耐性アプリケーションに十分対応できます。一般に、使用するハッシュの主な決定要因は、256 ビットを超え、実用的な目的で衝突耐性が無限になった場合、必要な出力のビット数です。たとえば、256 ビットの HMAC キーと 128 ビットの暗号化キーの両方を生成するためにハッシュが必要な場合、SHA384 は自然な選択です。PRNGの出力やランダムパディングなど、計算コストのためにできるだけ多くの出力が必要な場合は、SHA512が理にかなっています。
SHA512 で署名された証明書は、Windows の TLS 1.2 では機能しないようです (こちらを参照)
したがって、SHA-384 を使用して証明書チェーンを再作成します (または、SHA-256 を使用できると思います)。
ありがたいことに、私はまだ証明書をリリースしていませんが、リンクされたページのスレッドは、SHA-512 で立ち往生している人のための回避策/修正を提案しています。
チッ!