MulFullIdent — полный мультилинейный алгоритм шифрования на основе идентификационных данных. Протокол построен на основе метода Фуджисаки-Окамото, предложенного в 1999 году. Алгоритм является улучшением протокола MulBasicIdent.
Параметры протокола
Введены следующие обозначения для параметров и групп, использующихся в алгоритме:
— число участвующих в генерации общего ключа сторон;
— уникальное двоичное число (идентификатор) пользователя с номером
;
— аддитивная циклическая группа;
— мультипликативная циклическая группа.
Группы и
используются для дальнейшего построения мультилинейного отображения.
Описание алгоритма
Протокол представлен этапами инициализации, получения закрытого ключа, шифрования и расшифрования. Пусть — принимаемый алгоритмом на этапе инициализации параметр стойкости.
Инициализация
- На основе
Центром генерации закрытых ключей (PKG) вырабатывается простой порядок
групп
и
,
-мультилинейное отображение
и произвольный образующий элемент группы
.
- Центром PKG случайным образом выбираются элементы
и вычисляется набор открытых ключей
.
- Центром PKG выбираются криптографические хеш-функции
и
для некоторого
,
и
.
В данном алгоритме пространства сообщений и шифротекстов представляют собой множества и
соответственно, элементы
являются мастер-ключами абонентов, а системными параметрами является набор
.
Получение закрытого ключа
- Для идентификаторов абонентов
Центр PKG вычисляет
.
- Центр PKG вычисляет и передает абонентам по защищенному каналу закрытые ключи
,
, где
— мастер-ключи.
Шифрование
Для шифрования сообщения с помощью идентификаторов
абонент выполняет следующие операции:
- Вычисляет
.
- Выбирает случайный вектор
.
- Вычисляет
.
- Вычисляет шифротекст
, где
.
Расшифрование
Для расшифрования шифротекста абонентом с идентификатором
с помощью закрытого ключа
выполняются следующие процедуры.
- Если
, то шифротекст не принимается. В противном случае, с помощью закрытого ключа
вычисляется
- Абонентом вычисляется
.
- Абонентом вычисляется
и проверяется
.
Если равенство не выполняется, то шифротекст не принимается, противном случае полагается, что — открытый текст.
Корректность алгоритма потдверждается аналогично MulBasicIdent.