グロストル

暗号ハッシュ関数
グロストル
一般的な
デザイナープラヴィーン・ガウラヴァラム、ラース・クヌッセン、クリスチャン・マトゥシェヴィッツ、フロリアン・メンデル、クリスチャン・レヒベルガー、マーティン・シュレッファー、ソーレン・S・トムセン
関連AES
認証SHA-3ファイナリスト
詳細
ダイジェストサイズ任意(8ビットから512ビットまで8ビットステップ)[1]
ラウンド10(ダイジェストサイズ8〜256)または14(ダイジェストサイズ264〜512)
スピード 224/256 ビット ダイジェストの場合はCore 221.4 cpb 、384/512 ビット ダイジェストの場合は 30.1 cpb。
最高の公開暗号解読
5ラウンドの衝突攻撃[2]

Grøstlは、Praveen Gauravaram、Lars Knudsen、Krystian Matusiewicz、Florian Mendel、Christian Rechberger、Martin Schläffer、Søren S. ThomsenによってNISTハッシュ関数コンペティションに提出された暗号ハッシュ関数です。Grøstlは、コンペティションのファイナリスト5名に選出されました。Grøstlは、 AESと同じS-boxを独自の構成で使用しています。著者らは、 Intel Core 2 Duo最大21.4サイクル/バイトIntel i7AES-NIで最大9.6サイクル/バイトの速度を実現したと主張しています。

提出書類によると、「Grøstl」という名前は多言語の言葉遊びで、ハッシュ(食べ物)に非常によく似たオーストリア料理を指しています。

MD5/SHAファミリーの他のハッシュ関数と同様に、Grøstlは入力をブロックに分割し、h i = f ( h i −1 , m i )を反復的に計算します。ただし、Grøstlは最終出力の少なくとも2倍のサイズ(512または1024ビット)のハッシュ状態を保持し、ハッシュ計算の最後にのみ切り捨てられます。

圧縮関数fは、512 ビットまたは 1024 ビットの置換関数PQのペアに基づいており、次のように定義されます。

f ( h , m ) = P ( hm ) ⊕ Q ( m ) ⊕ h

順列関数PQは、Rijndael (AES)ブロック暗号に大きく基づいていますが、4×4ではなく8×8または8×16のバイト配列を演算します。AESと同様に、各ラウンドは4つの演算で構成されます。

  1. AddRoundKey (Grøstl ラウンドキーは固定ですが、P と Q では異なります)
  2. SubBytes(これはRijndael S-boxを使用し、AES実装との共有を可能にします)
  3. ShiftBytes(AESに比べて拡張されており、PとQ、512ビット版と1024ビット版でも異なります)
  4. MixColumns(Rijndaelの4×4ではなく8×8行列を使用)

Rijndael とは異なり、すべてのラウンドは同一であり、最終的な AddRoundKey 操作はありません。512 ビットの順列には 10 ラウンドが推奨され、1024 ビット バージョンには 14 ラウンドが推奨されます。

最終的なダブル幅ハッシュは、次の最終出力変換を受け取ります。

Ω ( h ) = h⊕P ( h )

その後、必要な幅に切り詰められます。これは、すべてゼロのメッセージブロックmを用いて圧縮関数の最終反復を適用し、その後に(暗号学的には意味のない)固定定数Q (0)との排他的論理和を適用することと同等です

Grøstlハッシュの例

空の文字列のハッシュ値。

グロストル-224("")
0x f2e180fb5947be964cd584e22e496242c6a329c577fc4ce8c36d34c3
グロストル-256("")
0x 1a52d11d550039be16107f9c58db9ebcc417f16f736adb2502567119f0083467
グロストル-384("")
0x ac353c1095ace21439251007862d6c62f829ddbe6de4f78e68d310a9205a736d8b11d99bffe448f57a1cfa2934f044a5
グロストル-512("")
0x 6d3ad29d279110eef3adbd66de2a0345a77baede1557f5d099fce0c03d6dc2ba8e6d4a6633dfbd66053c20faa87d1a11f39a7fbe4a6c2f009801370308fc4ad8

たとえメッセージに小さな変更があっても、雪崩効果により(圧倒的な確率で)ハッシュはほぼ変化します。例えば、文末にピリオドを追加すると、次のようになります。

Grøstl-256(「素早い茶色のキツネが怠け者の犬を飛び越える」)
0x 8c7ad62eb26a21297bc39c2d7293b4bd4d3399fa8afab29e970471739e28b301
Grøstl-256(「素早い茶色のキツネが怠け者の犬を飛び越える。」)
0x f48290b1bcacee406a0429b993adb8fb3d065f4b09cbcdb464a631d4a0080aaf

参考文献

  1. ^ プラヴィーン・ガウラヴァラム;ラース・R・クヌーセン。クリスティアン・マトゥシェヴィッチ。フロリアン・メンデル。クリスチャン・レヒベルガー。マルティン・シュレーファー; Søren S. Thomsen (2011-03-02)、Grøstl - SHA-3 候補(PDF)
  2. ^ Mendel, Florian; Rijmen, Vincent; Schläffer, Martin (2014-04-30)、「5ラウンドのGrøstlに対する衝突攻撃」、Cryptology ePrint Archive、レポート2014/305
  • Grøstlのウェブサイト
  • ジョージ・メイソン大学の暗号工学研究グループ(CERG)によって開発されたVHDLソースコード


「https://en.wikipedia.org/w/index.php?title=Grøstl&oldid=1296627147」から取得