|
|
|
Компьютеры - Схема Эль-Гамаля - Работа в режиме подписи22 января 2011
Оглавление: 1. Схема Эль-Гамаля 2. Работа в режиме шифрования 3. Работа в режиме подписи 4. Криптостойкость и особенности
Цифровая подпись служит для того чтобы можно было установить изменения данных и чтобы установить подлинность подписавшейся стороны. Получатель подписанного сообщения может использовать цифровую подпись для доказательства третьей стороне того, что подпись действительно сделана отправляющей стороной. При работе в режиме подписи предполагается наличие фиксированной хеш-функции , значения которой лежат в интервале .
Подпись сообщений
Для подписи сообщения выполняются следующие операции:
- Вычисляется дайджест сообщения
: 
- Выбирается случайное число
взаимно простое с и вычисляется 
- С помощью расширенного алгоритма Евклида вычисляется число
, удовлетворяющее сравнению:

- Подписью сообщения
является пара .
Проверка подписи
Зная открытый ключ , подпись сообщения проверяется следующим образом:
- Проверяется выполнимость условий:
и . Если хотя бы одно из них не выполняется,то подпись считается неверной.
- Вычисляется дайджест

- Подпись считается верной, если выполняется сравнение:

Пример
- Подпись сообщения.
- Допустим,что нужно подписать сообщение
.
- Произведем генерацию ключей:
- Пусть
переменные, которые известны некоторому сообществу. Секретный ключ — случайное целое число такое, что .
- Вычисляем открытый ключ
: .
- Итак,открытым ключом является тройка
.
- Теперь вычисляем хэш-функцию:
.
- Выберем случайное число
такое, что выполняется условие 1 < k < p − 1. Пусть .
- Вычисляем
.
- С помощью расширенного алгоритма Евклида находим число
из уравнения . Такое существует, так как НОД=1. Получим что .
- Итак, мы подписали сообщение:
.
- Проверка подлинности полученного сообщения.
- Вычисляем хэш-функцию:
.
- Проверяем сравнение
.
- Вычислим левую часть по модулю 23:
.
- Вычислим правую часть по модулю 23:
.
- Так как правая и левая части равны, то это означает что подпись верна.
- Главным преимуществом схемы цифровой подписи Эль-Гамаля является возможность вырабатывать цифровые подписи для большого числа сообщений с использованием только одного секретного ключа. Чтобы злоумышленнику подделать подпись, ему нужно решить сложные математические задачи с нахождением логарифма в поле
. Следует сделать несколько комментариев:
- Случайное число
должно сразу после вычисления подписи уничтожаться,так как если злоумышленник знает случайное число и саму подпись, то он легко может найти секретный ключ по формуле: и полностью подделать подпись.
Число должно быть случайным и не должно дублироваться для различных подписей, полученных при одинаковом значении секретного ключа.
- Использование свертки
объясняется тем,что это защищает подпись от перебора сообщений по известным злоумышленнику значению подписи. Пример: если выбрать случайные числа ,удовлетворяющие условиям , НОД=1 и предположить что



то легко удостовериться в том,что пара является верной цифровой подписью для сообщения .
- Цифровая подпись Эль-Гамаля стала примером построения других подписей, схожих по своим свойствам. В их основе лежит выполнение сравнения:
, в котором тройка принимает значения одной из перестановок ±r, ±s и ±m при каком-то выборе знаков. Например, исходная схема Эль-Гамаля получается при , , .На таком принципе построения подписи сделаны стандарты цифровой подписи США и России. В американском стандарте DSS, используется значения , , , а в Российском стандарте: , , .
- Еще одним из преимуществ является возможность уменьшения длины подписи с помощью замены пары чисел
на пару чисел является каким-то простым делителем числа . При этом сравнение для проверки подписи по модулю нужно заменить на новое сравнение по модулю : . Так сделано в американском стандарте DSS.
Просмотров: 8898
|