Підпис повідомлення.
Припустимо, що потрібно підписати повідомлення .
Зробимо генерацію ключів:
Нехай змінні, які відомі деякого спільноті. Секретний ключ - Випадкове ціле число таке, що .
Обчислюємо відкритий ключ : .
Отже, відкритим ключем є трійка .
Тепер обчислюємо хеш-функцію: .
Виберемо випадкове число таке, що виконується умова . Нехай .
Обчислюємо .
Знаходимо число . Таке існує, так як НОД (k, p -1) = 1. Отримаємо що .
Отже, ми підписали повідомлення: .
Перевірка справжності отриманого повідомлення.
Обчислюємо хеш-функцію: .
Перевіряємо порівняння .
Обчислимо ліву частину по модулю 23: .
Обчислимо праву частину по модулю 23: .
Так як права і ліва частини рівні, то це означає що підпис вірна.
- Головною перевагою схеми цифрового підпису Ель-Гамаля є можливість виробляти цифрові підписи для великого числа повідомлень з використанням тільки одного секретного ключа. Щоб зловмисникові підробити підпис, йому потрібно вирішити складні математичні завдання із знаходженням логарифма в поле . Слід зробити кілька коментарів:
Випадкове число повинно відразу після обчислення підпису знищуватися, оскільки якщо зловмисник знає випадкове число і саму підпис, то він легко може знайти секретний ключ за формулою: і повністю підробити підпис.
Число повинно бути випадковим і не повинно дублюватися для різних підписів, отриманих при однаковому значенні секретного ключа.
Використання згортки пояснюється тим, що це захищає підпис від перебору повідомлень по відомим зловмисникові значенням підпису. Приклад: якщо вибрати випадкові числа , Що задовольняють умовам , НОД (j, p-1) = 1 і припустити що
то легко переконатися в тому, що пара є вірною цифровим підписом для повідомлення .
Цифровий підпис Ель-Гамаля стала прикладом побудови інших підписів, схожих за своїми властивостями. В їх основі лежить виконання порівняння: , В якому трійка приймає значення однієї з перестановок r, s і m при якомусь виборі знаків. Наприклад, вихідна схема Ель-Гамаля виходить при , , . На такому принципі побудови підписи зроблені стандарти цифрового підпису США і Росії. В американському стандарті DSS (Digital Signature Standard), використовується значення , , , А в Російському стандарті: , , .
Ще однією з переваг є можливість зменшення довжини підпису за допомогою заміни пари чисел на пару чисел ), Де є якимось простим дільником числа . При цьому порівняння для перевірки підпису по модулю потрібно замінити на нове порівняння по модулю : . Так зроблено в американському стандарті DSS (Digital Signature Standard).
math> ~
4. Криптостійкість і особливості
В даний час криптосистеми з відкритим ключем вважаються найбільш перспективними. До них відноситься і схема Ель-Гамаля, криптостійкість якої заснована на обчислювальної складності проблеми дискретного логарифмування, де по відомим p, g і y потрібно обчислити x, що задовольняє порівнянні:
ГОСТ Р34.10-1994, прийнятий в 1994 в Російській Федерації, що регламентував процедури формування та перевірки електронного цифрового підпису, був заснований на схемі Ель-Гамаля. З 2001 використовується новий ГОСТ Р 34.10-2001, що використовує арифметику еліптичних кривих, визначених над простими полями Галуа. Існує велика кількість алгоритмів, заснованих на схемі Ель-Гамаля: це алгоритми DSA, ECDSA, KCDSA, схема Шнорр.
Порівняння деяких алгоритмів:
Алгоритм |
Ключ |
Призначення |
Криптостійкість, MIPS |
Примітки |
RSA |
До 4096 біт |
Шифрування і підпис |
2,7 10 28 для ключа 1300 біт |
Заснований на труднощі завдання факторизації великих чисел; один з перших асиметричних алгоритмів. Включений в багато стандарти |
ElGamal |
До 4096 біт |
Шифрування і підпис |
При однаковій довжині ключа криптостойкость рівна RSA, тобто 2,7 10 28 для ключа 1300 біт |
Заснований на важкій задачі обчислення дискретних логарифмів в кінцевому полі; дозволяє швидко генерувати ключі без зниження стійкості. Використовується в алгоритмі цифрового підпису DSA-стандарту DSS |
DSA |
До 1024 біт |
Тільки підписання |
Заснований на труднощі завдання дискретного логарифмування в кінцевому полі; прийнятий в якості держ. стандарту США; застосовується для секретних і несекретних комунікацій; розробником є АНБ. |
|
ECDSA |
До 4096 біт |
Шифрування і підпис |
Криптостійкість і швидкість роботи вища, ніж у RSA |
Сучасний напрямок. Розробляється багатьма провідними математиками |
