Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторна робота №13

.doc
Скачиваний:
11
Добавлен:
30.05.2020
Размер:
120.83 Кб
Скачать

Практична робота № 13

Тема: Алгоритм шифрування Діффі - Хеллмана

Мета: ознайомитися з алгоритм Діффі-Хеллмана, який допомагає обмінюватися секретним ключем для симетричних криптосистем з використанням каналу, захищеного від модифікації.

Теоретичні відомості

1 Алгоритм шифрування Діффі - Хеллмана

Алгоритм Діффі-Хеллмана допомагає обмінюватися секретним ключем для симетричних криптосистем з використанням каналу, захищеного від модифікації, тобто дані, передані цим каналом, можуть бути прослухані, але не змінені. У цьому випадку дві сторони можуть створити однаковий секретний ключ, жодного разу не передавши його по мережі, згідно з таким алгоритмом.

Припустимо, що обом учасникам обміну відомі деякі два натуральні числа M і N, де N – просте число. Вони можуть бути відомі й усім іншим зацікавленим особам. Для того щоб створити невідомий більше нікому секретний ключ, обидві сторони генерують випадкові числа: перший абонент – число X, другий абонент – число Y.

Потім перший абонент обчислює значення

і пересилає його другому учаснику, а другий учасник обчислює значення

і передає його першому.

Зловмисник одержує обидва значення та , але модифікувати їх (втрутитися в процес передачі) не може.

На другому етапі перший абонент, на основі наявного в нього числа X й отриманого по мережі числа , обчислює значення

,

а другий абонент на основі наявних у нього чисел Y та обчислює значення

.

Неважко переконатися, що в обох учасників вийшло те саме число  :

Числа можуть використовуватися як ключі при обміні даними з використанням традиційних систем шифрування.

Наприклад, нехай абонентам і відомі деякі два числа M =17 й N=23.

Абонент генерує випадкове число Х=3 й обчислює значення

LA=113 mod 23=14.

Абонент генерує випадкове число Y=5 й обчислює значення

LB=175 mod 2321.

Абонент передає абонентові значення 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

 

Виконання задач:

  1. Виконайте алгоритм генерації ключів Діффі-Хеллмана для чисел 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.

  1. Розгляньте схему Діффі-Хеллмана з простим числом N=11 та M=2.

  1. Якщо користувач A має відкритий ключ =9, то яким буде значення таємного ключа X користувача А?

  2. Якщо користувач B має відкритий ключ =3, то яким буде спільний таємний ключ?

Контрольні питання

  1. Поясніть необхідність застосування системи розподілу ключів.

  2. Назвіть способи організації розподілу ключів.

  3. Назвіть схему генерації ключів, яку застосовують при канальному шифруванні.

  4. Назвіть схему генерації ключів для наскрізного шифрування.

  5. Поясніть принцип роботи центру розподілу ключів.

  6. Назвіть відомі алгоритми генерації ключів.

  7. Дайте визначення поняттю “сеансів ключ”.

  8. Дайте визначення поняттю “головний ключ”.

  9. Поясніть роботу алгоритму генерації ключів Діффі-Хеллмана.

  10. На яких лініях зв’язку можна використовувати алгоритм Діффі-Хеллмана?