Лабораторна робота №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, то яким буде спільний таємний ключ?
Контрольні питання
-
Поясніть необхідність застосування системи розподілу ключів.
-
Назвіть способи організації розподілу ключів.
-
Назвіть схему генерації ключів, яку застосовують при канальному шифруванні.
-
Назвіть схему генерації ключів для наскрізного шифрування.
-
Поясніть принцип роботи центру розподілу ключів.
-
Назвіть відомі алгоритми генерації ключів.
-
Дайте визначення поняттю “сеансів ключ”.
-
Дайте визначення поняттю “головний ключ”.
-
Поясніть роботу алгоритму генерації ключів Діффі-Хеллмана.
-
На яких лініях зв’язку можна використовувати алгоритм Діффі-Хеллмана?