AES
読み:エイイーエス
外語:AES: Advanced Encryption Standard
米国政府が採用した新標準の
慣用暗号方式
暗号化アルゴリズム。
目次
経緯
特徴
AESとRijndael
暗号化操作
主なプロトコル
経緯
米国政府では2000(平成12)年現在、1977(昭和52)年策定の
DES
を使うよう決められていた。しかしDESは既に古いアルゴリズムであり、コンピューター技術の発達により、56ビットの
鍵長
では
ブルートフォースアタック
(総当たり攻撃)で数日で暗号解読可能になってしまった。
そこでDESを3回使う
3DES
などを利用すると共に、新しい標準を1997(平成9)年9月より公募した。
世界中より15の共通鍵暗号の応募があり、1999(平成11)年春には、最終的に5つの候補に絞られた。
MARS (IBM)
RC6 (Ronald Rivest)
Rijndael
(Joan Daemen、Vincent Rijmen)
Serpent (Ross Anderson)
Twofish (Bruce Schneier)
結果、2000(平成12)年10月に
Rijndael
がAESとして利用されることとなった。
特徴
AESとRijndael
AESはRijndaelであるが、Rijndaelとして設計されたうちの一部が端折られている。
128ビット、192ビット、256ビットの
鍵長
が使え、8ビットのマシンでも比較的高速に暗号化や復号ができる。
128ビットのブロック長の
ブロック暗号
である。
Rijndaelでは、128、160、192、224、256ビットからブロック長が選択できたが、AESでは常に128ビットである。
暗号化操作
AESはブロックサイズが128ビットで、8ビットごとの4×4マスの行列となる。入力された平文は、8ビットごとに区切られ、各マスに収められる。
そして、同じマスサイズに拡張された暗号鍵と排他的論理和を取り、初期化処理を行なう。
この結果に対し、SubBytes()、ShiftRows()、MixColumns()、AddRoundKey()、という4種類の行列操作を順に行ない、これを1ラウンド(1暗号化操作)とする。行なう回数は、鍵長ごとに決められており、次のラウンド数-1をメインストリームで行なう。
鍵長(ビット)
ブロック長(ビット)
ラウンド数(回)
AES-128
128
128
10
AES-192
192
128
12
AES-256
256
128
14
そして、最終ラウンドは、SubBytes()、ShiftRows()、AddRoundKey()だけを行ない、最終的な出力を得る。
AESの暗号化処理は、かなり単純であるといえる。
主なプロトコル
AESを暗号に採用している代表的なプロトコルに、次のようなものがある。
IPsec
WPA
(
WPA-AES
)
WPA2
(
WPA2-AES
)
DTCP-IP
SSL/TLS
WiMAX
ZigBee
再検索