Keccak
Keccak は Bertoni らが設計したスポンジ関数である。SHA-3 標準の基盤であり、1600 ビットの状態と 24 ラウンドの置換を使う。
目的
Merkle-Damgård とは別のスポンジ構造を提供し、長さ伸張攻撃に耐える。SHA-3 コンペティションの勝者である。
メカニズム
スポンジ構造:吸収相では、メッセージブロックを 1600 ビット状態の r ビットのレート部に XOR し、Keccak-f[1600] 置換を適用する。絞り出し相ではレート部からダイジェストを読み出す。Keccak-f は θ、ρ、π、χ、ι の部分変換 24 ラウンドで構成される。
ユースケース
- SHA-3 標準の基盤
- 可変長ダイジェスト
- スポンジ構造の応用