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

AES-CTR

ПроверилCybersecurity entrepreneur & security researcher

Что такое AES-CTR?

AES-CTRПоточный режим шифрования, превращающий AES в генератор гаммы за счёт шифрования инкрементируемого счётчика и XOR с открытым текстом.


AES-CTR (счётный режим) — это режим только конфиденциальности, стандартизованный в NIST SP 800-38A. Шифр последовательно шифрует блоки счётчика (обычно 96-битный nonce, сцепленный с 32-битным счётчиком блоков), а полученная гамма XOR-ится с открытым текстом. Поскольку каждый блок зависит только от счётчика, а не от предыдущего блока, CTR допускает полностью параллельное шифрование/расшифрование и произвольный доступ к шифротексту — свойства, которые делают его рабочей лошадкой шифрования дисков, IPsec ESP (RFC 3686) и защиты TLS-записей, когда он обёрнут в аутентифицированный режим.

Определяющая слабость CTR в том, что он не обеспечивает целостности и подвержен подмене: атакующий, переворачивающий бит в шифротексте, переворачивает ровно тот же бит в открытом тексте — без какого-либо обнаружения. Его всегда нужно сочетать с MAC либо использовать как движок внутри AEAD, такого как GCM, EAX или CCM. Вторая, более опасная ловушка — повторное использование nonce/счётчика: шифрование двух сообщений на одном ключе и с одним начальным счётчиком даёт перекрывающиеся гаммы, поэтому 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-CTR?

Поточный режим шифрования, превращающий AES в генератор гаммы за счёт шифрования инкрементируемого счётчика и XOR с открытым текстом.

Как защититься от AES-CTR?

Защита от AES-CTR обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия AES-CTR?

Распространённые альтернативные названия: Counter Mode, AES-128-CTR, AES-256-CTR.

Связанные термины