Loading article…
以下の表は、いくつかの暗号化ハッシュ関数の一般情報と技術情報を比較したものです。詳細については、各関数の記事を参照してください。この記事は、すべてを網羅しているわけではなく、必ずしも最新のものではありません。ハッシュ関数のセキュリティ/暗号解析の概要については、ハッシュ関数のセキュリティの概要を参照してください。
一般情報
暗号ハッシュ関数に関する基本的な一般情報: 年、設計者、参考文献など。
パラメータ
注記
- ^ここでの 内部状態とは、データ ブロックを圧縮するたびに得られる「内部ハッシュ サム」を意味します。ほとんどのハッシュ アルゴリズムでは、最後に長さを埋め込むために、これまでに圧縮されたデータの長さなどの追加の変数も内部的に使用します。詳細については、Merkle–Damgård 構成を参照してください。
- ^ BLAKE2b のメッセージ長カウンタのサイズは 128 ビットですが、比較対象の他のハッシュ関数のようにビット単位ではなくバイト単位でメッセージ長をカウントします。したがって、128 ビットの長さサイズ (1 バイトは 8 ビットに相当) が示すよりも 8 倍長いメッセージを処理できます。131 ビットの長さサイズは、これに相当する長さサイズです ( )。
- ^ BLAKE2 のメッセージ長カウンタのサイズは 64 ビットですが、比較対象の他のハッシュ関数のようにビット単位ではなくバイト単位でメッセージ長をカウントします。したがって、64 ビットの長さサイズが示唆するよりも 8 倍長いメッセージを処理できます (1 バイトは 8 ビットに相当します)。67 ビットの長さサイズは、これに相当する長さサイズです ( )。
- ^ 技術的には2 64バイト、つまり2 67ビットである[2]
- ^ 完全な BLAKE3 増分状態には、最大 1728 バイトのサイズの連鎖値スタックが含まれます。ただし、圧縮関数自体はこのスタックにアクセスしません。最大入力長が制限されている場合は、より小さなスタックを使用することもできます。
- ^ RadioGatún は拡張可能な出力関数であり、出力のサイズは無制限です。公式のテスト ベクトルは 256 ビット ハッシュです。RadioGatún は、19 ワードのサイズの暗号スポンジ関数のセキュリティ レベルを備えていると主張しています。つまり、32 ビット バージョンは、プリイメージ攻撃については 304 ビット ハッシュのセキュリティを備えていますが、衝突攻撃については 608 ビット ハッシュのセキュリティを備えています。同様に、64 ビット バージョンは、608 ビットまたは 1216 ビット ハッシュのセキュリティを備えています。RadioGatún が長さ拡張攻撃に対してどの程度脆弱であるかを判断する目的で、ハッシュ圧縮操作の合間に 58 ワードの状態のうち 2 ワードのみが出力されます。
- ^ RadioGatún は Merkle-Damgård 構造ではないため、ブロック サイズはありません。ベルトのサイズは 39 ワードです。RadioGatún の「ブロック」に最も近いものであるミルのサイズは 19 ワードです。
- ^ RadioGatúnの32ビット版と64ビット版のみに公式テストベクターがある
- ^ 18回のブランクラウンドは、RadioGatúnでは入力マッピング段階の終了から出力ビットの生成前までの間に1回だけ適用される。
- ^ 基礎となるアルゴリズムKeccak のハッシュ長は任意ですが、NIST は SHA-3 の有効なモードとして 224、256、384、512 ビットの出力を指定しました。
- ^ 実装に依存します。FIPS PUB 202 のセクション 7、22 ページの下から 2 番目の段落に従います。
圧縮機能
以下の表は、暗号ハッシュ関数の圧縮関数に関する技術情報を比較したものです。情報は仕様から引用されており、詳細については仕様を参照してください。
注記
- ^ 省略された被乗数はワードサイズです。
- ^ 作者によってはパスとラウンドを交換する人もいます。
- ^ A: 加算、減算; B:ビット演算; L:ルックアップテーブル; S:シフト、回転。
- ^ バイトエンディアンのみを参照します。操作がビット単位の操作とルックアップ テーブルのみで構成されている場合、エンディアンは無関係です。
- ^ メッセージ ダイジェストのサイズは通常、連鎖値のサイズと同じです。SHA-384 などの特定の暗号ハッシュ関数の切り捨てバージョンでは、前者は後者よりも小さくなります。
- ^ 連鎖値のサイズは通常、計算値のサイズと同じです。RIPEMD-160 などの特定の暗号ハッシュ関数では、前者は後者よりも小さくなります。これは、RIPEMD-160 が 2 セットの並列計算値を使用し、それを 1 セットの連鎖値に結合するためです。
- ^ 最大入力サイズ = 2長さサイズ− 1ビット。たとえば、SHA-1 の最大入力サイズ = 2 64 − 1 ビット。
参照
参考文献
- ^ Dobbertin, Hans ; Bosselaers, Antoon; Preneel, Bart (1996 年 2 月 21 ~ 23 日)。RIPEMD-160: RIPEMD の強化版(PDF) 。高速ソフトウェア暗号化。第 3 回国際ワークショップ。ケンブリッジ、英国。pp . 71 ~ 82。doi : 10.1007/3-540-60865-6_44。
- ^ https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf 8 ページ
外部リンク
- ECRYPT 暗号ハッシュのベンチマーク – さまざまなプラットフォームでのハッシュ関数の速度の測定
- ECRYPT ハッシュ関数ウェブサイト – 暗号ハッシュ関数の wiki
- SHA-3 プロジェクト – SHA-3 競争に関する情報
