BLAKE2
BLAKE2 は Jean-Philippe Aumasson らが設計したハッシュ関数であり、MD5 より高速で SHA-3 と同等の安全性を持つ。SHA-2/3 の高性能な代替である。
目的
SHA-2/3 より高いソフトウェア性能を、現代の安全性水準を保ちながら発揮する。
メカニズム
SHA-3 最終候補の BLAKE を改良した方式で、16 個の 64 ビットワードからなる状態に ChaCha 式の ARX クォーターラウンドを適用する。BLAKE2b は 512 ビット(64 ビットプラットフォーム向け)、BLAKE2s は 256 ビット(32 ビットプラットフォーム向け)を出力する。
ユースケース
- 高速なファイルハッシュ化
- WireGuard 公開鍵のハッシュ化
- Python hashlib の高速ハッシュ
- コンテンツアドレス型ストレージ
例
- 入力
helloOutpute4cfa39b41e2b1c8e1c8e1c8...BLAKE2b-512 output
よくあるエラー
- Misusing BLAKE2 as a password hash (no salt/iterations)
- Use Argon2 or a BLAKE2-wrap KDF
関連用語
SHA-256
SHA-256 は SHA-2 ファミリーの 256 ビット出力版である。TLS、ブロックチェーン、暗号応用で広く使われ、現実的な攻撃は知られていない。 用語集
SHA-3 (Keccak)
SHA-3 は Keccak のスポンジ構成に基づくハッシュ標準である。構造上 SHA-2 とまったく異なり、SHA-2 が破られた場合の代替として機能する。 用語集
BLAKE3
BLAKE3 は BLAKE2 を二分ツリー並列化でさらに最適化したハッシュ関数であり、BLAKE2 よりはるかに高速で、XOF と MAC モードもサポートする。 用語集
MD5
MD5 は Ronald Rivest が設計した 128 ビットの暗号学的ハッシュ関数である。衝突攻撃により安全性が崩れており、現在はチェックサムなどセキュリティを要しない用途に限られる。 用語集