SHA-512とは何ですか?
SHA-512(Secure Hash Algorithm 512) 任意の入力から512ビット(12816進文字)のダイジェストを生成します。SHA-2ファミリーの一部で、 NIST 2001年に制定され、高度なセキュリティ用途に最大の衝突耐性を提供します。
セキュリティ注意事項: SHA-512は既知のすべての衝突および原像攻撃に対して安全であり、重要なシステムや大規模データの整合性に最適です。
SHA-512の動作原理
- メッセージをパディング → 長さ ≡ 896(mod 1024)ビット
- 元のメッセージの128ビットビッグエンディアン長を追加
- 8つの64ビットワードを初期化(素数の平方根の最初の64ビット)
- 各1024ビットブロックを80ラウンドの混合操作で処理します
- 結果を組み合わせて512ビットのダイジェストを生成します
ハッシュの例
Input | SHA-512 ハッシュ |
---|---|
Hello World | 2c74fd17edafd8...(省略) |
password | b109f3bbbc244eb8244191...(省略) |
test123 | 8e9f0a1b2c3d4e5f...(省略) |
(空) | cf83e1357eefb8b...(省略) |
SHA-512と他のハッシュ関数の比較
Algorithm | Output | Security | Speed |
---|---|---|---|
SHA-256 | 256ビット | ✅ 安全 | 🚀 中程度 |
SHA-384 | 384ビット | ✅ 非常に安全 | 🚀 中程度 |
SHA-512 | 512ビット | ✅ 非常に安全 | 🚀 遅い |
よくある質問
SHA-512はパスワードハッシュに適していますか?
一般的なハッシュ処理にはSHA-512を使用しますが、パスワードにはbcrypt、Argon2、またはソルト付きPBKDF2を選択して最適なセキュリティを確保してください。
SHA-512は逆変換できますか?
いいえ。SHA-512は一方向関数であり、逆変換には非現実的な総当たり攻撃や大規模な事前計算テーブルが必要です。
SHA-512を選ぶタイミングは?
最大の衝突耐性が必要で、セキュリティが重要な大規模データセットを処理する場合にSHA-512を選択してください。