Процесс зашифрования сообщения, изображенный на рисунке 1, осуществляется при помощи функции MGM-Encrypt.
Функция MGM-Encrypt принимает на вход следующие значения:
- ключ шифрования ;
- уникальный вектор . Значение вектора
должно быть уникальным для каждого сообщения при фиксированном ключе
. Выработка уникальных векторов может быть реализована с использованием счетчика;
- дополнительные имитозащищаемые данные А, . Дополнительные имитозащищаемые данные разбивают на
блоков и представляют в виде
, где
,
=1,2,...,
,
,
. Если длина дополнительных имитозащищаемых данных нулевая, то последний блок
равен пустой строке, а значения параметров
и
устанавливаются следующим образом:
=0,
;
- открытый текст ,
. Открытый текст разбивают на
блоков и представляют в виде
, где
,
=1,2,...,
,
,
. Если длина открытого текста нулевая, то последний блок открытого текста
равен пустой строке, а значения параметров
и
устанавливаются следующим образом:
=0,
.
При этом длины и
должны удовлетворять следующему ограничению:
.
Функция MGM-Encrypt в результате своей работы возвращает следующие значения:
- уникальный вектор ;
- дополнительные имитозащищаемые данные ;
- шифртекст ;
- имитовставка .
Рисунок 1 - Зашифрование сообщения в режиме MGM
Процесс зашифрования сообщения с помощью функции MGM-Encrypt состоит из следующих этапов.
5.1.1 Зашифрование открытого текста :
;
,
=2,3,...,
; (1)
,
=1,2,...,
;
.
Результатом данного этапа является шифртекст .