SHA-3
この置換は、ワード長を w としたとき、5×5×w ビットの状態を別の状態に変換する。 2の冪である任意の w=2 に対して定義されているが、SHA-3においてはワード長は w=64 (l= 6) が使われる。
状態は5×5×wビットのアレイで表現される。A[x][y][z] はリトルエンディアンに従うと (5y + x)×w + z 番目の入力ビットとなる。インデックス演算は、最初の2つの次元に対しては modulo 5、3つめの次元に対しては modulo w となる。
基本的なブロック置換関数は5つの副ラウンドからなる 12+2l の繰り返しで構成される。それぞれの副ラウンドは単純なものである(代入形式で記述される場合、入力状態を A、出力状態を A’ とする)。
NISTによる公募の期間中、発見された問題への対処として応募者がアルゴリズムを修正することが許されていた。Keccakに加えられた修正は以下の通りである。
セキュリティ向上のためラウンド数が 12+l から 12+2l に増やされた
メッセージパディングが、複雑なものから上述のより単純なものに変更された
比率 r が、可能な限り大きくされた