Keccakは「ケチャック」と発音し、Guido Bertoni氏、Joan Daemen氏、Michaël Peeters氏、Gilles Van Assche氏によって作られた柔軟な暗号関数です。Keccakは様々な応用が考えられますが、SHA-1やSHA-2のような旧来のハッシュアルゴリズムと比較して、より高度なセキュリティを提供するハッシュ関数として認識されています。
頭字語のSHAはSecure Hash Algorithmの略で、米国標準技術局(NIST)が開発した一連の暗号ハッシュ関数を表しています。SHA-1もSHA-2も米国家安全保障局(NSA)によって作られたもので、構造は似ています。KeccakはSHA-2と同じ出力サイズ(ハッシュ長)を持つにもかかわらず、その運用メカニズムは大きく異なります。それにもかかわらず、KeccakはSHAファミリーの一部とみなされ、一般にSHA-3として知られています。
要約すると、SHA-1に対する理論的な攻撃は2004年に公開され、2011年にNISTがSHA-2を新しい標準ハッシュ関数として宣言するに至りました。SHA-1からSHA-2への移行が遅れていたところ、2017年にSHA-1の衝突攻撃が成功し、SHA-1は安全でなくなり、使用は控えられるようになりました。SHA-3として知られるKeccakは、SHA-1とSHA-2の潜在的な欠陥に対処するために開発され、2012年にNISTが開催したコンペティションで優勝し、SHAファミリーの最新メンバーとなりました。その革新的な構造とスポンジ機能への依存が、選出に寄与しました。SHA-2は現在も広く使われており安全ですが、将来SHA-3が採用される可能性は、その攻撃に対する耐性に影響されるかもしれません。さらに、現在進行中の暗号技術の進化により、今後数年のうちに新しい暗号ハッシュアルゴリズムが開発されるかもしれません。