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

Кузнечик — ГОСТ Р 34.12-2015

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

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

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

Характеристика Значение
Класс Блочный симметричный шифр
Размер блока / результата / профиль 128 бит
Ключевой материал 256 бит
Основной источник RFC 7801

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

«Кузнечик» задаёт обратимое преобразование одного блока из 128 бит под 256-битным секретным ключом. Десять раундовых ключей получаются из исходного ключа развёртыванием; при шифровании применяются нелинейная подстановка и линейное преобразование, смешанные с раундовыми ключами. Для расшифрования используются обратные преобразования. Сам по себе блочный шифр не определяет, как шифровать многобайтовый файл, защищать сетевой пакет или вычислять MAC.

Нельзя смешивать длину блока (128 бит) с длиной ключа (256 бит). Название kuznyechik — имя примитива, а kuznyechikmgmktree — сложный протокольный профиль, включающий AEAD и управление сеансовыми ключами. Сравнивать их как взаимозаменяемые строки неверно.

Для больших данных нужен режим: CTR, CBC, MGM, XTS и другие имеют разные свойства. В частности, CBC/CTR сами не защищают от злонамеренного изменения шифротекста, MGM обеспечивает аутентифицированное шифрование, XTS предназначен для блочных секторов и не является AEAD. Режим определяет обязательные параметры IV/nonce, а также обработку ошибок.

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

  • Kernel Crypto API: kuznyechik; режимы могут регистрироваться как ctr(kuznyechik), xts(kuznyechik), cmac(kuznyechik) — проверять на данной системе через /proc/crypto.
  • Системный strongSwan: в испытанном IKEv2 профиле применён KUZNYECHIK_MGM_KTREE; здесь реализовано не просто шифрование одного блока, а защищённый сетевой протокол.
  • Дисковый профиль kuznyechik-xts-plain64 относится к dm-crypt и не используется для ESP.
  • OpenSSL/gost-engine: проверка имен через openssl list -cipher-algorithms и наличие активного engine.

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

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

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