2012-04-08 10 views
15

SHA384は、SHA512の切り詰めバージョンです。しかし、誰がそれを使うのですか? SHA3​​84がSHA512とまったく同じだとすれば、512ビット版を使用する根拠はありますか?なぜSHA512をSHA384よりも選択したのですか?

ファイルの整合性を検証するためにアルゴリズムの1つを使用する予定であるため、主にコリジョンセキュリティに関心があります。

実際にSHA2ダイジェストをどのように使用しているのか、そしてなぜ他のバージョンよりも1つのバージョンを選択したのか、聞いて嬉しいです。

+2

SHA224は、SHA256の切り詰めバージョンです。 Wikipediaには、SHA224が「2キーTriple DESの鍵長に一致する」と記載されています。私はSHA384の声明を見つけることができませんが、似たような疑いがあります。 – Mysticial

答えて

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はまた、長さの拡張攻撃に対して爆発性があります。 SHA-2からのみSHA224とSHA834はそうではありません。 – Marqin

6

証明書は、私がSHA-384を使用して、私の証明書チェーンを再作成されます(または私はSHA-256を使用することができますと仮定)、(see here

そのため、Windows上でTLS 1.2で動作するように表示されません。 。

ありがたいことに、私はまだ証明書を公開していないが、リンクされたページのスレッドは、SHA-512に固執している人のための回避策/修正を提案している。

HTH!

関連する問題