AES(Advanced Encryption Standard)
AES(Advanced Encryption Standard) とは何ですか?
AES(Advanced Encryption Standard)NIST が標準化した 128 ビットブロック暗号で、鍵長は 128・192・256 ビット。Daemen と Rijmen が設計し、世界で最も広く使われている対称暗号。
AES は NIST が FIPS 197 として標準化した対称ブロック暗号で、Vincent Rijmen と Joan Daemen による Rijndael が、DES の後継を選ぶ 5 年間の公開コンペで Twofish、Serpent、RC6、MARS を含む 14 の対抗案を破って選定されました。NIST は 2000 年 10 月 2 日に Rijndael を勝者として発表し、2001 年 11 月 26 日に FIPS 197 を公開しました。128 ビット単位のブロックを 128/192/256 ビットの鍵で暗号化し、それぞれ 10/12/14 ラウンドを実行します。各ラウンドは 4×4 バイトの状態に対して動作する SubBytes(非線形 S-box)、ShiftRows、MixColumns、AddRoundKey から構成されます。
暗号そのものより運用モードのほうが重要です。ECB はブロックのパターンを漏らすため決して使うべきではなく、CBC と CTR は機密性のみを提供し、認証付きモードである AES-GCM・AES-CCM・AES-GCM-SIV は改ざんも検出します。GCM はノンスの再利用に対して脆弱で、同じ鍵で同一の IV を繰り返すと GHASH 認証サブ鍵が漏洩し、メッセージを偽造される恐れがあります。
公開されている最強の攻撃は、いまなお 2011 年の Bogdanov、Khovratovich、Rechberger による biclique 暗号解析であり、AES-128 の鍵を約 2¹²⁶·¹ の演算で復元します。これは総当たりに対してわずか 4 倍の高速化にすぎず、AES は実用上いまだ破られていません。現実の risk は実装に潜みます。ソフトウェアの T-table を狙ったキャッシュタイミングのサイドチャネルが、定数時間で動作するハードウェア(2010 年からの Intel AES-NI、ARMv8 暗号拡張)の採用を後押ししました。Grover の量子アルゴリズムは実効的な鍵強度を半分にするだけであり、それゆえ AES-256 はポスト量子時代に向けた堅実な選択肢とされています。
flowchart LR
PT[128-bit plaintext block] --> AK0[AddRoundKey]
K[Cipher key 128 192 256] --> KE[Key expansion to round keys]
KE --> AK0
AK0 --> R{Rounds 1 to n-1}
R --> SB[SubBytes S-box]
SB --> SR[ShiftRows]
SR --> MC[MixColumns]
MC --> AKn[AddRoundKey]
AKn --> R
R --> FR[Final round no MixColumns]
FR --> CT[Ciphertext block]● 例
- 01
TLS 1.3 は AES-128-GCM と AES-256-GCM を主要暗号として採用している。
- 02
BitLocker や LUKS は AES の XTS あるいは CBC モードでディスクを暗号化する。
● よくある質問
AES(Advanced Encryption Standard) とは何ですか?
NIST が標準化した 128 ビットブロック暗号で、鍵長は 128・192・256 ビット。Daemen と Rijmen が設計し、世界で最も広く使われている対称暗号。 サイバーセキュリティの 暗号 カテゴリに属します。
AES(Advanced Encryption Standard) とはどういう意味ですか?
NIST が標準化した 128 ビットブロック暗号で、鍵長は 128・192・256 ビット。Daemen と Rijmen が設計し、世界で最も広く使われている対称暗号。
AES(Advanced Encryption Standard) からどのように防御しますか?
AES(Advanced Encryption Standard) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
AES(Advanced Encryption Standard) の別名は何ですか?
一般的な別名: Rijndael。