
Лабораторная работа №10
Тема: Изучение алгоритма электронной цифровой подписи Эль-Гамаля
Цель Работы: Ознакомиться со схемами цифровой подписи и получить навыки создания и проверки подлинности ЦП.

ПРИМЕР (алгоритм Эль-Гамаля)
1)Пусть общие параметры для некоторого сообщества пользователей p=23 и g=5.
Пусть секретный ключ x=7. Вычислим открытый ключ y:
2)
Пусть нужно поставить подпись на сообщение m=baaqab
Перейдем к вычислению подписи по алгоритму.
3)Прежде всего, вычисляется хеш-функция. Пусть её значение h(m)=h(baaqab)=M=3.
4)Затем генерируется случайное число k, например k=5. Вычисляем по формулам
5)
И по расширенному алгоритму Евклида находим b
6)3=(7*20+5*b) mod 22
Такое b существует, т.к. НОД(k,p-1)=1. Получили b=21.
7)Получили подписанное сообщение в виде <baaqab,20,21>
Подписанное сообщение передается.
Полученное сообщение проверим на подлинность.
1)Прежде всего, вычисляется хеш-функция h(baaqab)=M=3.
2)Затем вычисляем левую часть
3)и после этого правую
Теоретическая часть:
Для генерации пары ключей сначала выбирается простое число p и два случайных числа g и x. Оба эти числа должны быть меньше p.
Чтобы подписать сообщение М, сначала выбирается случайное число k, взаимно простое с p-1. Затем вычисляется:
и с помощью расширенного алгоритма Евклида находится b в следующем уравнении:
Подписью является пара чисел: a и b. Случайное значение k должно храниться в секрете. Для проверки подписи нужно убедиться, что:
Так как левая часть совпала с правой, то можно сделать вывод, что подпись верна.
Абоненты некоторой сети применяют подпись Эль-Гамаля с общими параметрами p=23, g=5. Для указанных секретных параметров абонентов найти открытый ключ (y) и построить подпись для сообщения m:
-
x=11, k=3, m=15
-
x=10, k=15, m=5
-
x=3, k=13, m=8
-
x=18, k=7, m=5
-
x=9, k=19, m=15
Во всех вариантах будем предполагать, что h(m)=m для всех значений m.

Контрольные вопросы
-
Для чего нужна цифровая подпись?
-
Какая схема самая распространенная? Почему?
-
Как осуществляется подпись Эль-Гамаля?
-
Как осуществляется проверка на подлинность подписи Эль-Гамаля?