ГОСТ Р 34.13-2015. Национальный стандарт Российской Федерации. Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров
5.6. Режим выработки имитовставки
Режим выработки имитовставки, описание которого представлено ниже, реализует конструкцию OMAC1 (стандартизован в ISO под названием CMAC [1]).
Параметром режима является длина имитовставки (в битах) 0 < s <= n.
5.6.1 Выработка вспомогательных ключей
При вычислении значения имитовставки используются вспомогательные ключи, которые вычисляются с использованием ключа K. Длины вспомогательных ключей равны длине блока n базового алгоритма блочного шифрования.
Процедура выработки вспомогательных ключей может быть представлена в следующей форме
где B64 = 059||11011, B128 = 0120||10000111.
Если значение n отлично от 64 и 128, следует использовать следующую процедуру определения значения константы Bn. Рассмотрим множество примитивных многочленов степени n над полем GF(2) с наименьшим количеством ненулевых коэффициентов. Упорядочим это множество лексикографически по возрастанию векторов коэффициентов и обозначим через fn(x) первый многочлен в этом упорядоченном множестве.
Рассмотрим поле GF(2n)[x]/(fn(x)), зафиксируем в нем степенной базис и будем обозначать операцию умножения в этом поле символом . Вспомогательные ключи K1 и K2 вычисляются следующим образом:
(12)
Примечание - Вспомогательные ключи K1, K2 и промежуточное значение R наряду с ключом K являются секретными параметрами. Компрометация какого-либо из этих значений приводит к возможности построения эффективных методов анализа всего алгоритма.
5.6.2 Вычисление значения имитовставки
Процедура вычисления значения имитовставки похожа на процедуру зашифрования в режиме простой замены с зацеплением при m = n и инициализации начального заполнения регистра сдвига значением 0n: на вход алгоритму шифрования подается результат покомпонентного сложения очередного блока текста и результата зашифрования на предыдущем шаге. Основное отличие заключается в процедуре обработки последнего блока: на вход базовому алгоритму блочного шифрования подается результат покомпонентного сложения последнего блока, результата зашифрования на предыдущем шаге и одного из вспомогательных ключей. Конкретный вспомогательный ключ выбирается в зависимости от того, является ли последний блок исходного сообщения полным или нет. Значением имитовставки MAC является результат применения процедуры усечения к выходу алгоритма шифрования при обработке последнего блока.
Исходное сообщение , для которого требуется вычислить имитовставку, представляется в виде:
P = P1||P2||...||Pq.
где , i = 1, 2, ..., q - 1,
, r <= n.
Процедура вычисления имитовставки описывается следующим образом:
(13)
где
- последний блок сообщения, полученного в результате дополнения исходного сообщения с помощью процедуры 3.
Процедура вычисления имитовставки проиллюстрирована на рисунках 11 - 13.
Рисунок 11 - Вычисление значения имитовставки - общий вид
Примечание - Настоятельно рекомендуется не использовать ключ режима выработки имитовставки в других криптографических алгоритмах, в том числе в режимах, обеспечивающих конфиденциальность, описанных в 5.1 - 5.5.
Рисунок 12 - Вычисление значения имитовставки - случай
полного последнего блока
Рисунок 13 - Вычисление значения имитовставки - случай
с дополнением последнего блока
