Скачиваний:
6
Добавлен:
30.11.2024
Размер:
24.38 Кб
Скачать

Федеральное агентство связи

Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования

«Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича»

Отчет

По практическим (лабораторным) работам

Лабораторная работа № 7

Выполнили студенты группы Р-41м:

Фомин П.В. и Хафизов Р.Т.

Принял Кушнир Д.В.

каф. ЗСС

Санкт-Петербург

2024

Часть 1. Протокол Диффи-Хеллмана.

1. Число р – 269

2. Число а – 55

3. xA – 2

xB – 3

4. yA = a^(xA) mod p = 55^21 mod 269 = 66

yB = a^(xB) mod p = 55^2 mod 269 = 133

5. Ключ, вычисляемый пользователем A: KA=(yB)^(xA) mod p = 133^2 = 204

Ключ, вычисляемый пользователем B: KB=(yA)^(xB) mod p = 66^3 = 204

6. KA = KB = 204

Часть 2. Схема распределения ключей Блома.

1. p = 127

2. D =

4

3

2

1

3

5

8

9

2

8

6

3

1

9

3

7

3. Павел и Родион выбирают себе идентификаторы:

IPavel =

7

6

7

4

IRodion =

8

3

7

6

4. gPavel = D IPavel =

4

3

2

1

3

5

8

9

2

8

6

3

1

9

3

7

7

6

7

4

64

16

116

110

Mod 127 =

gRodion = D IRodion =

4

3

2

1

3

5

8

9

2

8

6

3

1

9

3

7

8

3

7

6

61

22

100

98

Mod 127 =

5. KA=(gTA*IB)T= (ITA*Dkk*IB)T =IA*Dkk*ITB = 427 + 132 + 700 + 392 = 1651 mod 127 = 0

KB=(gTB*IA)T= (ITB*Dkk*IA)T =IB*Dkk*ITA = 512 + 48 + 812 + 660 = 2032 mod 127 = 0

Итог - одинаковый ключ у пользователей А и В.

Часть 3. Протокол Жиро

Бригада 7  Вариант 2 простые числа 100<p<150, 30<q<50

Центр распределения ключей.

Выбирает простые «p» и «q»

p = 127 q = 47

Вычисляет n = p*q = 127*47 = 5969

Вычисляет φ(n)= (127-1) * (47-1) = 5796

Выбирает eЦ, такое, что НОД (eЦ, φ(n)) = 1

eЦ = 13

Вычисляет dЦ, такие, что (eЦ * dЦ)=1 mod φ(n) = 3121

Выбирает числа «g», как элемент максимально допустимого порядка Zn (в учебном примере возьмем произвольное число от 51 до 89, влияет только на стойкость).

g = 52

IA = 6, IB = 69

Пользователь А. (при регистрации получает идентификатор IA)

Выбирает секрет dA = 3

Вычисляет cA=g^(dA) mod n = 52^3 mod 5969 = 3321

Пересылает cA в центр.

Пользователь B. (при регистрации получает идентификатор I_B)

Выбирает секрет dB = 4

Вычисляет cB= g ^(dB) mod n = 52^4 mod 5969 = 5560

Пересылает cB в центр.

Центр вычисляет:

pА=(cA-IA)^dЦ mod n = (3321-6)^3121 mod 5969 = 5365

pB=(cB-IB)^dЦ mod n = (5560-69)^3121 mod 5969 = 1594

Высылает pА пользователю А.

Высылает pB пользователю B.

Пользователь А:

Выбирает секрет eA = 5

Вычисляет sA=g^(eA) mod n = 52^5 mod 5969 = 2608

Пересылает IA, pA, sA пользователю B

Пользователь B:

Выбирает секрет eB = 6

Вычисляет sB=g^(eB) mod n = 52^6 mod 5969 = 4298

Пересылает IB, pB, sB пользователю A

Пользователь А:

Вычисляет k=sB^( dA) * (pB^eЦ+IB) ^ eA mod n = 4298^3 * ((1594^13) + 69)^5 mod 5969 = 2450

Пользователь B:

Вычисляет k=sA^(dB) * (pA^eЦ+IA) ^eB mod n = 2608^4 * ((5365^13) + 6)^6 mod 5969 = 2450

Итоговые ключи пользователей A и B совпадают.