暗号
BLAKE2
別称: BLAKE2b, BLAKE2s, RFC 7693
定義
RFC 7693 で規定された高速かつ現代的な暗号学的ハッシュ関数で、SHA-3 に匹敵する安全性とソフトウェア上での圧倒的な高速性を提供する。
BLAKE2 は、SHA-3 ファイナリストであった BLAKE を改良するかたちで 2012 年に Aumasson、Neves、Wilcox-O'Hearn、Winnerlein により設計されたハッシュ関数ファミリーです。主な変種は BLAKE2b(最大 64 バイト出力、64 ビット環境向け)と BLAKE2s(最大 32 バイト出力、32 ビット環境向け)で、並列版 BLAKE2bp/BLAKE2sp も存在します。HAIFA 構造に ChaCha 風の置換を組み合わせ、鍵付きハッシュ、ソルト、パーソナライズ、ツリーハッシュをネイティブにサポートするため、別途 HMAC でラップする必要はありません。実用的な攻撃は知られておらず、ソフトウェアでは SHA-2/SHA-3 より高速で、Argon2、libsodium、WireGuard のハンドシェイクハッシュ、Zcash などで採用されています。
例
- Argon2 は内部で BLAKE2b を圧縮プリミティブとして利用する。
- WireGuard はハンドシェイクのトランスクリプトを BLAKE2s でハッシュする。
関連用語
暗号学的ハッシュ関数
任意長の入力を固定長のダイジェストへ写す決定的な一方向関数で、衝突耐性・原像耐性・第二原像耐性を備える。
SHA-256
SHA-2 ファミリーに属する 256 ビットの暗号学的ハッシュ関数で、デジタル署名、TLS、ブロックチェーン、完全性検証で広く利用される。
SHA-3
Keccak のスポンジ構造に基づくハッシュ関数ファミリーで、SHA-2 とは構造的に異なる代替として NIST が標準化した。
Argon2
2015 年の Password Hashing Competition で優勝し、RFC 9106 に標準化された、メモリ消費型の最新パスワードハッシュ関数兼 KDF。
HMAC
RFC 2104 と FIPS 198-1 で定義された、暗号学的ハッシュ関数を土台とする鍵付きメッセージ認証コード(MAC)構造。
デジタル署名
メッセージや文書の真正性・完全性・否認防止を証明する公開鍵暗号方式のメカニズム。