MulFullIdent — полный мультилинейный алгоритм шифрования на основе идентификационных данных.[1] Протокол построен на основе метода Фуджисаки-Окамото, предложенного в 1999 году.[2] Алгоритм является улучшением протокола MulBasicIdent.

Параметры протокола править

Введены следующие обозначения для параметров и групп, использующихся в алгоритме:

  •   — число участвующих в генерации общего ключа сторон;
  •   — уникальное двоичное число (идентификатор) пользователя с номером  ;
  •   — аддитивная циклическая группа;
  •   — мультипликативная циклическая группа.

Группы   и   используются для дальнейшего построения мультилинейного отображения.

Описание алгоритма править

Протокол представлен этапами инициализации, получения закрытого ключа, шифрования и расшифрования. Пусть   — принимаемый алгоритмом на этапе инициализации параметр стойкости.

Инициализация править

  1. На основе   Центром генерации закрытых ключей (PKG) вырабатывается простой порядок   групп   и  ,  -мультилинейное отображение   и произвольный образующий элемент группы  .
  2. Центром PKG случайным образом выбираются элементы   и вычисляется набор открытых ключей  .
  3. Центром PKG выбираются криптографические хеш-функции   и   для некоторого  ,   и  .

В данном алгоритме пространства сообщений и шифротекстов представляют собой множества   и   соответственно, элементы   являются мастер-ключами абонентов, а системными параметрами является набор  .

Получение закрытого ключа править

  1. Для идентификаторов абонентов   Центр PKG вычисляет  .
  2. Центр PKG вычисляет и передает абонентам по защищенному каналу закрытые ключи  ,  , где   — мастер-ключи.

Шифрование править

Для шифрования сообщения   с помощью идентификаторов   абонент выполняет следующие операции:

  1. Вычисляет  .
  2. Выбирает случайный вектор  .
  3. Вычисляет  .
  4. Вычисляет шифротекст  , где  .

Расшифрование править

Для расшифрования шифротекста   абонентом с идентификатором   с помощью закрытого ключа   выполняются следующие процедуры.

  1. Если  , то шифротекст не принимается. В противном случае, с помощью закрытого ключа   вычисляется
 
  1. Абонентом вычисляется  .
  2. Абонентом вычисляется   и проверяется  .

Если равенство не выполняется, то шифротекст не принимается, противном случае полагается, что   — открытый текст.

Корректность алгоритма потдверждается аналогично MulBasicIdent.[1]

Примечания править

  1. 1 2 Косолапов Д. О. Построение многосторонних мультилинейных алгоритмов в условиях различных моделей безопасности : Дисс.. канд. физ.-мат. наук. — М., 2010.
  2. E. Fujisaki and T. Okamoto. Secure integration of asymmetric and symmetric encryption schemes, Crypto'99 // Springer-Verlag : Lecture Notes in Computer Science. — 1999.

Литература править

  • Косолапов Д. О. Построение многосторонних мультилинейных алгоритмов в условиях различных моделей безопасности. — 2010.