Перейти к содержанию

CTR — режим счётчика

Источник описания и статус реализации

Алгоритм, профиль стандарта и программная поддержка — три разных уровня. RFC Editor публикует многие описания ГОСТ как Informational / Independent Submission, а не как консенсусный стандарт IETF. Наличие RFC не свидетельствует о сертификации СКЗИ и не доказывает поддержку алгоритма каждым приложением НАЙС.ОС. Проверяйте установленную версию и подтверждённые испытания.

Назначение и параметры

Характеристика Значение
Класс Режим блочного шифра
Размер блока / результата / профиль По блоку выбранного шифра
Ключевой материал Ключ выбранного шифра
Основной источник ГОСТ Р 34.13-2015; RFC 8645

Как устроен алгоритм и что он гарантирует

CTR превращает блочный шифр в способ потокового преобразования данных: последовательные значения счётчика шифруются блочным алгоритмом, после чего полученная гамма объединяется с данными. Расшифрование использует ту же гамму. Для корректного использования требуется согласованное представление начального счётчика, порядка байтов и размера блока.

Нельзя повторять комбинацию ключа и счётчика/nonce для разных сообщений: это раскрывает связь между открытыми текстами. CTR не обладает встроенным механизмом проверки целостности, поэтому изменение шифротекста может не выявляться без отдельного MAC или AEAD.

ГОСТ Р 34.13-2015 задаёт национальные режимы блочных шифров; RFC 8645 описывает связанную современную конструкцию CTR-ACPKM и не является заменой тексту самого ГОСТ Р 34.13-2015.

Реализация в НАЙС.ОС: что подтверждено и что проверять

  • Crypto API: ctr(kuznyechik) при наличии зарегистрированного шаблона.
  • Не использовать самодельный CTR для ESP, TLS или CMS без нормативного профиля.
  • Для потоков с аутентификацией лучше выбирать протокольный AEAD при подтверждённой совместимости.

Проверка и критерии приёмки

Перед эксплуатацией получите перечень реальных возможностей целевого пакета, а не доверяйте абстрактной таблице криптографии. Положительный тест должен соответствовать выбранному профилю, формату ключей, параметрам и протоколу; отрицательный тест должен демонстрировать отказ при неверном ключе, повреждённых входных данных или неверном теге (если соответствующая защита предусмотрена). Для сетевых профилей отдельно проверьте отказ аутентификации, границы ключевой ротации и предотвращение обхода туннеля.

Эксплуатация и совместимость