
Лабораторна робота №13
.docПрактична робота № 13
Тема: Алгоритм шифрування Діффі - Хеллмана
Мета: ознайомитися з алгоритм Діффі-Хеллмана, який допомагає обмінюватися секретним ключем для симетричних криптосистем з використанням каналу, захищеного від модифікації.
Теоретичні відомості
1 Алгоритм шифрування Діффі - Хеллмана
Алгоритм Діффі-Хеллмана допомагає обмінюватися секретним ключем для симетричних криптосистем з використанням каналу, захищеного від модифікації, тобто дані, передані цим каналом, можуть бути прослухані, але не змінені. У цьому випадку дві сторони можуть створити однаковий секретний ключ, жодного разу не передавши його по мережі, згідно з таким алгоритмом.
Припустимо, що обом учасникам обміну відомі деякі два натуральні числа M і N, де N – просте число. Вони можуть бути відомі й усім іншим зацікавленим особам. Для того щоб створити невідомий більше нікому секретний ключ, обидві сторони генерують випадкові числа: перший абонент – число X, другий абонент – число Y.
Потім перший абонент обчислює значення
і пересилає його другому учаснику, а другий учасник обчислює значення
і передає його першому.
Зловмисник
одержує обидва значення
та
,
але модифікувати їх (втрутитися в процес
передачі) не може.
На
другому етапі перший абонент, на основі
наявного в нього числа X
й отриманого по мережі числа
,
обчислює значення
,
а
другий абонент на основі наявних у нього
чисел Y та
обчислює значення
.
Неважко
переконатися, що в обох учасників вийшло
те саме число
:
Числа
можуть використовуватися як ключі при
обміні даними з використанням традиційних
систем шифрування.
Наприклад,
нехай абонентам
і
відомі деякі два
числа M
=17 й N=23.
Абонент
генерує випадкове число Х=3
й обчислює значення
LA=113 mod 23=14.
Абонент
генерує випадкове число Y=5
й обчислює значення
LB=175 mod 2321.
Абонент
передає абонентові
значення LA,,
а абонент
абонентові
значення LВ.
Кожний з абонентів
та
обчислюють секретний
ключ згідно з прийнятими даними LA
і LВ.
А:
,
B:
.
При
спробі визначити значення чисел X
та Y за
перехопленим значенням
і
супротивник зіштовхнеться із задачею
дискретного логарифмування, що є важко
розв'язною.
Ще раз відзначимо, що алгоритм Діффі-Хеллмана працює тільки на лініях зв'язку, надійно захищених від модифікації.
Завдання|задавання| 1
Визначити загальні ключі між користувачем A користувачем B ( за відсутності шахрая) при наступних значеннях: M=3, N=47; X=5, Y=8;
Завдання|задавання| 2
Визначити загальні|спільні| ключі|джерела| між користувачем A і шахраєм, між користувачем B і шахраєм. Для тих же значень що і в прикладі|зразку| 2. Варіанти завдань|задавань|:
Номер варіанту |
Вихідні дані |
||||
M |
N |
XA |
XB |
XZ |
|
1 |
5 |
23 |
5 |
7 |
2 |
3 |
2 |
19 |
5 |
7 |
2 |
3 |
7 |
23 |
3 |
4 |
2 |
4 |
3 |
17 |
10 |
5 |
2 |
5 |
10 |
19 |
4 |
8 |
2 |
6 |
5 |
23 |
7 |
13 |
2 |
7 |
10 |
19 |
3 |
5 |
2 |
8 |
2 |
11 |
4 |
3 |
2 |
9 |
6 |
11 |
3 |
4 |
2 |
10 |
7 |
11 |
4 |
5 |
2 |
11 |
8 |
11 |
5 |
4 |
2 |
12 |
2 |
19 |
3 |
4 |
2 |
13 |
3 |
17 |
4 |
3 |
2 |
14 |
3 |
17 |
3 |
4 |
2 |
15 |
3 |
17 |
4 |
3 |
2 |
16 |
10 |
19 |
6 |
5 |
2 |
17 |
10 |
19 |
3 |
2 |
2 |
18 |
10 |
19 |
2 |
3 |
2 |
19 |
10 |
19 |
4 |
3 |
2 |
20 |
10 |
19 |
5 |
4 |
2 |
21 |
10 |
19 |
4 |
5 |
2 |
22 |
3 |
17 |
4 |
3 |
2 |
23 |
3 |
17 |
3 |
4 |
2 |
24 |
3 |
17 |
5 |
7 |
2 |
25 |
3 |
17 |
6 |
5 |
2 |
26 |
2 |
19 |
3 |
4 |
2 |
27 |
10 |
19 |
6 |
5 |
2 |
28 |
2 |
19 |
5 |
7 |
2 |
Виконання задач:
-
Виконайте алгоритм генерації ключів Діффі-Хеллмана для чисел M, N, X, Y:
M=17, N=23, X=5, Y=8;
M=13, N=31, X=7, Y=12;
M=19, N=29, X=6, Y=9.
-
Розгляньте схему Діффі-Хеллмана з простим числом N=11 та M=2.
-
Якщо користувач A має відкритий ключ
=9, то яким буде значення таємного ключа X користувача А?
-
Якщо користувач B має відкритий ключ
=3, то яким буде спільний таємний ключ?
Контрольні питання
-
Поясніть необхідність застосування системи розподілу ключів.
-
Назвіть способи організації розподілу ключів.
-
Назвіть схему генерації ключів, яку застосовують при канальному шифруванні.
-
Назвіть схему генерації ключів для наскрізного шифрування.
-
Поясніть принцип роботи центру розподілу ключів.
-
Назвіть відомі алгоритми генерації ключів.
-
Дайте визначення поняттю “сеансів ключ”.
-
Дайте визначення поняттю “головний ключ”.
-
Поясніть роботу алгоритму генерації ключів Діффі-Хеллмана.
-
На яких лініях зв’язку можна використовувати алгоритм Діффі-Хеллмана?