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

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

Схемы подписи ElGamal, Schnorr (см. раздел 21.3) и DSA очень похожи. По сути, все они являются тремя примерами общей схемы цифровой подписи, использующей проблему дискретных логарифмов. Вместе с тысячами других схем подписей они являются частью одного и того же семейства.

Выберем p, большое простое число, и q, равное либо p-1, либо большому простому множителю p-1. Затем выберем g, число между 1 и p, для которого gq  1 (mod p). Все эти числа открыты, и могут быть совместно использованы группой пользователей. Закрытым ключом является x, меньшее q. Открытым ключом служит y =gmod q.

Чтобы подписать сообщение m, сначала выберем случайное значение k, меньшее q и взаимно простое с ним. Если q тоже простое число, то будет работать любое k, меньшее q. Сначала вычислим

r = gk mod p

Обобщенное уравнение подписи примет вид

ak = b + cx mod q

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

ra = gbyc mod p

Это уравнение называется уравнением проверки.

Возможные перестановки a, b и c (r'= r mod q)

 r'

 s

M

 r' m

 s

1

 r' m

 ms

1

 m r'

 r' s

1

 ms

 r' s

1

Перечислены возможные варианты подписи и проверки, полученные только из первой строки возможных значений a, b и c без учета эффектов ±.

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