- •Методичні вказівки до виконання контрольної роботи
- •Завдання №1
- •Мета роботи
- •Приклад виконання завдання 1
- •Завдання 2
- •Мета роботи
- •Приклад виконання завдання 2
- •Приклад виконання завдання 3
- •Завдання 4
- •Мета роботи
- •Приклад виконання завдання 4
- •Завдання 5
- •Завдання 3
- •Мета роботи
- •Мета роботи
- •Приклад виконання завдання 5
- •Додатки Додаток а Алгоритм шифрування гост 28147-89
- •Проста заміна
- •Додаток б Символи кирилиці (альтернативна кодова таблиця ascii)
- •Додаток в Блок підстановки в алгоритмі шифрування гост 28147-89
- •Приклад. Нехай 32-бітна послідовність має вигляд
- •Додаток г Алгоритм шифрування rsa
- •Криптографічна система rsa (Rivest-Shamir-Adleman)
- •Додаток д
- •Функція хешування
- •Електронний цифровий підпис
- •Класична схема створення цифрового підпису
Завдання 3
Згенеруйте відкритий і закритий ключі в алгоритмі шифрування RSA, обравши прості числа p і q із першої сотні. Зашифруйте повідомлення, що складається з ваших ініціалів: ПІБ.
Мета роботи
Отримання навичок застосування асиметричних криптографічних алгоритмів на прикладі алгоритма шифрування RSA
Приклад виконання завдання 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
Використовуючи
хеш–функцію
,
знайти хеш–образ свого Прізвища.
Мета роботи
Отримання навичок використання функцій хешування.
Приклад виконання завдання 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.
