MulFullIdent

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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.