Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Схема Ель-Гамаля.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
31.07 Кб
Скачать

Схема Ель-Гамаля

План:

    Введення

  • 1 Генерація ключів

  • 2 Робота в режимі шифрування

    • 2.1 Шифрування

    • 2.2 Розшифрування

    • 2.3 Схема шифрування

    • 2.4 Приклад

  • 3 Робота в режимі підпису

    • 3.1 Підпис повідомлень

    • 3.2 Перевірка підпису

    • 3.3 Приклад

  • 4 Криптостійкість і особливості Примітки

Введення

Схема Ель-Гамаля (Elgamal) - криптосистема з відкритим ключем, заснована на труднощі обчислення дискретних логарифмів в кінцевому полі. Криптосистема включає в себе алгоритм шифрування і алгоритм цифрового підпису. Схема Ель-Гамаля лежить в основі стандартів електронного цифрового підпису в США ( DSA) і Росії ( ГОСТ Р 34.10-94).

Схема була запропонована Тахер Ель-Гамалем в 1984. [1] Ель-Гамаль розробив один із варіантів алгоритму Діффі-Хеллмана. Він удосконалив систему Діффі-Хеллмана і отримав два алгоритми, які використовувалися для шифрування і для забезпечення аутентифікації. На відміну від RSA алгоритм Ель-Гамаля не був запатентований і, тому, став більш дешевою альтернативою, оскільки не вимагалася оплата внесків за ліцензію. Вважається, що алгоритм потрапляє під дію патенту Діффі-Хеллмана.

1. Генерація ключів

  1. Генерується випадкове просте число довжини бітів.

  2. Вибирається випадкове ціле число таке, що .

  3. Вибирається випадкове ціле число таке, що .

  4. Обчислюється .

  5. Відкритим ключем є трійка , Закритим ключем - число .

2. Робота в режимі шифрування

Шіфрсістема Ель-Гамаля є фактично одним із способів вироблення відкритих ключів Діффі - Хеллмана. Шифрування за схемою Ель-Гамаля не слід плутати з алгоритмом цифрового підпису за схемою Ель-Гамаля.

2.1. Шифрування

Повідомлення шифрується таким чином:

  1. Вибирається сесійний ключ - випадкове ціле число таке, що

  2. Обчислюються числа і .

  3. Пара чисел є шіфротекста.

Неважко бачити, що довжина шіфротекста в схемі Ель-Гамаля довше вихідного повідомлення вдвічі.

2.2. Розшифрування

Знаючи закритий ключ , Вихідне повідомлення можна обчислити з шіфротекста за формулою:

При цьому неважко перевірити, що

і тому

.

Для практичних обчислень більше підходить наступна формула:

2.3. Схема шифрування

2.4. Приклад

  • Шифрування

    1. Припустимо що потрібно зашифрувати повідомлення .

    2. Зробимо генерацію ключів:

      1. нехай . Виберемо - Випадкове ціле число таке, що .

      2. Обчислимо .

      3. Отже, відкритим є трійка , А закритим ключем є число .

    3. Вибираємо випадкове ціле число таке, що 1 .

    4. Обчислюємо число .

    5. Обчислюємо число .

    6. Отримана пара є шіфротекста.

  • Розшифрування

    1. Необхідно отримати повідомлення за відомим шіфротекста і закритому ключу .

    2. Обчислюємо M за формулою:

    3. Отримали вихідне повідомлення .


Так як в схему Ель-Гамаля вводиться випадкова величина , То шифр Ель-Гамаля можна назвати шифром багатозначної заміни. Через випадковості вибору числа таку схему ще називають схемою імовірнісного шифрування. Імовірнісний характер шифрування є перевагою для схеми Ель-Гамаля, так як у схем імовірнісного шифрування спостерігається більша стійкість в порівнянні зі схемами з певним процесом шифрування. Недоліком схеми шифрування Ель-Гамаля є подвоєння довжини зашифрованого тексту в порівнянні з початковим текстом. Для схеми імовірнісного шифрування саме повідомлення і ключ не визначають шіфротекст однозначно. У схемі Ель-Гамаля необхідно використовувати різні значення випадкової величини для шифровки різних повідомлень і . Якщо використовувати однакові , То для відповідних шіфротектов і виконується співвідношення . З цього виразу можна легко обчислити , Якщо відомо .

3. Робота в режимі підпису

Цифровий підпис служить для того щоб можна було встановити зміни даних і щоб установити дійсність підписаного сторонами. Одержувач підписаного повідомлення може використовувати цифровий підпис для доказу третій стороні того, що підпис дійсно зроблена отправляющей стороною. При роботі в режимі підпису передбачається наявність фіксованої хеш-функції , значення якої лежать в інтервалі .

3.1. Підпис повідомлень

Для підпису повідомлення виконуються наступні операції:

  1. Обчислюється дайджест повідомлення :

  2. Вибирається випадкове число взаємно просте з і обчислюється

  3. Обчислюється число .

  4. Підписом повідомлення є пара .

3.2. Перевірка підпису

Знаючи відкритий ключ , Підпис повідомлення перевіряється наступним чином:

  1. Перевіряється здійснимість умов: і . Якщо хоча б одне з них не виконується, то підпис вважається невірною.

  2. Обчислюється дайджест

  3. Підпис вважається вірною, якщо виконується порівняння:

3.3. Приклад