Материал из РУВИКИ — свободной энциклопедии

GMR

GMR — криптографический алгоритм, используемый для создания цифровой подписи. Назван по первым буквам создателей — Рональда Ривеста, Сильвио Микали и Шафи Гольдвассер.

GMR базируется на высокой вычислительной сложности факторизации больших целых чисел, как и криптосистема RSA. Но, в отличие от неё, GMR устойчива к атакам на основе подобранного открытого текста [1].

Что значит взломать цифровую подпись?[править | править код]

Можно говорить, что криптоаналитик «взломал» цифровую подпись , если совершенная атака позволяет ему с ненулевой вероятностью совершить следующее[2]:

  • Полный взлом (total break): вычислить закрытый ключ
  • Универсальная подделка (universal forgery): найти эффективный алгоритм, эквивалентный алгоритму цифровой подписи (используется, вообще говоря, другой, но эквивалентный секретный ключ)
  • Выборочная подделка (selective forgery): подделать подпись некоторого сообщения, выбранного криптоаналитиком априори
  • Экзистенциальная подделка (existential forgery): подделать подпись хотя бы одного сообщения. При этом криптоаналитик не выбирает сообщение для подделки подписи, подделка может быть случайной и лишённой смысла. Подделка такого типа может нести минимальный урон для . Авторами схемы GMR доказана ее устойчивость именно к такому типу атаки[3].

Описание алгоритма[править | править код]

Предположим, что Алисе нужно отправить Бобу последовательность сообщений, подтверждённых цифровой подписью. Пусть Алиса предполагает подписать сообщений, случайный параметр шифрования - . Открытый ключ состоит из следующих компонент:

  • Максимальное число сообщений, которые необходимо зашифровать
  • Два случайно выбранных числа Блума и , то есть два числа, являющихся произведением простых чисел, сравнимых с числом по модулю [4]
  • Два бесконечных семейства односторонних функций с потайным входом
  • Случайное число , выбранное из области значений

.

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

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

и .

Получив подписанное сообщение, Боб последовательно проверяет, что

  • .

Для подписи сообщений Алиса строит из корневого элемента хэш-дерево с листьями . Все внутренние вершины дерева выбираются случайно и равновероятно из множества значений , аналогично в случае одного сообщения. Каждая внутренняя вершина криптостойко связывается со обоими своими дочерними вершинами путём вычисления значения , помещаемого в вершину аналогично тому, как выше вычисляется . Наконец, сообщение криптостойко связывается с -ым листом дерева аутентификации путём вычисления значения аналогично тому, как выше вычислено . Подпись сообщения состоит из

  • Последовательности вершин дерева от корня до листа
  • значений, помещённых в вершины (аналогично выше)
  • (аналогично выше)[5].

Односторонние функции с потайным входом[править | править код]

В качестве односторонних функций могут быть использованы для и , где функция принимает на вход битовую строку и возвращает целое число, представленное битами в обратном порядке [6]. Функция также принимает битовую строку возвращая её длину. Знак плюс или минус выбирается таким образом, чтобы значение было положительно и не превышало . В таком случае вычисление обратной функции осуществляется за время, пропорциональное , где  — длина строки , при условии, что подписываемые сообщения имеют такую же длину. Таким образом образом, подпись -битового сообщения может быть подсчитана за время [6].

Криптостойкость алгоритма[править | править код]

Гольдвассер, Микали и Ривестом доказано[3], что алгоритм GMR не позволяет криптоаналитику успешно совершить адаптивную атаку на основе подобранного сообщения, а именно, осуществить экзистенциальную подделку подписи, сгенерированной по схеме GMR. Криптоаналитик, получивший подписи к ряду сообщений, не может подделать подпись для любого дополнительного сообщения.

Обобщения схемы[править | править код]

Возможны обобщения схемы GMR для использования как подписи назначенного подтверждающего (designated confirmer signature scheme)[7].

Примечания[править | править код]

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

Ссылки[править | править код]