Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗИ - модуль3.doc
Скачиваний:
70
Добавлен:
10.02.2016
Размер:
3.19 Mб
Скачать

Незахищенний канал

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 i2in,

де і1 – номер місця шифртексту, на котре потрапляє перша літера вихідного повідомлення за обраного перетворення; і2 – номер місця для другої літери й т. д. У верхньому рядку таблиці виписано одне за одним числа від 1 до n, а в нижньому – ті ж самі числа, але в довільному порядку. Така таблиця називається підставлянням ступеня n.

Знаючи підставляння, котре задає перетворення, можна здійснювати як зашифровування, так і розшифровування тексту.

Наприклад, якщо для перетворення використовується підставляння

1 2 3 4 5

5 2 3 1 4

і відповідно до нього зашифровується слово УЧЕНЬ, то виходить НЧЕЬУ.

5.1.2 Шифрування за допомогою табличних шифрів перестановки

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

Наприклад, повідомлення

МАЄШ ГОЛОВУ, МАЙ ЖЕ РОЗУМ

записується в таблицю по черзі по стовпцях. Розглянемо результат заповнення таблиці з п’яти рядків і чотирьох стовпців:

М

О

М

Р

А

Л

А

О

Е

О

Й

З

Ш

В

Ж

У

Г

У

Е

М

Після заповнення таблиці текстом повідомлення по стовпцях для формування шифртексту зчитують уміст таблиці по рядках. Якщо шифртекст записувати групами по п'ять літер, виходить таке шифроване повідомлення: