Опубликован: 19.01.2010 | Уровень: специалист | Доступ: свободно
Лекция 3:

Цифровая подпись

Схема цифровой подписи Шнорра

Проблема схемы цифровой подписи Эль-Гамаля - в том, что p должно быть очень большим, чтобы сделать трудной проблему дискретного логарифма Zp*. Рекомендуется длина p по крайней мере 1024 битов. Можно сделать подпись размером 2048 бит. Чтобы уменьшить размер подписи, Шнорр предложил новую схему, основанную на схеме Эль-Гамаля , но с уменьшенным размером подписи. рис. 3.11 дает общую идею схемы цифровой подписи Шнорра.

Общая идея схемы цифровой подписи Шнорра

увеличить изображение
Рис. 3.11. Общая идея схемы цифровой подписи Шнорра

В процессе подписания две функции создают две подписи; в процессе проверки выход одной функции сравнивается с первой подписью для проверки. рис. 3.11 показывает входы к каждой функции. Важно то, что схема использует два модуля: p и q. Функции 1 и 3 используют p ; функция 2 использует q. Детали входов и функций будут коротко обсуждены далее.

Генерация ключей

Перед подписанием сообщения Алиса должна генерировать ключи и объявить всем общедоступные ключи.

  1. Алиса выбирает простое число p, которое обычно равно по длине 1024 битам.
  2. Алиса выбирает другое простое число q, которое имеет тот же самый размер, что и дайджест, созданный функцией криптографического хэширования (в настоящее время 160 битов, но это может измениться в будущем). Простое число q должно делиться на (p - 1). Другими словами, (p - 1) = 0 mod q.
  3. Алиса выбирает e1, q -тый корень которого был бы равен 1 mod p. Чтобы сделать это, Алиса выбирает примитивный элемент в Zp, e0 (см. "G. Список неприводимых и примитивных полиномов" ) и вычисляет e1 = e0(p-1)/q mod p.
  4. Алиса выбирает целое число, d, как свой секретный ключ.
  5. Алиса вычисляет e2 = e1d mod p.
  6. Общедоступный ключ Алисы - (e1, e2, p, q), ее секретный ключ - (d).
В схеме цифровой подписи Шнорра общедоступный ключ Алисы - (e1, e2, p, q) ; ее секретный ключ - (d) .

Подписание и проверка

Рисунок 3.12 показывает схему цифровой подписи Шнорра.

Схема цифровой подписи Шнорра

увеличить изображение
Рис. 3.12. Схема цифровой подписи Шнорра

Подписание

  1. Алиса выбирает случайное число r. Обратите внимание, что открытый и секретный ключи могут использоваться для подписи многих сообщений. Но Алиса должна изменять r каждый раз, когда она передает новое сообщение. Обратите внимание также на то, что r должен иметь значение между 1 и q.
  2. Алиса вычисляет первую подпись S1 = h(M | e1r mod p) . Сообщение присоединяется (конкатенируется) спереди к значению e1r mod p, затем применяется хэш-функция, чтобы создать дайджест. Обратите внимание, что хэш-функция непосредственно не применяется к сообщению, но вместо этого она получается из последовательного соединения М. и e1r mod p.
  3. Алиса вычисляет вторую подпись S2 = r + d x S1 mod q. Обратите внимание, что эта часть - вычисление S2 - делается в арифметике по модулю q.
  4. Алиса передает М., S1 и S2.

Верификация (проверка) сообщения. Приемник, например Боб, получает М., S1 и S2.

  1. Боб вычисляет V = h (М | e1S2 e2-S1 mod p).
  2. Если S2 конгруэнтно V по модулю p, сообщение принято; иначе оно отклоняется.

Пример 3.4

Вот тривиальный пример. Предположим, что мы выбираем q = 103 и p = 2267. Обратите внимание на то, что p = 22 x q + 1. Мы выбираем e0 = 2, которое является элементом в Z2267*. Тогда (p - 1) / q = 22, так что мы имеем e1 = 222 mod 2267 = 354.

Мы выбираем d = 30, тогда e2 = 35430 mod 2267 = 1206. Секретный ключ Алисы -теперь - (d), ее общедоступный ключ - (e1,e2,p,q).

Алиса хочет передать сообщение М. Она выбирает r = 11 и вычисляет er = 35411 = 630 mod 2267. Предположим, что сообщение - 1000, и конкатенация (последовательное соединение) означает 1000630. Также предположим, что хэширование этого значения дает дайджест h (1000630) = 200. Это означает S1 = 200. Алиса вычисляет S2 = r + d x S1 mod q = 11 + 1026 200 mod 103 = 11 + 24 = 35. Алиса передает сообщение М =1000, S1 = 200 и S2 = 35. Проверку оставляем как упражнение.

Подделка по схеме подписи Шнорра

Похоже, что все атаки на схему Эль-Гамаля могут быть применены к схеме Шнорра. Однако схема Шнорра находится в лучшем положении, потому что S1 = h (М. | e1r(mod p)). Это означает, что хэш-функция применяется к комбинации сообщение и e1r, в которой r является секретным.

Евгений Виноградов
Евгений Виноградов
Экстернат
Илья Сидоркин
Илья Сидоркин
Как получить диплом?
Анатолий Гречман
Анатолий Гречман
Казахстан, Экибастуз, Экибастузский Инженерно-технический Институт, 2014