SHA-3
KeccakがSHA-3として選出された後、2013年2月のRSA Conferenceおよび2013年8月のCHESにおいて、NISTはSHA-3標準のセキュリティパラメータとして、キャパシティの大きさを応募時のものから変更するであろうと発表した。この変更が一時騒動をもたらした。
ブルース・シュナイアーは、アルゴリズムを受け入れるにあたって有害なものであるとしてこの決定を批判した。
一方、Paul Crowleyはこの決定に賛意を表明した。その内容を要約すると以下の通りである。
Keccakはこのように可変性を持つよう設計されている。SHA-3の仕様において、今回の決定はさほど重要なものではない。キャパシティの大きさと出力長は、要求されるセキュリティに応じてそれぞれ独立に変更できるのだから。
ハッシュ関数に、衝突攻撃よりも第二原像攻撃に対して途方もなく高い耐性を求めるべき理由はない。
「よりセキュアでない」Keccakを心配するのであれば、スポンジ構造のキャパシティを大きくするのではなくラウンド数を増やすべきだ。
25ワードごとに異なる三角数 0, 1, 3, 6, 10, 15, .... でローテートする。
A[0][0]はローテートせず、出力A’にコピーする。それ以外すべての 0≤t≤23 に対して、A’[x][y][z] = A[x][y][z−(t+1)(t+2)/2] とする。このとき ( x y ) = ( 0 1 2 3 ) t ( 1 0 ) {\displaystyle {\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}0&1\\2&3\end{pmatrix}}^{t}{\begin{pmatrix}1\\0\end{pmatrix}}} とする。
あるセキュリティレベルを要求して公募を行ったにもかかわらずそれと異なるレベルを最終標準とすることはちょっと恥ずかしいことだ。しかし、それを改めようとしたら公募をやり直す以外にできることはないし、そうしたところで事態は改善しない。
ダニエル・バーンスタインは、オリジナルのKeccakで提唱されていたようにキャパシティを576ビットに強化することを提唱した。
Keccakの設計チームは、新しいパラメータに賛意を表明しており、NISTによるパラメータ変更は、NISTのハッシュチームと自分たちによる議論の結果によるものであると表明した。しかし、暗号コミュニティに対しては、すべての場合において512ビットのキャパシティを用いることを提唱している。
2013年11月、NISTのJohn KelseyはCHESでの発表に対する反応から、近いうち正式に発表する草稿においては、キャパシティの値を応募時のものから変更しない方針であることを明らかにした。この方針は、2014年4月および5月に続けて公開されたFIPS 202の草稿に反映された。また最終的に、キャパシティを含めたハッシュ関数全体は草稿より変更されなかった。