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

OMAC/CMAC — имитовставка на блочном шифре

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

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

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

Характеристика Значение
Класс Код аутентификации сообщения
Размер блока / результата / профиль Размер блока базового шифра
Ключевой материал Секретный симметричный ключ
Основной источник ГОСТ Р 34.13-2015; RFC 4493 (CMAC/AES)

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

OMAC/CMAC вычисляет код аутентификации (MAC) из сообщения и общего секретного ключа на основе блочного шифра. Получатель пересчитывает MAC и сравнивает его с ожидаемым значением без утечек по времени. MAC может выявить подмену сообщения только при сохранении секрета ключа.

Подпись, MAC и хэш различаются: MAC не даёт неотказуемости в споре между двумя обладателями одного ключа; хэш не доказывает знание секрета; подпись использует отдельный закрытый ключ.

RFC 4493 описывает CMAC для AES и не должен ошибочно цитироваться как спецификация ГОСТ OMAC для Кузнечика. Для ГОСТ используйте ГОСТ Р 34.13-2015 и профиль приложения, в котором согласованы параметры шифра, длина тега и правила обработки данных.

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

  • Kernel Crypto API: cmac(kuznyechik) при установленном шаблоне.
  • В ГОСТ 28147-89 используется также отдельная историческая конструкция имитовставки; это не идентичная CMAC бинарная форма.
  • При проверке тега используйте сравнение постоянного времени.

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

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

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