AES
概要
AESは2001年より運用開始した暗号化方式である。
現在に至るまでAESの脆弱性は発見されていないため、最も安全な暗号化方式の一つであるとされており、現在主流の暗号化方式の一つである。なお、AESはAdvanced Encryption Standardの略である。
種類
AESは共通鍵方式(秘密鍵方式)・ブロック暗号化と呼ばれる方法を採用している。
共通鍵方式とは鍵の発行にあたり、データ一つ一つに個別の暗号鍵が割り当てられるものである。暗号化と復号化(暗号文読み出し)には同一の鍵を用いる。
ブロック暗号化とは元データをあるブロックの大きさへ分割した後、それらを暗号化するものである。 具体的な流れとしては、元のデータをブロック単位に分割した後、個別のブロックでは更に分割や転置(文字の並び替え)、暗号鍵との加算(「XORのビット演算」と呼ばれるもの)が行われ暗号文を作成される。AESの場合、分割するブロックの大きさは128ビットで固定される。
一方で、鍵長(暗号化と暗号分の読み出しの際に用いる鍵の文字の長さ)は128ビット、192ビット、256ビットの3つを選択することができる。鍵長が大きくなる程、部外者から暗号文を解読される恐れが減少する。また鍵の計算量は、鍵長が128ビットの場合、2の128乗となるため、一番小さい128ビットであっても解読には困難を期する。
以上に述べたAESの暗号化方式に対立する他の方式としては、鍵の発行では公開鍵方式、データの暗号化にはストリーム暗号化が挙げられる。
公開鍵方式とは暗号化の鍵を公開で配布する一方(公開鍵)、復号化の鍵は公開鍵の配布者のみが保持する方法である。
ストリーム暗号化とは、元データを1ビットから数ビット単位に分割して、それら一つ一つを鍵ストリームと呼ばれる暗号鍵を用いて暗号文を作成する。
シーン
無線LANの無線信号を暗号化する際に多くの機器が採用している。
また、データの暗号化処理にあたってAESが多く用いられていることから、AESの演算処理を最適化する機能を盛り込んだCPU(中央処理装置)も開発されている。
歴史
90年代までDESという暗号方式が用いられていたが、DES規格の設計にあたってNSA(アメリカ国家安全保障局)が関与していた疑惑や、総当り攻撃で破られる恐れが指摘されたことから新たな規格をつくる契機が生まれた。
その後、NIST(アメリカ国立標準技術研究所)が公募制でDESを代替する暗号化方式のアイデアを集めて、2000年にAESが次期暗号化規格として採用されることになる。
AESはRijndael(ラインダール)と呼ばれる暗号化方式をベースに開発された。AESとRijndaelとの相違点は多くはないものの、Rijndaelがブロック単位と鍵単位どちらも可変である一方、AESは鍵単位のみが可変となっている。(ブロック単位は128bitで固定)
AESの脆弱性は2016年9月時点では発見されていないが、解読のためにBiclique攻撃と呼ばれる方法を用いると、128ビットの鍵長を用いたものに対して、総当りによる解読で要する計算量が2の128乗からの126.1乗に減らすことが可能であると報告されている。