- •Іироіьоюстаглндп
- •Наприклад, англійська абетка
- •Послідовність біграм відкритого тексту перетворюється за допомогоюшифрувальної таблиці на послідовність біграм шифртекстузатакими правилами:
- •5128066284580377 Або такого: 1772850682584780537.
- •Abcdefghijklmnopqrstuvwxyz
- •4.8.3 Розподілення ключів
- •Незахищенний канал
- •Момра лаоео йзшвж угуем
- •Приклад маршрутного переставляння
- •Шифррешеткаявля …
- •Послідовність біграм відкритого тексту перетворюється за допомогоюшифрувальної таблиці на послідовність біграм шифртекстузатакими правилами:
- •6 Практичні роботи
- •6.1 Практична робота № 1
- •Основні способи знаходження обернених величин а - 1≡ 1 mod n.
- •6.2 Практична робота № 2
- •6.3 Практична робота № 3
- •6.5 Практична робота № 5
- •6.6 Практична робота № 6
- •6.7 Практична робота № 7
- •6.8 Практична робота № 8
- •Список рекомендованої літератури
K
= K'
= g
ka
kb
(mod
N)
Незахищенний канал
Рисунок 4.3 - Схема реалізації алгоритму Диффі-Хеллмана
Користувачі А і Вобирають модуль N, який має бути простим числом, та примітивним елементом g Zn, (1 g N-1), що утворює усі ненулеві елементи множини Zn, чи
{g, g2, … , gN-1 = 1} = ZN - {0}
Цілі числа N и g держати в таємниці не обов’язково. Звичайно, вони є спільними для усіх користувачів – учасників інформаційного обміну мережі.
Потім користувачі А і В, незалежно один від одного, обирають власні секретні ключі kA и kB ( kA и kB випадкові цілі великі числа, які зберігаються користувачами в таємниці.).
Далі користувач А обчислює відкритий ключ
yA = g kA (mod N),
а користувач В відкритий ключ
yВ = g kB (mod N).
Потім А і В обмінюються обчисленними значеннями ключів yA и yВ по незахищенному каналу.
Далі користувачі обчислюють спільний секретний ключ за допомогою наступних рівнянь
Сторона А K = (yВ ) kA = (g kB) kA (mod N)
Сторона В K' = (yА ) kB = (g kA) kB (mod N)
При цьому К = К' ,
тому що
(g kB) kA = (g kA)) kB.
Ключ К може використовуватися в якісті спільного секретного ключа в симетричній криптосистемі.
Крім того, сторони можуть використовувати ключ К для несиметричного шифрування згідно з правилом
С = ЕК (М) = М К (mod N).
З цією метою слід визначити ключ, який призначений для розшифровування К*, з співвідношення
К * К* 1 (mod N).
Це дозволить відтворювати повідомлення за правилом
М = DК (C) = С К* (mod N).
Проте, слід зауважити, що останній алгоритм буде мати погані характеристики щодо криптостійкості, тому що ключ К, не завжди буде задовольняти вимогам і тому процедуру частіше за все треба буде повторювати.
Великий вплив на безпеку системи робить вибір значень
Существенное влияние на безопасность системы оказывает выбор значений N та g.Модуль N має бути великим простим числом.
Число (N - 1)/2 також має бути простим.
При використанні алгоритму Диффі-Хеллмана,необхідно пам’ятати про гарантування того, що користувач А одержав відкритий ключ саме від користувача В, і навпаки. Тобто необхідно, щоб під одержанними повідомленнями були цифрові підписи.
Метод Диффі-Хеллмана дає змогу забезпечити кожний сеанс зв’язку новими ключами та не зберігати їх де-небудь.
Крім того, генерація ключів методом Диффі-Хеллмана здійснюється в сотні разів быстріше в зрівнянні з алгоритмом RSA.
Приклад: Нехай
p = 13, a = 7, m = 3, k = 4.
Відкритий ключ, який передається стороной А дорівнює
yА 7 3(mod 13) 343(mod 13) 5
Відкритий ключ, який передається стороной B дорівнює
yВ 74(mod 13) 2401(mod 13) 9
Секретне число, яке розраховується сторонами, дорівнює
К 5 4(mod 13) 625(mod 13) 1,
K' 9 3(mod 13) 729(mod 13) 1.
4.8.3.2 Переваги та недоліки алгоритму Диффі-Хеллмана
Диффі и Хеллмандали пропозицію для створення криптографічних систем з відкритим ключемфункцію дискретного піднесення до степеня.
Необоротність перетворення в цьому випадку забезпечується тим, щолегко обчислити показникову функцію в кінцевому полі Галуа, яке складається з p елементів(p- просте число чи просте в будь-якому степені).
Обчислення логарифмів в таких полях – більш трудомістка операція.
Так, якщодля прямогоперетворення1000-бітовихпростих чисел треба2000 операцій, то длязворотногоперетворення(обчисленнялогарифмув поліГалуа) –треба біля 1030операцій.
Даний алгоритм відрізняється відалгоритмуRSA тим, що не дає змогу шифрувати саме інформацію.
Другим недоліком алгоритма Диффі-Хеллмана є відсутність гарантованної нижчої оцінки трудомісткості зламування ключа.
Крім того залишається проблема автентифікації, тому що є небезпека імітації користувача.
|
|
|
5 Приклади розв’язування завдань
5.1 Приклади розв’язування криптографічних завдань за допомогою шифрів перестановки
Шифр, перетворювання з якого змінюють лише порядок слідування символів вихідного тексту, але не змінюють їх самих, називається шифром перестановки.
5.1.1 Шифрування за допомогою класичних шифрів перестановки
Розглянемо перетворювання з шифром перестановки, призначене для зашифровування повідомлення довжиною n символів. Його можна подати за допомогою таблиці
1 2 … n
i1 i2 … in,
де і1 – номер місця шифртексту, на котре потрапляє перша літера вихідного повідомлення за обраного перетворення; і2 – номер місця для другої літери й т. д. У верхньому рядку таблиці виписано одне за одним числа від 1 до n, а в нижньому – ті ж самі числа, але в довільному порядку. Така таблиця називається підставлянням ступеня n.
Знаючи підставляння, котре задає перетворення, можна здійснювати як зашифровування, так і розшифровування тексту.
Наприклад, якщо для перетворення використовується підставляння
1 2 3 4 5
5 2 3 1 4
і відповідно до нього зашифровується слово УЧЕНЬ, то виходить НЧЕЬУ.
5.1.2 Шифрування за допомогою табличних шифрів перестановки
Одним з найпримітивніших табличних шифрів перестановки є просте переставляння, для якого за ключ слугує розмір таблиці. Цей метод шифрування є подібний до шифру Сцитала.
Наприклад, повідомлення
МАЄШ ГОЛОВУ, МАЙ ЖЕ РОЗУМ
записується в таблицю по черзі по стовпцях. Розглянемо результат заповнення таблиці з п’яти рядків і чотирьох стовпців:
М |
О |
М |
Р |
А |
Л |
А |
О |
Е |
О |
Й |
З |
Ш |
В |
Ж |
У |
Г |
У |
Е |
М |