暗号化の基礎

AES(Advanced Encryption Standard) えーいーえす

共通鍵暗号ブロック暗号暗号化鍵長RijndaelNIST
AESについて教えて

簡単に言うとこんな感じ!

AESは「現代の鍵付き金庫」みたいなもの!ネットショッピングやWi-Fiの通信を守るために使われている暗号化の仕組みで、世界標準として採用されている超信頼性の高い技術なんだ。今使ってるほぼすべてのセキュリティの裏に潜んでるよ!


AESとは

AES(Advanced Encryption Standard/先進暗号化標準) は、アメリカ国立標準技術研究所(NIST)が2001年に標準化した共通鍵ブロック暗号です。「共通鍵」とは、暗号化するときと復号(解読)するときに同じ鍵を使う方式のこと。宅配ボックスの暗証番号を送り手と受け手の両方が知っているイメージです。

AESはそれ以前に使われていたDES(Data Encryption Standard) が解読されやすくなったことを受けて、世界公募で選ばれた後継規格です。ベルギーの研究者が開発した「Rijndael(ラインダール)アルゴリズムが採用されました。Wi-Fi(WPA2/WPA3)、HTTPS通信、VPNストレージ暗号化など、私たちが日常的に使うほぼすべてのセキュリティ技術に組み込まれており、現代のデジタルセキュリティの基盤と言っても過言ではありません。

システム発注の場面では「どの暗号化方式を使っているか?」という確認が重要で、AES-256 が明示されていれば、現時点では最高水準のセキュリティが確保されていると判断できます。


AESの構造と鍵長

AESは128ビット固定のブロックにデータを区切り、鍵を使って複数回の変換処理(ラウンド)を繰り返して暗号化します。

種別鍵長ラウンド数用途例
AES-128128ビット10回一般的な通信・アプリ
AES-192192ビット12回中〜高セキュリティ用途
AES-256256ビット14回政府機密・金融・VPN

鍵長とは? 金庫の鍵の「桁数」のようなもの。桁数が多いほど総当たり攻撃に強い。AES-256は2²⁵⁶通り(天文学的な数)の組み合わせがあり、現在のスーパーコンピューターでも解読は事実上不可能です。

覚え方

「AES=金庫の三段階グレード」

  • AES-128:鍵が1本(十分安全)
  • AES-192:鍵が1本半(より安全)
  • AES-256:鍵が2本(最高水準)

数字が大きいほど「桁数の多い暗証番号」と覚えると直感的です。

4つの変換ステップ(ラウンド処理)

各ラウンドで以下の4つの処理を繰り返してデータを複雑に変換します。

1. SubBytes    … 各バイトを別の値に置き換える(S-Boxによる置換)
2. ShiftRows   … 行をずらして並び替える
3. MixColumns  … 列を数学的に混合する
4. AddRoundKey … ラウンド鍵とXOR演算で結合する

この多段変換のおかげで、一部を解読しても全体が読めない強靭な構造になっています。


歴史と背景

  • 1977年 — DES(56ビット鍵)がアメリカ標準暗号として採用
  • 1997年 — NISTがDESの後継規格を公募開始。世界15カ国から21案が提出される
  • 1998年 — ベルギーの研究者Joan DaemenとVincent Rijmenが開発した「Rijndael」が最終候補に
  • 1999年 — 56ビットDESが56時間以内に解読されることが実証され、旧規格の危うさが明確に
  • 2001年 — NISTがRijndaelをAESとして正式標準化(FIPS PUB 197)
  • 2003年 — アメリカ政府が機密情報保護にAES-128/192/256を採用
  • 2004年〜 — Wi-Fi規格(WPA2)、TLS、BitLockerなど主要技術に次々と採用が広がる
  • 2010年代〜 — スマートフォンのストレージ暗号化にも標準搭載。事実上「世界の暗号化標準」に定着

AESと他の暗号方式の比較

暗号化方式の比較マップ ← 処理が速い 処理が遅い → ← 鍵管理が複雑 鍵管理が簡単 → DES 56ビット鍵 / 旧規格 ⚠ 現在は非推奨 AES ★ 128/192/256ビット鍵 ✅ 現在の世界標準 RSA 公開鍵暗号 / 2048〜4096bit 鍵交換・署名に使用 ChaCha20 ストリーム暗号 / 256bit モバイル向け高速処理 共通鍵ブロック暗号 公開鍵暗号 ストリーム暗号
方式鍵の種類速度主な用途現在の推奨
AES共通鍵◎ 高速ファイル暗号化・通信✅ 推奨
DES共通鍵◎ 高速(旧)通信暗号化❌ 非推奨
RSA公開鍵+秘密鍵△ 低速鍵交換・電子署名✅ 用途限定で推奨
ChaCha20共通鍵◎ 高速モバイル・TLS1.3✅ 推奨

実務ポイント: AESとRSAはライバルではなく補完関係。RSAで安全に「共通鍵」を相手に渡し、実際の大量データはAESで高速暗号化する——という組み合わせが一般的です(TLSなどで使われるハイブリッド暗号)。


関連する規格・RFC

規格・RFC番号内容
FIPS PUB 197AESの正式規格(NIST発行、2001年)
RFC 3565AESをCMS(暗号化メッセージ構文)で使用するための仕様
RFC 5116AES-GCMなどの認証付き暗号(AEAD)の仕様
RFC 8439ChaCha20との比較参照で言及されることが多いAES-GCM関連
IEEE 802.11iWi-Fi(WPA2)でAES-CCMPを採用した規格

関連用語