Кузнечик — ГОСТ Р 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.
Проверка и критерии приёмки¶
Перед эксплуатацией получите перечень реальных возможностей целевого пакета, а не доверяйте абстрактной таблице криптографии. Положительный тест должен соответствовать выбранному профилю, формату ключей, параметрам и протоколу; отрицательный тест должен демонстрировать отказ при неверном ключе, повреждённых входных данных или неверном теге (если соответствующая защита предусмотрена). Для сетевых профилей отдельно проверьте отказ аутентификации, границы ключевой ротации и предотвращение обхода туннеля.
Эксплуатация и совместимость¶
- Матрица статусов алгоритмов: стандарт, имя системной реализации, подтверждённый тест.
- Использование ГОСТ в ядре Linux, OpenSSL, IKEv2/strongSwan, шифрование дисков.
- OID и параметры, форматы ключей и подписи, векторы испытаний.
- Правила безопасности и полный каталог RFC.