Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаборатор_практикумZI.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
879.1 Кб
Скачать

3 Контрольні запитання

  1. Який криптоалгоритм називається асиметричним?

  2. Які функції виконує цифровий підпис?

  3. Що таке асиметричний криптоалгоритм і яка його відмінність від симетричного?

Лабораторна робота № 9 вивчення криптоалгоритму шифрування ель гамаля

Мета: Вивчення структури алгоритму і методики практичної реалізації криптосистеми шифрування Ель Гамаля.

Тривалість роботи – 1 години

1 Основні теоретичні відомості

Схема шифрування Ель Гамаля може бути використана для формування цифрових підписів, і для шифрування даних.

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

Нині найбільш перспективними системами криптографічного захисту є системи з відкритим ключем. У таких системах для шифрування повідомлення використовується закритий ключ, а для розшифрування - відкритий.

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

Для розшифрування даних одержувач зашифрованої інформації використовує секретний ключ, який не може бути визначений з відкритого ключа.

При використанні алгоритму шифрування Ель Гамаля довжина шифротекста удвічі більше довжини початкового відкритого тексту М.

В реальних схемах шифрування необхідно використовувати як модуль n велике просте число, що має в двійковому представленні довжину 512...1024 біт.

Слід зазначити, що формування кожного підпису по цьому методу вимагає нового значення k, причому це значення повинне вибиратися випадковим чином. Якщо порушник розкриє значення k, повторно використовуване відправником, то може розкрити і секретний ключ x відправника.

2 Порядок виконання роботи

Порядок виконання роботи відповідає наведеній нижче криптосистемі шифрування даних за схемою Ель Гамаля.

Схема алгоритму шифрування даних Ель Гамаля

    1. Визначення відкритого “y” і секретного “X” ключів

2.1.1 Вибір двох взаємно простих великих чисел p і q, q < p

2.1.2 Вибір значення секретного ключа x, x < p

2.1.3 Визначення значення відкритого ключа y з виразу:

2.2. Алгоритм шифрування повідомлення М

2.2.1 Вибір випадкового числа k, що задовольняє умові:

0 ≤ k < p-1 і НСД (k,p-1)=1

2.2.2 Визначення значення a з вираження: a = (mod p)

2.2.3 Визначення значення b з вираження:

b = M (mod p)

2.2.4 Криптограма C, що складається з a і b, вирушає одержувачеві

2.2.5 Одержувач розшифровує криптограму за допомогою виразу:

2.3 Процедуру шифрування даних розглянемо на прикладі (для зручності в даному прикладі використані числа малої розрядності):

2.3.1 Вибираємо два взаємно простих числа p = 11 і q = 2;

2.3.2 Вибираємо значення секретного ключа x, (x < p), x = 8;

2.3.3 Обчислюємо значення відкритого ключа y з виразу

2.3.4 Вибираємо значення відкритого повідомлення M = 5;

2.3.5 Вибираємо випадкове число k = 9; НСД (9, 10) = 1;

2.3.6 Визначаємо значення a з виразу:

;

2.3.7 Визначаємо значення b з виразу:

.

Таким чином, отримуємо зашифроване повідомлення як (a, b)=(6, 9) і відправляємо одержувачеві.

2.3.8. Одержувач розшифровує цей шифротекст, використовуючи секретний ключ x і розв’язуючи наступне порівняння:

Обчислене значення повідомлення M = 5 є заданим початковим повідомленням.