SHA-256
SHA-256 は SHA-2 ファミリーの 256 ビット出力版である。TLS、ブロックチェーン、暗号応用で広く使われ、現実的な攻撃は知られていない。
目的
現代の衝突・原像耐性の要件を満たす 256 ビットのセキュアハッシュを提供する。
メカニズム
入力を 512 ビットブロックで処理し、256 ビット(32 ビット語 8 個)の状態を維持する。各ブロックはメッセージスケジュールとラウンド定数を伴う 64 ステップの非線形変換で状態を更新し、256 ビットのダイジェストを出力する。
ユースケース
- TLS 1.2/1.3 証明書の署名
- Bitcoin のプルーフオブワーク
- ファイルの整合性検証
- HMAC-SHA256 によるメッセージ認証
例
- 入力
helloOutput2cf24dba5fb0d30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824256 bits = 64 hex characters
よくあるエラー
- Hashing passwords directly with SHA-256 (no salt)
- Use PBKDF2/bcrypt/Argon2
関連用語
SHA-1
SHA-1 は NSA が設計した 160 ビットの暗号学的ハッシュ関数である。Google は 2017 年に SHAttered 衝突を公表し、各規格で廃止が進んでいる。 用語集
SHA-512
SHA-512 は SHA-2 ファミリーの 512 ビット出力版である。64 ビットプラットフォームでは SHA-256 より高速で、より高いセキュリティ余裕を提供する。 用語集
SHA-3 (Keccak)
SHA-3 は Keccak のスポンジ構成に基づくハッシュ標準である。構造上 SHA-2 とまったく異なり、SHA-2 が破られた場合の代替として機能する。 用語集
BLAKE2
BLAKE2 は Jean-Philippe Aumasson らが設計したハッシュ関数であり、MD5 より高速で SHA-3 と同等の安全性を持つ。SHA-2/3 の高性能な代替である。 用語集
HMAC
HMAC(Hash-based Message Authentication Code)はハッシュ関数と秘密鍵を組み合わせたメッセージ認証コードであり、完全性と真正性を提供する。 用語集
関連ツール
ハッシュ計算ツール
Compute MD5, SHA-1, SHA-256, or SHA-512 hashes with hex or Base64 output。無料、プライベート、100%クライアントサイド。 ツール
ハッシュ比較ツール
Compare MD5, SHA-1, SHA-256, SHA-384, SHA-512 of the same input。無料、プライベート、100%クライアントサイド。 ツール
HMAC ジェネレーター
Generate HMAC (Keyed-Hash Message Authentication Code) with SHA-1/256/512。無料、プライベート、100%クライアントサイド。 ツール