Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
53
Добавлен:
31.01.2021
Размер:
274.13 Кб
Скачать

2 Електронний цифровий підпис ель-гамаля і dss / dsa

2.1 Загальні відомості

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

Рисунок 2.1 – Схема шифрування Ель-Гамаля

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

  1. Вибирається випадкове ціле число x таке, що 1< k < p-1

  2. Обчислюються числа a і b, за формулою (2.1) і (2.2)

(2.1)

де - відкритий ключ;

k- випадкове ціле число;

p- відкритий ключ.

(2.2)

де p, - відкритий ключ

Пара чисел (a, b) є шифротекстом.

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

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

Знаючи закритий ключ x , вихідне повідомлення можна обчислити з шифротекста (a, b) по формулі (2.3)

(2.3)

де М-вихідне повідомлення;

(а, b) –шифротекст;

р- випадкове просте число;

х- закритий ключ;

Можно перевірити, за формулою (2.4)

, (2.4)

де М-вихідне повідомлення;

а – шифротекст;

р, - відкриті ключі;

х- закритий ключ;

k - випадкове ціле число.

Тому за формулою (2.5)

, , (2.5)

де, М-вихідне повідомлення

(а, b) – шифротекст;

р, - відкриті ключі;

х- закритий ключ;

k- випадкове ціле число.

2.2 Електронний цифровий підпис по Ель-Гамалю

Формування і перевірка підпису відбувається за етапами.

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

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

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

4. Обчислюється y, за формулою (2.6)

(2.6)

- випадковий примітив поля;

k- випадкове ціле число;

p- випадкове просте число довжини n бітів;

5. Відкритим ключем є трійка (p, , y ), закритим ключем – число x.

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

Рисунок 2.2– Цифровий підпис за схемою Ель-Гамаля

2.3 Стандарт dss

У 1991 р NIST (National Institute of Standards and Technology) запропонував для обговорення проект стандарту ЕЦП DSS (Digital Signature Standard), який використовує алгоритм DSA (Digital Signature Algorithm). Стійкість даного алгоритму заснована на складності рішення задачі дискретного логарифмування в мультиплікативної групі простого поля.

Підхід DSS використовує алгоритм, який розроблявся для використання тільки в якості цифрового підпису. На відміну від RSA, його не можна використовувати для шифрування або обміну ключами. Проте, це технологія відкритого ключа. Нижче приведено схему створення підпис за допомогою DSS, рисунок 2.3

Рисунок 2.3 – Схема створення підпису за допомогою DSS

Підхід DSS використовує сильну хеш-функцію. Хеш-код є входом функції підпису разом з випадковим числом k, створеного для цього підпису. Функція підпису також залежить від закритого ключа відправника KRa і параметрів, відомих всім учасникам. Параметри складаються з глобального відкритого ключа KUG. Результатом є підпис, що складається з двох компонент, позначених як s і r.

Для перевірки підпису одержувач також створює хеш-код отриманого повідомлення Який з підписом є входом в функцію верифікації. Функція верифікації залежить від глобального відкритого ключа KUG і від відкритого ключа відправника KUa. Виходом функції верифікації є значення, яке має дорівнювати компоненті r підписи, якщо підпис коректна. Функція підпису така, що тільки відправник, що знає закритий ключ, може створити коректний підпис.