Режим выработки имитовставки, описание которого представлено ниже, реализует конструкцию ОМАС1 (стандартизован в ISO под названием СМАС [1]).
Параметром режима является длина имитовставки (в битах) 0<sn.
5.6.1 Выработка вспомогательных ключей
При вычислении значения имитовставки используются вспомогательные ключи, которые вычисляются с использованием ключа K. Длины вспомогательных ключей равны длине блока n базового алгоритма блочного шифрования.
Процедура выработки вспомогательных ключей может быть представлена в следующей форме
где , .
Если значение n отлично от 64 и 128, следует использовать следующую процедуру определения значения константы . Рассмотрим множество примитивных многочленов степени n над полем GF(2) с наименьшим количеством ненулевых коэффициентов. Упорядочим это множество лексикографически по возрастанию векторов коэффициентов и обозначим через первый многочлен в этом упорядоченном множестве.
Рассмотрим поле GF(2)[]/(()), зафиксируем в нем степенной базис и будем обозначать операцию умножения в этом поле символом . Вспомогательные ключи и вычисляются следующим образом:
(12)
Примечание - Вспомогательные ключи , промежуточное значение R наряду с ключом являются секретными параметрами. Компрометация какого-либо из этих значений приводит к возможности построения эффективных методов анализа всего алгоритма.
5.6.2 Вычисление значения имитовставки
Процедура вычисления значения имитовставки похожа на процедуру зашифрования в режиме простой замены с зацеплением при m=n и инициализации начального заполнения регистра сдвига значением 0: на вход алгоритму шифрования подается результат покомпонентного сложения очередного блока текста и результата зашифрования на предыдущем шаге. Основное отличие заключается в процедуре обработки последнего блока: на вход базовому алгоритму блочного шифрования подается результат покомпонентного сложения последнего блока, результата зашифрования на предыдущем шаге и одного из вспомогательных ключей. Конкретный вспомогательный ключ выбирается в зависимости от того, является ли последний блок исходного сообщения полным или нет. Значением имитовставки МАС является результат применения процедуры усечения к выходу алгоритма шифрования при обработке последнего блока.
Исходное сообщение *, для которого требуется вычислить имитовставку, представляется в виде:
.
где , =1, 2, ..., q-1, , .
Процедура вычисления имитовставки описывается следующим образом:
,
, =1, 2, …, q-1, (13)
,
где
- последний блок сообщения, полученного в результате дополнения исходного сообщения с помощью процедуры 3.
Процедура вычисления имитовставки проиллюстрирована на рисунках 11-13.
Рисунок 11 - Вычисление значения имитовставки - общий вид