GMR

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

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

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

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

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

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

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

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

Шаблон:Col-end.

Закрытый ключ состоит из простых чисел p1,q1,p2,q2, позволяющих эффективно вычислять обратные функции fi,n11(y) и fi,n21(y).

Рассмотрим случай генерации подписи для одного сообщения m, то есть B=1 и b=0. Алиса выбирает случайное число r0 из области значений fi,n1() и вычисляет подпись сообщения (t,r0,s):

t=fr0,n11(r) и s=fm,n21(r0).

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

  • fm,n2(s)=r0
  • fr0,n1(t)=r.

Для подписи B=2b>1 сообщений Алиса строит из корневого элемента r хэш-дерево с B листьями r0,r1,,rB1. Все внутренние вершины дерева выбираются случайно и равновероятно из множества значений fi,n1(), аналогично r0 в случае одного сообщения. Каждая внутренняя вершина R криптостойко связывается со обоими своими дочерними вершинами путём вычисления значения fR0R1,n1(R), помещаемого в вершину аналогично тому, как выше вычисляется t. Наконец, сообщение mj(0jB1) криптостойко связывается с j-ым листом дерева аутентификации rj путём вычисления значения sj=fmj,n21(rj) аналогично тому, как выше вычислено s. Подпись сообщения mj состоит из

  • Последовательности b вершин дерева от корня r до листа rj
  • b значений, помещённых в вершины (аналогично t выше)
  • sj (аналогично s выше)Шаблон:Sfn.

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

В качестве односторонних функций могут быть использованы fi,n(x)=±4rev(i)x2len(i)modn для n=n1 и n=n2, где функция rev() принимает на вход битовую строку i{0,1}+ и возвращает целое число, представленное битами i в обратном порядке Шаблон:Sfn. Функция len() также принимает битовую строку i{0,1}+, возвращая её длину. Знак плюс или минус выбирается таким образом, чтобы значение fi,n было положительно и не превышало n/2. В таком случае вычисление обратной функции осуществляется за время, пропорциональное k3, где k — длина строки i, при условии, что подписываемые сообщения имеют такую же длину. Таким образом образом, подпись k-битового сообщения может быть подсчитана за время O(bk3)Шаблон:Sfn.

Криптостойкость алгоритма

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

Обобщения схемы

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

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Криптосистемы с открытым ключом