Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 декабря 2019 года; проверки требуют 13 правок.
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 декабря 2019 года; проверки требуют 13 правок.
Экзистенциальная подделка (existential forgery): подделать подпись хотя бы одного сообщения. При этом криптоаналитик не выбирает сообщение для подделки подписи, подделка может быть случайной и лишённой смысла. Подделка такого типа может нести минимальный урон для . Авторами схемы GMR доказана ее устойчивость именно к такому типу атаки[3].
Предположим, что Алисе нужно отправить Бобу последовательность сообщений, подтверждённых цифровой подписью.
Пусть Алиса предполагает подписать сообщений, случайный параметр шифрования - . Открытый ключ состоит из следующих компонент:
Максимальное число сообщений, которые необходимо зашифровать
Два случайно выбранных числа Блума и , то есть два числа, являющихся произведением простых чисел, сравнимых с числом по модулю [4]
Закрытый ключ состоит из простых чисел , позволяющих эффективно вычислять обратные функции и .
Рассмотрим случай генерации подписи для одного сообщения , то есть и . Алиса выбирает случайное число из области значений и вычисляет подпись сообщения :
и .
Получив подписанное сообщение, Боб последовательно проверяет, что
.
Для подписи сообщений Алиса строит из корневого элемента хэш-дерево с листьями . Все внутренние вершины дерева выбираются случайно и равновероятно из множества значений , аналогично в случае одного сообщения. Каждая внутренняя вершина криптостойко связывается со обоими своими дочерними вершинами путём вычисления значения , помещаемого в вершину аналогично тому, как выше вычисляется . Наконец, сообщение криптостойко связывается с -ым листом дерева аутентификации путём вычисления значения аналогично тому, как выше вычислено . Подпись сообщения состоит из
Последовательности вершин дерева от корня до листа
В качестве односторонних функций могут быть использованы для и , где функция принимает на вход битовую строку и возвращает целое число, представленное битами в обратном порядке [6]. Функция также принимает битовую строку возвращая её длину. Знак плюс или минус выбирается таким образом, чтобы значение было положительно и не превышало . В таком случае вычисление обратной функции осуществляется за время, пропорциональное , где — длина строки , при условии, что подписываемые сообщения имеют такую же длину. Таким образом образом, подпись -битового сообщения может быть подсчитана за время [6].
Гольдвассер, Микали и Ривестом доказано[3], что алгоритм GMR не позволяет криптоаналитику успешно совершить адаптивную атаку на основе подобранного сообщения, а именно, осуществить экзистенциальную подделку подписи, сгенерированной по схеме GMR. Криптоаналитик, получивший подписи к ряду сообщений, не может подделать подпись для любого дополнительного сообщения.