AES 【Advanced Encryption Standard】
概要
AES(Advanced Encryption Standard)とは、2001年にアメリカ連邦政府標準の暗号方式として採用された、共通鍵暗号(秘密鍵暗号)方式の一つ。「AES」は米国立標準技術研究所(NIST)の標準規格としての名称であり、規格番号は「FIPS PUB 197」、暗号方式(暗号アルゴリズム)そのものは「Rijndael」(ラインダール)とも呼ばれる。米政府機関が調達などの際に利用する暗号技術の標準として策定されたが、開発元の許諾や対価の支払いが必要な特許技術などを含まず、完全な仕様が公開され、誰でも自由に利用することができる。有効な攻撃手法は見つかっておらず、高い安全性を誇る。
米政府関連の情報機器やシステムだけでなく様々な製品や技術規格などに採用され、共有鍵暗号の標準として全世界で広く普及している。身近な例では無線LAN(Wi-Fi)の通信の暗号化、インターネット上の通信を暗号化するSSL/TLS、圧縮ファイルの暗号化などで用いられている。
暗号アルゴリズム
暗号化と復号に同じ暗号鍵を用いる共通鍵暗号(秘密鍵暗号)で、平文を一定の長さごとに暗号文に変換するブロック暗号である。ブロック長は128ビットで、鍵長は128ビット(AES128)、192ビット(AES192)、256ビット(AES256)の三種類から選択できる。
暗号化は複数の演算を連続して行う「ラウンド」と呼ばれる処理単位を繰り返すことによって行われ、128ビット鍵では10ラウンド、192ビット鍵では12ラウンド、256ビット鍵では14ラウンドを繰り返す。暗号データに逆の手順を施せば元の平文に復号できる。
各ラウンドは換字表(Sボックス)によるデータの入れ替え、左巡回シフト、行列変換、ラウンド鍵とのXOR演算の4つの処理からなり、暗号鍵から導出されたラウンドごとに変化するラウンド鍵を用いてパラメータを決定する。
制定の経緯
米政府の暗号標準には1977年に制定された「DES」(Data Encryption Standard)が長年用いられてきたが、コンピュータの処理速度向上による強度不足などの問題が表面化し、NISTは1997年に次世代の暗号標準であるAESの候補を公募した。
全世界から21の候補が寄せられたが、5つに絞られた最終候補の中から、「Twofish」や「RC6」など有力な候補を抑えて、ベルギーの暗号学者フィンセント・ライメン(Vincent Rijmen)氏とホアン・ダーメン(Joan Daemen)氏の考案したRijndael方式が採用された。このため、暗号方式そのものを指す場合はRijndaelと呼ばれる。