Процесс зашифрования сообщения, изображенный на рисунке 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,..., ;
.
Результатом данного этапа является шифртекст .