コンテンツにスキップ

Advanced Encryption Standard

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Æskja (会話 | 投稿記録) による 2016年7月15日 (金) 14:20個人設定で未設定ならUTC)時点の版 (+{{出典の明記・独自研究}})であり、現在の版とは大きく異なる場合があります。

Advanced Encryption Standard
(Rijndael)
The SubBytes step, one of four stages in a round of AES
一般
設計者 フィンセント・ライメン, ホァン・ダーメン英語版
初版発行日 1998
派生元 Square
後継 Anubis, Grand Cru
認証 AES採用, CRYPTREC, NESSIE, NSA
暗号詳細
鍵長 128, 192 or 256 bits[1]
ブロック長 128 bits[2]
構造 SPN構造
ラウンド数 10, 12, 14(鍵長による)
最良の暗号解読
Attacks have been published that are computationally faster than a full brute force attack, though none as of 2013 are computationally feasible:[3] For AES-128, the key can be recovered with a computational complexity of 2126.1 using bicliques. For biclique attacks on AES-192 and AES-256, the computational complexities of 2189.7 and 2254.4 respectively apply. Related-key attacks can break AES-192 and AES-256 with complexities 2176 and 299.5, respectively.

Advanced Encryption Standard (AES) は、以前の標準暗号であった、NSAの関与がある秘密鍵暗号DESが、時代の経過による相対的な強度の低下、それ以上にNSAに由来するその設計の不透明性(詳細はDESの記事を参照)が問題であることから、新しい標準暗号としてアメリカ国立標準技術研究所(NIST)の主導により公募され、選出された秘密鍵暗号である。2001年3月に FIPS PUB 197 として公表された。

厳密には「AES」は、選出された以外の暗号も含む、手続き中から使われた「新しい標準暗号」の総称であり、選出された暗号方式自体の名としてはRijndael(ラインダール)である。

概要

AESはSPN構造ブロック暗号で、ブロック長は128ビット、鍵長は128ビット・192ビット・256ビットの3つが利用できる。AESの元となった Rijndael では、ブロック長と鍵長が可変で、128ビットから256ビットまでの32ビットの倍数が選べる。NISTが公募した際のスペックに従い、米国標準となったAESではブロック長は128ビットに固定、鍵長も3種類に限られた。

経緯

旧規格 DES (FIPS 46) の安全性が低下したため、1997年9月にNIST(アメリカ国立標準技術研究所)が後継の暗号標準AES (Advanced Encryption Standard) とすべく共通鍵ブロック暗号を公募した。世界から応募された21方式から、公募要件を満たした15方式に対する評価が行われ、安全性と実装性能に優れた5方式が最終候補として残った。最終選考の結果、あらゆる実装条件で優れた実装性能を発揮したベルギールーヴェン・カトリック大学の研究者 ホァン・ダーメン英語版 (Joan Daemen) と フィンセント・ライメン (Vincent Rijmen) が設計した Rijndael (ラインダール)が2000年10月に採用された。Rijndaelという名称のうち、RijnはRijmen、daeはDaemenから取られたことは明白だが、lはどこから来たのかが不明だった。指導教授だったバート・プレネル (Bart Preneel) から取ったのではという説があり、Rijmenが講演した際に質問を受けたが、その答えは "It's a conjecture.(それは憶測に過ぎないね)" だった。

他の最終候補および設計者は以下の通りである。

暗号化の方法

AESはSPN構造ブロック暗号で、ブロック長は128ビット、鍵長は128ビット・192ビット・256ビットの3つが利用できる。 AES暗号の鍵長によって変換のラウンド数が異なる。次の通りである。

鍵長128ビットのとき、ラウンド数は10回である。

鍵長192ビットのとき、ラウンド数は12回である。

鍵長256ビットのとき、ラウンド数は14回である。

安全性

関連鍵攻撃により、256ビットのAES暗号の9ラウンド目までを解読可能である。また、選択平文攻撃により、192ビットおよび256ビットのAES暗号の8ラウンド目まで、128ビットのAES暗号の7ラウンド目までを解読可能である (Ferguson et al, 2000)。シュナイアーはAESの「代数的単純さに疑問」を感じているが、AESは欧州の暗号規格NESSIEや日本の暗号規格CRYPTRECでも採用された。AESの数学的構造は他のブロック暗号と異なり、きちんとした記述もある[4][5]。この暗号はまだどんな攻撃にも通じていないが、何人かの研究者が今後の攻撃はこの構造を利用するかもしれないと指摘している[6][7][8]

脚注

  1. ^ Rijndaelでは128, 160, 192, 224, 256 bitsが選択可能。AESのスペックに合わせて3つに限定
  2. ^ Rijndaelでは128, 160, 192, 224, 256 bitsが選択可能。AESのスペックに合わせて128 bitsのみに限定
  3. ^ Biclique Cryptanalysis of the Full AES”. 2013年7月23日閲覧。
  4. ^ A simple algebraic representation of Rijndael (Niels Ferguson, Richard Schroeppel, and Doug Whiting)(2003年6月6日時点のアーカイブ
  5. ^ Sean Murphy (英語)
  6. ^ [1](2005年11月14日時点のアーカイブ
  7. ^ [2] [リンク切れ]
  8. ^ Cache-timing attacks on AES (PDF) (英語) - (Daniel J. Bernstein)

参考文献

関連項目

外部リンク