Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольна робота по ЗИ.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
241 Кб
Скачать
☆

Завдання 3

Згенеруйте відкритий і закритий ключі в алгоритмі шифрування RSA, обравши прості числа p і q із першої сотні. Зашифруйте повідомлення, що складається з ваших ініціалів: ПІБ.

Мета роботи

Отримання навичок застосування асиметричних криптографічних алгоритмів на прикладі алгоритма шифрування RSA

    1. Приклад виконання завдання 3

I. Генерування ключів (див. Додаток Г).

Оберемо два простих числа р = 13 і q = 19 (див. Додаток Д).

Тоді модуль

n = pq=13*19 = 247

і функція Ейлера

(n) = (p-1)(q-1) = 12*18 = 216.

Закритий ключ d обираємо з умов d < (n) і d взаємно просте з (n) , тобто d і (n) не мають спільних дільників.

Нехай d = 25.

Відкритий ключ e обираємо з умов e < (n) і de=1(mod (n)): e<216,

25e=1(mod 216).

Остання умова означає, що число 25e-1 повинно ділитись на 216 без залишку.

Таким чином, для визначення e треба підібрати таке число k що

25e-1 = 216 k.

При k=14 отримуємо 25e=3024+1 або

e=121.

В нашому прикладі

(121, 247) – відкритий ключ,

( 25, 247) – секретний ключ.

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

Представимо повідомлення «КГЛ», котре підлягає зашифруванню, як послідовність цілих чисел. Нехай буква «К» відповідає числу 12, буква «Г» - числу 4 і буква «Л» - числу 13.

Зашифруємо повідомлення, використовуючи відкритий ключ (121, 247):

С1 = ( ) mod 247= 12

С2 = ( ) mod 247=199

С3 = ( ) mod 247= 91

Таким чином, вихідному повідомленню (12, 4, 13) відповідає криптограма (12, 199, 91).

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

Розшифруємо повідомлення (12, 199, 91), користуючись секретним ключем (25,247):

М1 = ( ) mod 247=12

М2 = ( ) mod 247= 4

МЗ = ( ) mod 247=13

В результаті розшифрування було одержано вихідне повідомлення (12, 4, 13), тобто "КГЛ".

Завдання 4

Використовуючи хеш–функцію , знайти хеш–образ свого Прізвища.

Мета роботи

Отримання навичок використання функцій хешування.

    1. Приклад виконання завдання 4

Повідомлення, що хешується  «КОЗИНА». Візьмемо два простих числа p=13, q=19 (див. Додаток Е). Позначимо n=pq=13*19=247. Вектор ініціалізації обираємо рівним 8 (обираємо випадковим чином). Слово «КОЗИНА» можна представити послідовністю чисел (12, 16, 9, 10, 15, 1) по номерам літер в абетці. Таким чином,

n=247, H0=8, M1=12, M2=16, M3=9, M4=10, M5=15, M6=1.

Використовуючи формулу

,

отримаємо хеш-образ повідомлення «КОЗИНА»:

H1=(H0+M1)2 mod n = ( 8 + 12)2 mod 247 = 400 mod 247=153

H2=(H1+M2)2 mod n = (153 + 16)2 mod 247 = 28561 mod 247= 156

H3=(H2+M3)2 mod n = (156 + 9)2 mod 247 = 27225 mod 247= 55

H4=(H3+M4)2 mod n = ( 55 + 10)2 mod 247 = 4225 mod 247= 26

H5=(H4+M5)2 mod n = ( 26 + 15)2 mod 247 = 1681 mod 247= 199

H6=(H5+M6)2 mod n = (199 + 1)2 mod 247 = 40000 mod 247= 233

В результаті отримаємо хеш-образ повідомлення «КОЗИНА», рівний 233.

Завдання 5

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