SHA-3 (Keccak)
SHA-3 は Keccak のスポンジ構成に基づくハッシュ標準である。構造上 SHA-2 とまったく異なり、SHA-2 が破られた場合の代替として機能する。
目的
SHA-2 と構造的に独立な代替ハッシュを提供し、暗号の多様性を高める。
メカニズム
Keccak-f[1600] 置換に基づくスポンジ構成である。吸収フェーズでは入力をレートで分割して状態へ XOR し置換を適用し、絞り出しフェーズで状態から出力を取り出す。キャパシティ c がセキュリティレベルを決め、SHA3-256 は 256 ビットを出力する。
ユースケース
- NIST 標準の代替ハッシュ
- Ethereum のアドレスハッシュ(Keccak-256)
- 暗号ライブラリの多様性
- 長さ延伸攻撃が効かないユースケース
例
- 入力
helloOutput1c8aff950685c2edc9a3d8b3e1c1c5...SHA3-256 output
よくあるエラー
- Confusing SHA3-256 with Keccak-256 (different padding)
- Be explicit about the SHA-3 or Keccak variant
関連用語
SHA-256
SHA-256 は SHA-2 ファミリーの 256 ビット出力版である。TLS、ブロックチェーン、暗号応用で広く使われ、現実的な攻撃は知られていない。 用語集
SHA-512
SHA-512 は SHA-2 ファミリーの 512 ビット出力版である。64 ビットプラットフォームでは SHA-256 より高速で、より高いセキュリティ余裕を提供する。 用語集
BLAKE2
BLAKE2 は Jean-Philippe Aumasson らが設計したハッシュ関数であり、MD5 より高速で SHA-3 と同等の安全性を持つ。SHA-2/3 の高性能な代替である。 用語集
BLAKE3
BLAKE3 は BLAKE2 を二分ツリー並列化でさらに最適化したハッシュ関数であり、BLAKE2 よりはるかに高速で、XOF と MAC モードもサポートする。 用語集