MulBasicIdent — базовый мультилинейный алгоритм шифрования на основе идентификационных данных. Данный алгоритм является обобщением метода выработки общего ключа с помощью билинейных спариваний (BasicIdent), предложенного Дэном Боне и Мэтью К. Франклином в 2001 году.
Параметры протокола В протоколе используются следующие параметры и группы: — число участвующих в генерации общего ключа сторон; — уникальное двоичное число (идентификатор) пользователя с номером ; — аддитивная циклическая группа; — мультипликативная циклическая группа. Группы и используются для дальнейшего построения мультилинейного отображения.
Описание алгоритма Данный алгоритм решает задачу шифрования сообщения для абонентов с идентификаторами . Протокол состоит из этапов инициализации, получения закрытого ключа, шифрования и расшифрования. Пусть — принимаемый алгоритмом на этапе инициализации параметр стойкости.
Инициализация На основе Центром генерации закрытых ключей (PKG) вырабатывается простой порядок групп и , -мультилинейное отображение и произвольный образующий элемент группы . Центром PKG случайным образом выбираются элементы и вычисляется набор открытых ключей . Центром PKG выбираются криптографические хеш-функции и для некоторого , где — множество двоичных векторов произвольной длины, а — множество двоичных векторов длины .
В данном алгоритме пространства сообщений и шифротекстов представляют собой множества и соответственно, элементы являются мастер-ключами абонентов, а системными параметрами является набор .
Получение закрытого ключа Для идентификаторов абонентов : Центр вычисляет . Центр вычисляет закрытые ключи , где — мастер-ключи.
Шифрование Для шифрования сообщения с помощью идентификаторов абонент выполняет следующие операции: Вычисляет . Выбирает случайный элемент . Вычисляет шифротекст , где .
Расшифрование Для расшифрования шифротекста абонентом с идентификатором с помощью закрытого ключа вычисляется открытый текст следующим образом:
Корректность схемы Корректность алгоритма подтверждается выполнением следующего равенства, смысл которого сводится к подстановке в аргумент функции на этапе расшифрования выражений для закрытого ключа и элемента :
Так как , то на этапе расшифрования получаем .
Криптографическая стойкость Протокол является стойким при адаптивной атаке с выбором открытого текста и в предположении сложности мультилинейной проблемы Диффи-Хеллмана (MDH).
Описание атаки на протокол Модели безопасности широковещательного шифрования основаны на играх, проводимых злоумышленником (атакующим алгоритмом) с запросчиком (challenger).
Игра злоумышленника, проводящего атаку на алгоритм широковещательного шифрования, состоит из процедуры инициализации, 2-х этапов проведения запросов, постановки задачи и вывода результата.
Инициализация Запросчик принимает параметр стойкости , запускает процедуру инициализации алгоритма, передает атакующему алгоритму параметры и сохраняет мастер-ключи в секрете. Определены — аддитивная циклическая группа простого порядка с образующим элементом , и — мультипликативная циклическая группа простого порядка .
Этап 1 Атакующий алгоритм генерирует запросы и отправляет их запросчику, где является: Запросом закрытого ключа . В данном случае запросчик запускает процедуру генерации закрытого ключа , соответствующего открытому ключу , и передает атакующему алгоритму. Запросом расшифрования . В данном случае запросчик запускает процедуру генерации закрытого ключа , соответствующего открытому ключу . Далее запускает процедуру расшифрования шифротекста с помощью и передает полученный открытый текст атакующему алгоритму. Данные запросы проводятся адаптивно, то есть каждый запрос может зависеть от ответов на запросы .
После завершения этапа 1 атакующий алгоритм генерирует 2 открытых текста равной длины и набор идентификаторов абонентов , для которых он проводит атаку, где — множество открытых текстов произвольной длины. Единственным ограничением является тот факт, что при во время этапа 1.
Постановка задачи Запросчик случайно выбирает бит и отправляет алгоритму.
Этап 2 Атакующий алгоритм генерирует и отправляет запросчику дополнительные запросы , где является: Запросом закрытого ключа , где для . Запросчик отвечает так же, как и во время этапа 1. Запросом расшифрования , где для . Запросчик отвечает так же, как и во время этапа 1. Данные запросы могут проводиться адаптивно, как и во время этапа 1.
Результат Атакующий алгоритм возвращает бит и выигрывает игру, если .
Выигрышем при проведении атаки злоумышленника на алгоритм называется следующая функция параметра стойкости : , где — вероятность события, состоящего в совпадении значений битов и .
Улучшение На основе алгоритма MulBasicIdent с помощью метода Фуджисаки-Окамото построен полный алгоритм широковещательного шифрования на основе идентификационных данных MulFullIdent.
Примечания
Литература
Категория:Криптография с открытым ключом Категория:Криптографические протоколы Категория:Протоколы распределения ключей