MulBasicIdent (MulBasicIdent)

Перейти к навигации Перейти к поиску

MulBasicIdent — базовый мультилинейный алгоритм шифрования на основе идентификационных данных[1]. Данный алгоритм является обобщением метода выработки общего ключа с помощью билинейных спариваний (BasicIdent), предложенного Дэном Боне и Мэтью К. Франклином в 2001 году[2].

Параметры протокола

[править | править код]

В протоколе используются следующие параметры и группы:

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

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

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

[править | править код]

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

Инициализация

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

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

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

[править | править код]

Для идентификаторов абонентов :

  1. Центр вычисляет .
  2. Центр вычисляет закрытые ключи , где  — мастер-ключи.

Шифрование

[править | править код]

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

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

Расшифрование

[править | править код]

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

Корректность схемы

[править | править код]

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

Так как , то на этапе расшифрования получаем .

Криптографическая стойкость

[править | править код]

Протокол является стойким при адаптивной атаке с выбором открытого текста и в предположении сложности мультилинейной проблемы Диффи-Хеллмана (MDH)[1].

Описание атаки на протокол

[править | править код]

Модели безопасности широковещательного шифрования основаны на играх, проводимых злоумышленником (атакующим алгоритмом) с запросчиком (challenger).

Игра злоумышленника, проводящего атаку на алгоритм широковещательного шифрования, состоит из процедуры инициализации, 2-х этапов проведения запросов, постановки задачи и вывода результата.

Инициализация

[править | править код]

Запросчик принимает параметр стойкости , запускает процедуру инициализации алгоритма, передает атакующему алгоритму параметры и сохраняет мастер-ключи в секрете. Определены  — аддитивная циклическая группа простого порядка с образующим элементом , и  — мультипликативная циклическая группа простого порядка .

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

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

Данные запросы проводятся адаптивно, то есть каждый запрос может зависеть от ответов на запросы .

После завершения этапа 1 атакующий алгоритм генерирует 2 открытых текста равной длины и набор идентификаторов абонентов , для которых он проводит атаку, где  — множество открытых текстов произвольной длины. Единственным ограничением является тот факт, что при во время этапа 1.

Постановка задачи

[править | править код]

Запросчик случайно выбирает бит и отправляет алгоритму.

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

  1. Запросом закрытого ключа , где для . Запросчик отвечает так же, как и во время этапа 1.
  2. Запросом расшифрования , где для . Запросчик отвечает так же, как и во время этапа 1.

Данные запросы могут проводиться адаптивно, как и во время этапа 1.

Атакующий алгоритм возвращает бит и выигрывает игру, если .

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

На основе алгоритма MulBasicIdent с помощью метода Фуджисаки-Окамото построен полный алгоритм широковещательного шифрования на основе идентификационных данных MulFullIdent.

Примечания

[править | править код]
  1. 1 2 3 Косолапов Д. О. Построение многосторонних мультилинейных алгоритмов в условиях различных моделей безопасности : Дисс.. канд. физ.-мат. наук. — М., 2010.
  2. Boneh D. and Franklin M. Identity-based encryption from the Weil Pairing, Crypto'2001 // Springer-Verlag : Lecture Notes in Computer Science. — 2001.

Литература

[править | править код]
  • Косолапов Д. О. Построение многосторонних мультилинейных алгоритмов в условиях различных моделей безопасности. — 2010.
  • Косолапов Д. О., Харин Е. А., Гончаров С. М., Корнюшин П. Н. Мультилинейные криптосистемы в асимметричной криптографии (рус.) : статья в журнале - научная статья. — Томск: Томский государственный университет систем управления и радиоэлектроники, 2008. — № 2—1 (18). — С. 51—53. — ISSN 1818-0442.