Схема подписи Fiat-Shamir
Превращение этой схемы идентификации в схему подписи - это, по сути, вопрос превращения Виктора в хэш-функциию. Главным преимуществом схемы цифровой подписи Fiat-Shamir по сравнению с RSA является ее скорость: для Fiat-Shamir нужно всего лишь от 1 до 4 процентов модульных умножений, используемых в RSA. В этом протоколе снова вернемся к Алисе и Бобу.
Смысл переменных - такой же, как и в схеме идентификации. Выбирается n- произведение двух больших простых чисел. Генерируется открытый ключ, v1, v2, . . . vk, и закрытый ключ, s1, s2, . . . sk, где siº sqrt (vi-1) (mod n).
(1) Алиса выбирает tслучайных целых чиселв диапазоне от 1 до n - r1, r2, . . ., rt - и вычисляет x1, x2, . . . xt, такие что xi= ri2mod n.
(2) Алиса хэширует объединение сообщения и строки xi, создавая битовый поток: H(m, x1, x2, . . . xt). Она использует первые k*t битов этой строки в качестве значений bij, где iпробегает от1 до t, а jот 1 до k.
(3) Алиса вычисляет y1, y2, . . . yt,, где yi= ri*( ) mod n
(Для каждого i она перемножает вместе значения si, в зависимости от случайных значений bij. Если bij=1, то si участвует в вычислениях, если bij=0, то нет.)
(4) Алиса посылает Бобу m, все биты bij, и все значения yi. У Боба уже есть открытый ключ Алисы: v1, v2, . . . vk.
(5) Боб вычисляет z1, z2, . . . zt, где zi = y2*( )mod n
(И снова Боб выполняет умножение в зависимости от значений bij.) Также обратите внимание, что zi должно быть равно xi.
(6) Боб проверяет, что первые k*tбитов H(m, z1, z2, . . . zt) - это значения bij,которые прислала ему Алиса.
Как и в схеме идентификации безопасность схемы подписи пропорциональна l/2kt. Она также зависит от сложности разложения n на множители. Фиат и Шамир показали, что подделка подписи облегчается, если сложность разложения n на множители заметно меньше 2kt. Кроме того, из-за вскрытия методом дня рождения (см. раздел 18.1), они рекомендуют повысить k*tот 20 по крайней мере до 72, предлагая k= 9 и t= 8.
Дата добавления: 2021-01-26; просмотров: 338;