Advanced Encryption Standardの略。米国政府が政府内の標準として策定した暗号化規格のこと。高い強度を持ちながら、暗号化/復号化処理を高速に実行できることが特徴。仕様は公開されており、Windows XPのファイル暗号化機能をはじめ、広く利用されている。

 AESはデータの暗号化と復号化に同じ鍵を使う共通鍵暗号方式の1種である。やはり共通鍵暗号方式を採るDES(Data Encryption Standard)の後継規格に当たる。DESは米IBMが開発し、1977年に米商務省標準局(NBS)が政府標準として採用した。56ビット長の共通鍵を使う。

 ところがコンピュータの処理能力が向上した結果、90年代後半になるとDESの強度不足が問題になり始めた。56ビット長のすべての鍵(約7京通り)を総当たりで試しても、現実的な時間で済むようになったからだ。97年に米RSAデータ・セキュリティ(現RSAセキュリティ)が開催したコンテストでは、DESの解読までに39日を要した。これが98年のコンテストでは3日弱に、99年には22時間になった。

 DESを拡張し、強度を高めた方式もあったが、根本的な解決にはならなかった。例えば、DESを3重にかける「トリプルDES」は、暗号化/復号化処理に時間がかかるという問題があった。総当たり方式での解読を難しくした「DESX」も、鍵を類推する手法には効果がなかった。

 そこでNBSの後継組織である米国標準技術研究所(NIST)は97年9月、次世代の標準暗号規格の募集を開始した。「DESに代わって今後30年以上の使用に耐える優れた暗号方式を選び出すこと」を目指した。十分な強度を確保するため、DESの56ビット鍵より長い128ビット、192ビット、256ビットの3通りの長さの鍵を利用できることを条件とした。

 世界各国の企業・組織から計15方式の応募がNISTに寄せられた。NISTは、各方式を二つの観点から評価した。まず、アルゴリズムに“癖”がないか検証した。いくら鍵が長くても鍵の推測が容易だと、解読しやすくなる。次に、実際にプログラムを開発して、処理効率を確かめた。同じ強度の方式なら、処理量が少ないほうが実装面で有利だからだ。

 最終的にNISTは、強度と処理効率のバランスを勘案して、ベルギーの暗号研究者ヨアン・ダーメン氏とビンセント・ライメン氏が開発した「Rijndael(ラインダール)」を選んだ。2000年10月に採用を正式発表した。

 AESは、データの位置の入れ替えなどにより暗号化するといった基本原理はDESと同じだ。ただ、最大256ビット長の鍵を使うため、DESはもちろんトリプルDESより強度が高い。それでいて暗号化/復号化処理にかかる時間はDESと同じか短い。AESはすべての内部処理をバイト単位で実行するため、コンピュータが処理しやすいからだ。DESは内部処理で6ビットという中途半端な長さのデータを扱う必要があり、処理効率が低かった。

(大森)



本記事は日経コンピュータ2005年1月24日号に掲載したものです。

同誌ホームページには,主要記事の概要や最新号およびバックナンバーの目次などを掲載しておりますので,どうぞご利用ください。


日経コンピュータ・ホームページ


定期購読お申し込みや当該号のご購入