BLAKE3
BLAKE3 は BLAKE2 を二分ツリー並列化でさらに最適化したハッシュ関数であり、BLAKE2 よりはるかに高速で、XOF と MAC モードもサポートする。
目的
極限の性能と並列化を実現しつつ、伸長可能な出力とキー付き MAC をサポートする。
メカニズム
BLAKE2b の圧縮関数を基盤に、二分ツリーで入力をチャンクへ分けて並列処理する(各チャンクを独立に圧縮し、統合する)。出力は任意長にできる(XOF)。キードモード(MAC)と鍵導出モード(KDF)をサポートする。既定の出力は 256 ビットである。
ユースケース
- 超大型ファイルのハッシュ化
- 並列コンテンツアドレッシング
- Bazel ビルドシステムのキャッシュ
- ハイパフォーマンスな重複排除
例
- 入力
helloOutputea48e8b6e1c3c3c3c3c3c3c3c3c3c3c3...256-bit default
よくあるエラー
- Performance below expectations because parallelism is not exploited
- Use tree mode on multi-core environments