Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 025

AES-CTR

監修Cybersecurity entrepreneur & security researcher

AES-CTR とは何ですか?

AES-CTR増加するカウンタを AES で暗号化し、その出力を平文と XOR することで AES をストリーム鍵生成器として用いるモード。


AES-CTR(カウンタモード)は NIST SP 800-38A で標準化された機密性専用モードです。暗号は連続するカウンタブロック(通常は 96 ビット nonce と 32 ビットブロックカウンタを連結したもの)を暗号化し、得られた鍵ストリームを平文と XOR します。各ブロックは前のブロックではなくカウンタのみに依存するため、CTR は完全な並列暗号化/復号と暗号文へのランダムアクセスを可能にします。これらの特性により、CTR はディスク暗号化、IPsec ESP(RFC 3686)、および認証モードで包んだ TLS レコード保護の主力となっています。

CTR を特徴づける弱点は、完全性をまったく提供せず、可鍛性を持つことです。攻撃者が暗号文の 1 ビットを反転させると、まったく同じ平文ビットが検知されずに反転します。したがって常に MAC と組み合わせるか、GCM、EAX、CCM などの AEAD の内部エンジンとして用いなければなりません。第二のより危険な落とし穴は nonce/カウンタの再利用です。同じ鍵と同じ開始カウンタで 2 つのメッセージを暗号化すると鍵ストリームが重複し、2 つの暗号文を XOR すると鍵ストリームが打ち消され、平文同士の XOR が得られます。これは実在するシステムを破ってきた典型的な「ツータイムパッド」です。鍵ストリームはデータによらず同一なので、カウンタの再利用は異なるファイル間であっても致命的です。

実務では、保存データや伝送データに生の AES-CTR を決して用いないでください。AES-GCM または ChaCha20-Poly1305 を選びましょう。これらは同じカウンタモードのコアの上に認証を構築し、唯一の運用要件は nonce の一意性の保証だけになります。

flowchart LR
  subgraph 鍵ストリーム生成
    N[Nonce + カウンタ 0] --> E0[AES 暗号化] --> KS0[鍵ストリームブロック 0]
    N1[Nonce + カウンタ 1] --> E1[AES 暗号化] --> KS1[鍵ストリームブロック 1]
    N2[Nonce + カウンタ 2] --> E2[AES 暗号化] --> KS2[鍵ストリームブロック 2]
  end
  P0[平文 0] --> X0((XOR))
  KS0 --> X0 --> C0[暗号文 0]
  P1[平文 1] --> X1((XOR))
  KS1 --> X1 --> C1[暗号文 1]
  P2[平文 2] --> X2((XOR))
  KS2 --> X2 --> C2[暗号文 2]
  C0 --> MAC[MAC を追加 / GCM を使用<br/>完全性のため]

  1. 01

    AES-CTR は AES-GCM や AES-CCM の暗号化レイヤーである。

  2. 02

    Linux dm-crypt は AES-CTR 系列をフルディスク暗号化に利用する。

よくある質問

AES-CTR とは何ですか?

増加するカウンタを AES で暗号化し、その出力を平文と XOR することで AES をストリーム鍵生成器として用いるモード。 サイバーセキュリティの 暗号 カテゴリに属します。

AES-CTR とはどういう意味ですか?

増加するカウンタを AES で暗号化し、その出力を平文と XOR することで AES をストリーム鍵生成器として用いるモード。

AES-CTR からどのように防御しますか?

AES-CTR に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

AES-CTR の別名は何ですか?

一般的な別名: カウンタモード, AES-128-CTR, AES-256-CTR。

関連用語