- •1 Завдання, що вирішуються в курсовій роботі 5
- •2 Стадії виконання курсової роботи 5
- •3 Безпека мережі 5
- •1 Завдання, що вирішуються в курсовій роботі
- •2 Стадії виконання курсової роботи
- •3 Безпека мережі
- •Завдання №1. Шифр Цезаря.
- •Завдання №2. Алгоритм шифрування гост 28147-89.
- •Проста заміна
- •Завдання №3. Алгоритм шифрування rsa.
- •Криптографічна система rsa (Rivest-Shamir-Adleman)
- •Завдання №4. Функція хешування.
- •Завдання №5. Електронний цифровий підпис.
- •Завдання 6: розрахунок параметрів лінійного тракту волс
- •6.1. Розрахунок первинних параметрів оптичного волокна
- •6.2. Розрахунок вторинних параметрів оптичного волокна
- •6.3. Розрахунок швидкодії восп
- •6.4. Розрахунок порогу чутливості пром
- •6.5. Розрахунок загасання з'єднувачів ов
- •6.6. Розрахунок розподілу енергетичного потенціалу
- •6.7. Розрахунок довжини ділянок регенерації
- •Завдання №7. Сегментація мереж за допомогою масок
- •Список літератури
Завдання №4. Функція хешування.
Функцією хешування (хеш-функцією) називається перетворення даних, що переводить рядок бітів M довільної довжини в рядок бітів h(M) деякої фіксованої довжини (декілька десятків або сотень біт).
Хеш-функція h(M) повинна задовольняти наступним умовам:
-
хеш-кодування-функція h(M) повинна бути чутлива до будь-яких змін вхідній послідовності M;
-
для даного значення h(M) повинно бути неможливо знайти значення M;
-
для даного значення h(M) повинно бути неможливо знайти значення M’ M таке, що h(M‘)= h(M).
Ситуація, при якої для різних вхідних послідовностей M, M‘ співпадають значення їх хеш-образів: h(M)= h(M‘), називається колізією.
При побудові хеш-образу вхідна послідовність M розбивається на блоки Mi фіксованої довжини і оброблюється поблочно по формулі Hi = f(Hi-1, Mi).
Хеш-значення, обчислюване при введенні останнього блоку повідомлення, стає хеш-значенням (хеш-образом) всього повідомлення.
Як приклад розглянемо спрощений варіант хеш-функції з рекомендацій МККТТ Х.509:
Hi = (Hi-1 + Mi )2 mod n,
де n = pq, p і q – великі прості числа, H0 - довільне початкове заповнення, Mi - i-тий блок повідомлення M = M1 M2 . Mk .
Знайти хеш–образ свого Прізвища, використовуючи хеш–функцію , де n = pq; (p, q узяти із Завдання №3).
Хешоване повідомлення «КОЗИНА». Візьмемо двоє простих числа p=13, q=19 (див. Д5). Визначимо 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. Електронний цифровий підпис.
Класична схема створення цифрового підпису
При створенні цифрового підпису по класичній схемі відправник:
-
Застосовує до початкового повідомлення хеш-функцію;
-
Обчислює цифровий підпис по хеш-образу повідомлення з використанням секретного ключа створення підпису;
-
Формує нове повідомлення, що складається з початкового повідомлення і доданого до нього цифрового підпису.
Одержувач, отримавши підписане повідомлення :
-
Відокремлює цифровий підпис від основного повідомлення;
-
Застосовує до основного повідомлення хеш- функцію;
-
З використанням відкритого ключа перевірки підпису витягує хеш-образ повідомлення з цифрового підпису;
-
Перевіряє відповідність обчисленого хеш-образу повідомлення (п.2) та того, що витягнено з цифрового підпису. Якщо хеш-образи співпадають, то підпис визнається справжнім.
Схема підпису RSA. Криптосистема з відкритим ключем RSA може використовуватися не тільки для шифрування, але і для побудови схеми цифрового підпису.
Для створення підпису повідомлення M відправник :
-
Обчислює хеш-образ r = h(M) повідомлення M за допомогою деякої хеш-функції;
-
Зашифровує отриманий хеш-образ r на своєму секретному ключі (d,n), тобто обчислює значення s = rd mod n, яке і є підписом.
Для перевірки підпису одержувач :
-
Розшифровує підпис s на відкритому ключі (e,n) відправника, тобто обчислює
r’ = se mod n і таким чином відновлює передбачуваний хеш-образ r’ повідомлення M;
-
Обчислює хеш-образ h(M)= r повідомлення M за допомогою тієї ж самої хеш-функції, яку використовував відправник;
-
Порівнює набутих значень r і r’ . Якщо вони співпадають, то підпис правильний, відправник дійсно є тим, за кого себе видає, і повідомлення не було змінене при передаванні.
Використовуючи хеш-образ свого Прізвища, обчислите електронний цифровий підпис по схемі RSA.
Хай хеш-образ Прізвища дорівнює 233, а закритий ключ алгоритму RSA рівний (25, 247). Тоді електронний цифровий підпис повідомлення, що складається з Прізвища, обчислюється за правилом (див. Додаток Д7):
s = 233 25 mod 247 = 168.
Для перевірки ЕЦП, використовуючи відкритий ключ (121, 247), знайдемо
H = 168 121 mod 247 = 233.
Оскільки хеш-кодування-образ повідомлення співпадає із знайденим значенням H, то підпис визнається справжнім.