| ||||
О программе |
Алгоритм цифровой подписи Elgamal (ЕGSА) ·
Генерация секретного и открытого ключей.
Выбирается некоторое большое простое целое число Р и большое целое число G, такое
что G < Р. Далее
выбирается случайное целое число X, 1 <Х £ Р-1,
и вычисляется Y = GX mod Р. Число Y является открытым ключом,
используемым для проверки подписи отправителя и открыто передается всем
потенциальным получателям документов. Число Х является секретным ключом
отправителя для подписывания документов и должно храниться в секрете. · Процедура подписания сообщения. Сообщение М хэшируется
с помощью хэш-функции h() в целое число m: m = h(М),
1 < m < Р-1, и генерируется случайное целое число К,
1 < К < Р-1, такое что К и
Р-1 являются взаимно простыми. Вычисляются целое число
а по формуле а = GK mod Р и, с помощью секретного ключа Х, целое
число b из уравнения m = Х*а + К*b (mod (Р-1)). Пара чисел (а, b) образует
цифровую подпись S: S = (а, b). Тройка
чисел (М, а, b) передается получателю, а пара чисел (Х, К).держится в секрете. · Процедура проверки. Принятое сообщение М хэшируется,
т.е. вычисляется число M = h(М). Вычисляется значение А = Ya ab (mod Р). Получатель признает сообщение М
подлинным, если и только если А = Gm (mod Р). | |||
Работа с электронной цифровой подписью EGSA
Хэширование входных данных и генерация ЭЦП
| ||||
|