米国国立標準技術研究所(NIST)によって標準として承認された対称ブロック暗号である高度暗号化標準( AES)は、1997年から2000年にかけて行われた選定プロセスを経て選ばれました。このプロセスは、前身であるデータ暗号化標準(DES)よりもはるかにオープンで透明性の高いものでした。このプロセスは、オープンな暗号コミュニティから高い評価を受け、前身であるDESにバックドアが存在するのではないかと疑っていた人々から、採用されたアルゴリズムのセキュリティに対する信頼を高めることにつながりました。
新しい標準が必要になった主な理由は、DES の鍵が比較的小さく 56 ビットであり、総当たり攻撃に対して脆弱になりつつあったためです。さらに、DES は主にハードウェア向けに設計されており、ソフトウェアで実装すると比較的低速でした。[ 1 ] Triple-DES は鍵サイズが小さいという問題を回避していますが、ハードウェアでも非常に低速であり、リソースが限られたプラットフォームには適しておらず、(今日では比較的小さい) 64 ビットのブロックサイズに関連する潜在的なセキュリティ問題の影響を受ける可能性があります。
1997年1月2日、NISTはDESの後継としてAESを選定したいと発表した。DESと同様に、これは「機密扱いされていない、一般に公開された暗号化アルゴリズムで、次世紀まで政府の機密情報を保護できるもの」となるはずだった。[ 2 ]しかし、NISTは単に後継を発表するのではなく、後継の選定方法について関係者からの意見を求めた。オープンな暗号コミュニティからの関心はすぐに高まり、NISTは3ヶ月の意見募集期間中に多数の提出物を受け取った。
このフィードバックの結果、1997年9月12日に新しいアルゴリズムの募集が行われました。[ 3 ]アルゴリズムはすべてブロック暗号で、ブロックサイズは128ビット、鍵サイズは128、192、256ビットをサポートすることになっていました。発表当時、このような暗号は珍しく、最もよく知られていたのはおそらくSquareでした。
その後の9ヶ月間で、複数の国から15のデザインが作成され、提出されました。それらはアルファベット順に、CAST-256、CRYPTON、DEAL、DFC、E2、FROG、HPC、LOKI97、MAGENTA、MARS、RC6、Rijndael、SAFER+、Serpent、Twofishです。
その後の議論では、暗号学者によって候補となる方式の多くの長所と短所が調査されました。セキュリティだけでなく、さまざまな環境(さまざまなアーキテクチャのPC、スマートカード、ハードウェア実装)でのパフォーマンスや、限られた環境(メモリ容量が非常に少ないスマートカード、ゲート数の少ない実装、FPGA)での実現可能性についても評価されました。
一部の設計は、軽微な欠陥から重大な攻撃に至るまでの暗号解読によって落選し、その他はさまざまな環境でのパフォーマンスの悪さや他の候補に比べて提供できるものがほとんどないことで支持を失いました。NIST は提出された提案について議論するために 2 つの会議を開催し (AES1、1998 年 8 月、AES2、1999 年 3 月[ 4 ] [ 5 ] [ 6 ] )、1999 年 8 月に[ 7 ]、15 から 5 つ ( MARS、RC6、Rijndael、Serpent、Twofish ) に絞り込むことを発表しました。一般的に「AES ファイナリスト」と呼ばれる 5 つのアルゴリズムはすべて、コミュニティでよく知られ尊敬されているとみなされている暗号学者によって設計されました。AES2 会議の投票結果は次のとおりです。[ 8 ]
その後、集中的な分析と暗号解読がさらに行われ、2000年4月のAES3会議で最高潮に達しました。この会議では、最終選考に残った5つのチームの代表者が、自分たちの設計がAESとして選ばれるべき理由を主張するプレゼンテーションを行いました。AES3会議の投票結果は以下のとおりです。[ 9 ]
2000年10月2日、NISTは[ 10 ] 、 Rijndaelが提案されたAESとして選定されたことを発表し、2001年2月28日に連邦官報[ 11 ]にFIPS草案に関する発表を掲載して意見を募り、公式標準とするプロセスを開始しました。2001年11月26日、NISTはAESがFIPS PUB 197として承認されたことを発表しました。
NISTは、標準化プロセスをオープンかつ慎重に進めたことで、暗号コミュニティから称賛を受けた。敗れたTwofishアルゴリズムの作者の一人であるブルース・シュナイアーは、コンテスト終了後、「NISTとAESプロセスについては良いことしか言えない」と書いている。[ 12 ]