Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания для самостоятельной работы Криптография...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
543.74 Кб
Скачать

2.2 Электронная цифровая подпись (эцп)

Электронная цифровая подпись (ЭЦП) или цифровая подпись. Последний вариант является прямым переводом английского словосочетания digital signature. Термин «цифровая подпись» более удобен и точен.

Общеизвестно, что цифровая подпись файлов или электронных почтовых сообщений выполняется с использованием криптографических алгоритмов, использующих несимметричные ключи: собственно для подписи используется «секретный ключ», а для проверки чужой подписи — «открытый». Ключи представляют собой числа достаточно большой длины (от 512 до 4096 бит), математически связанные между собой.

Цифровая подпись сообщения (файлы, электронные письма, сетевые пакеты и прочие наборы данных) - это последовательность бит фиксированной длины, формирующаяся по тексту сообщения с использованием секретного ключа его создателя. Корректность подписи проверяется с помощью открытого ключа. Обычно вместе с сообщением подписываются и некоторые его «реквизиты»: дата и время создания сообщения, (возможно) номер версии сообщения, время «жизни» сообщения. Цифровая подпись отправляется вместе с сообщением, и, обычно, становится неотъемлемой его частью. Получатель сообщения должен располагать копией открытого ключа отправителя. Схемы распространения открытых ключей могут быть разными: от простого личного обмена ключами до сложной многоуровневой «инфраструктуры открытых ключей» (public key infrastructure - PKI). Если при проверке цифровой подписи получатель устанавливает ее корректность, то может быть уверен не только в неизменности и «актуальности» сообщения, но - что самое важное - и в том, что сообщение «подписал» действительно его автор или отправитель

На сегодняшний день придумано и реализовано не так много алгоритмов цифровой подписи:

  • алгоритм подписи Ривеста-Шамира-Адельмана (RSA);

  • алгоритм Шнорра;

  • алгоритм DSA, являющийся федеральным стандартом на цифровую подпись в США; на него похож "старый" российский стандарт на цифровую подпись ГОСТ Р 34.10-94.

  • алгоритм Эль-Гамаля

  • алгоритм на основе эллиптических кривых

2.2.1 Алгоритм формирования подписи Эль-Гамаля

Для генерации пары ключей сначала выбирается простое число p и два случайных числа g и x, оба эти числа должны быть меньше p. Затем вычисляется y:

Y=gx MOD p

Открытым ключом являются g, y, p. Закрытым ключом является x.

Подпись Эль-Гамаля

  1. Чтобы подписать сообщение M, сначала выбирается случайное число k, взаимно простое с p-1 и g<p (g может быть образующей по модулю p)

Вычисляется у= gx MOD p

  1. затем вычисляется :

a(подпись)=gk MOD p

  1. Далее для нахождения b(подпись) решается следующее уравнение:

M=(xa+kb) MOD (p-1)

Подписью является пара чисел: a и b. Случайное значение k должно храниться в секрете. Для проверки подписи нужно убедиться, что

yaab MOD p = gm MOD p

Проверка

Подпись считается правильной, если yaab MOD p = gM MOD p

Пример:

Выбираем P=11 и g=2, а закрытый ключ x=8. Вычислим :

Y=gx MOD p= 28 MOD 11 = 3

Открытым ключом являются y=3, g=2, p=11.

Чтобы подписать сообщение M=5, сначала выберем случайное число k=9. Убеждаемся, что НОД(9, 10)=1. Вычисляем:

a= gk MOD p= 29 MOD 11 = 6

Далее, решая уравнение, находим b.

M=(ax+kb) MOD (p-1)

5=(8*6+9*b)MOD 10

Решением будет b=3, а подпись представляет пару чисел:

a=6, b=3.

Для проверки подписи убедимся, что:

yaab MOD p =gM MOD p

3663 MOD 11 = 25 MOD 11