logo
Сборная ответов к госэкзаменам

Схемы цифровой подписи с использованием дискретных логарифмов

Уравнение подписи

Уравнение проверки

(1) r'k=s+mx mod q

rr'=gsym mod p

(2) r'k=m+sx mod q

rr'=gmys mod p

(3) sk= r'+mx mod q

rs=gr'ym mod p

(4) sk= m+ r'x mod q

rs=gmyr' mod p

(5) mk= s+ r'x mod q

rm=gsyr' mod p

(6) mk= r'+sx mod q

rm=gr'ys mod p

Это шесть различных схем цифровых подписей. Добавление минуса увеличивает их количество до 24. При использовании всех возможных значения a, b и c число схем доходит 120.

EIGamal и DSA по существу основаны на уравнении (4). Другие схемы - на уравнении (2) Schnorr тесно связан с уравнением (5). А уравнение (1) можно изменить так, чтобы получить схему, предложенную в [1630]. Оставшиеся уравнения - новые.

Любую из этих схем можно сделать более DSA-подобной, определив r как

r = (gk mod p) mod q

Используйте то же уравнение подписи и сделайте уравнением проверки

u1 = a-1b mod q

u2 = a-1c mod q

v = (( ) mod p) mod q

(r mod q)a = gbyc mod p

Существуют и две другие возможности подобных преобразований. Такие операции можно проделать с каждой из 120 схем, доведя общее число схем цифровой подписи, использующих дискретные логарифмы, до 480.

Но и это еще не все. Дополнительные обобщения и изменения приводят более, чем к 13000 вариантам (не все из них достаточно эффективны).

Одной из приятных сторон использования RSA для цифровой подписи является свойство, называемое восстановлением сообщения. Когда вы проверяете подпись RSA, вы вычисляете m. Затем вычисленное m сравнивается с сообщением и проверяется, правильна ли подпись сообщения. В предыдущих схемах восстановить m при вычислении подписи невозможно, вам потребуется вероятное m, которое и используется в уравнении проверки. Но, оказывается, можно построить вариант с восстановлением сообщения для всех вышеприведенных схем. Для подписи сначала вычислим

r = mgk mod p

и заменим m единицей в уравнении подписи. Затем можно восстановит уравнение проверки так, чтобы m могло быть вычислено непосредственно. То же самое можно предпринять для DSA-подобных схем:

r = (mgk mod p) mod q

Безопасность всех вариантов одинакова, поэтому имеет смысл выбирать схему по сложности вычисления. Большинство схем замедляет необходимость вычислять обратные значения.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4