SHA-384とは?
SHA-384(Secure Hash Algorithm 384) 任意の入力から384ビット(96桁の16進数)のダイジェストを生成します。これはSHA-512の切り詰めバリアントであり、 NIST FIPS 180-4で標準化されており、より強力な衝突耐性を必要とするアプリケーションに対してセキュリティとパフォーマンスのバランスを提供します。
セキュリティ注意事項: SHA-384は既知の衝突攻撃およびプレイイメージ攻撃に対して安全であり、SHA-256よりも高いセキュリティが必要な場合に推奨されます。
SHA-384の動作方法
- メッセージをパディング → 長さ ≡ 896 (mod 1024) ビット
- 128ビットのビッグエンディアンメッセージ長を追加
- 8つの64ビットワードを初期化(素数の平方根の最初の64ビット)
- 各1024ビットブロックを80ラウンドの混合操作で処理します
- 最終的な512ビット状態を384ビットのダイジェストに切り詰める
ハッシュの例
Input | SHA-384 ハッシュ |
---|---|
Hello World | 7f3e2e4c9a7b8c1d...(省略) |
password | b109f3bbbc244eb82441917ed06d618b9008dd09...(省略) |
test123 | 9a8b7c6d5e4f3a2b...(省略) |
(空) | 38b060a751ac96384cd9327eb1b1e36a21fdb71114be0743...(省略) |
SHA-384 と他のハッシュ関数の比較
Algorithm | Output | Security | Speed |
---|---|---|---|
SHA-256 | 256ビット | ✅ 安全 | 🚀 中程度 |
SHA-384 | 384ビット | ✅ 非常に安全 | 🚀 中程度 |
SHA-512 | 512ビット | ✅ 非常に安全 | 🚀 遅い |
よくある質問
SHA-384はパスワードハッシュに適していますか?
一般的なハッシュにはSHA-384を使用しますが、パスワード保存にはbcryptやArgon2などのソルト付きの専門的なスキームを推奨します。
SHA-384は逆変換できますか?
いいえ。SHA-384は一方向関数であり、逆変換には実行不可能なブルートフォースや大規模な事前計算テーブルが必要です。
いつSHA-384を選択すべきですか?
SHA-512の完全なオーバーヘッドなしで、SHA-256よりも高い衝突耐性のためにSHA-384を選択してください。