Введение
Схема цифровой подписи ElGamal — это схема цифровой подписи, основанная на сложности вычисления дискретных логарифмов. Она была описана Тахером Эльгамалом в 1985 году. Алгоритм цифровой подписи Эльгамала редко используется на практике. Гораздо более широко используется вариант, разработанный в АНБ и известный как Алгоритм цифровой подписи. Существуют и другие варианты. Схему цифровой подписи Эльгамала не следует путать с шифрованием Эльгамала, которое также было изобретено Тахером Эльгамалом.
The ElGamal signature scheme is a digital signature scheme which is based on the difficulty of computing discrete logarithms. It was described by Taher Elgamal in 1985. The ElGamal signature algorithm is rarely used in practice. A variant developed at the NSA and known as the Digital Signature Algorithm is much more widely used. There are several other variants. The ElGamal signature scheme must not be confused with ElGamal encryption which was also invented by Taher Elgamal.
Обзор
Схема цифровой подписи Эль-Гамала — это схема цифровой подписи, основанная на алгебраических свойствах модульного возведения в степень и проблеме дискретного логарифмирования. Алгоритм использует пару ключей, состоящую из открытого и закрытого ключа. Закрытый ключ используется для генерации цифровой подписи сообщения, а подлинность этой подписи может быть проверена с использованием соответствующего открытого ключа подписавшего. Цифровая подпись обеспечивает аутентификацию сообщения (получатель может удостовериться в источнике сообщения), целостность (получатель может удостовериться, что сообщение не было изменено после подписания) и невозможность отказа от авторства (отправитель не может отрицать факт подписания сообщения).
История
Система подписи ЭльГамаля была описана Тахером ЭльГамалом в 1985 году. Подделка с использованием одного параметра. Выберите такое значение *a*, чтобы выполнялось условие Set и Then кортеж (*r*, *s*) является допустимой подписью для сообщения *m*. Подделка с использованием двух параметров. Выберите *a* и *b*, и установите Set и Then кортеж (*r*, *s*) является допустимой подписью для сообщения *m*. Подделка с использованием одного параметра является частным случаем подделки с использованием двух параметров, когда *b* = 0.