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

лабки / 15 / ТЗИ 15 бойко

.doc
Скачиваний:
1
Добавлен:
27.01.2024
Размер:
110.08 Кб
Скачать

Бойко Є А Варіант 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 2321.

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