Бойко Є А Варіант 3
Практична робота № 15
Тема: Алгоритм шифрування Діффі - Хеллмана
Мета: ознайомитися з алгоритм Діффі-Хеллмана, який допомагає обмінюватися секретним ключем для симетричних криптосистем з використанням каналу, захищеного від модифікації.
Теоретичні відомості
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 (виконати свій варіант та свій+13).
Визначити загальні|спільні| ключі|джерела| між користувачем A і користувачем B.
2. Варіанти завдань|задавань|:
Номер варіанту |
|
|||||||
M |
N |
XA |
XB |
|||||
1 |
5 |
23 |
5 |
7 |
||||
3 |
2 |
19 |
5 |
7 |
||||
3 |
7 |
23 |
3 |
4 |
||||
4 |
3 |
17 |
10 |
5 |
||||
5 |
10 |
19 |
4 |
8 |
||||
6 |
5 |
23 |
7 |
13 |
||||
7 |
10 |
19 |
3 |
5 |
||||
8 |
2 |
11 |
4 |
3 |
||||
9 |
6 |
11 |
3 |
4 |
||||
10 |
7 |
11 |
4 |
5 |
||||
11 |
8 |
11 |
5 |
4 |
||||
12 |
2 |
19 |
3 |
4 |
||||
13 |
3 |
17 |
4 |
3 |
||||
14 |
3 |
17 |
3 |
4 |
||||
15 |
3 |
17 |
4 |
3 |
||||
16 |
10 |
19 |
6 |
5 |
||||
17 |
10 |
19 |
3 |
2 |
||||
18 |
10 |
19 |
2 |
3 |
||||
19 |
10 |
19 |
4 |
3 |
||||
20 |
10 |
19 |
5 |
4 |
||||
21 |
10 |
19 |
4 |
5 |
||||
22 |
3 |
17 |
4 |
3 |
||||
23 |
3 |
17 |
3 |
4 |
||||
24 |
3 |
17 |
5 |
7 |
||||
25 |
3 |
17 |
6 |
5 |
||||
26 |
2 |
19 |
3 |
4 |
||||
27 |
10 |
19 |
6 |
5 |
||||
28 |
2 |
19 |
5 |
7 |
Номер варіанту |
|
|||||||
M |
N |
XA |
XB |
|||||
6 |
5 |
23 |
7 |
13 |
La = Mx (mod N)
La = 57 (mod 23)
La = 78125 (mod23)
La = 17 (mod23)
Lb = My (mod N)
Lb = 513 (mod 23)
Lb = 1220703125 (mod23)
Lb = 21 (mod23)
Ka = Lbx (mod N)
Ka = 217 (mod 23)
Ka = 1801088541 (mod23)
Ka = 10 (mod23)
Kb = Lay (mod N)
Kb = 1713 (mod 23)
Kb = 9904578032905937 (mod23)
Kb = 10 (mod23)