крипта_2
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №2
Моделирование криптосистемы Диффи-Хеллмана на основе эллиптических кривых
(тема отчета)
Направление/специальность подготовки
(код и наименование направления/специальности)
Выполнил студент 3 курса:
___________
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель работы: Приобретение навыков анализа криптосистем на эллиптических кривых на примере криптосистемы Диффи-Хеллмана
Теория
Задана схема распределения ключей согласно алгоритму Диффи-Хеллмана в числовом поле. (рис.1)
xA
XB
KB
yB
yA
KA
Рис.1 Распределение ключей по алгоритму Диффи-Хеллмана
А
генерирует большое случайное число
,
,
-
простое число. Число
сохраняется в секрете. Вычисляет число
,
где
-
примитивный элемент поля
,
которое передает корреспонденту В.
В
генерирует
,
аналогичным образом вычисляет число
,
которое передает корреспонденту А.
Числа yA YB называются числами Диффи-Хеллмана.
А, приняв от В , вычисляет
=
=
В,
приняв
,
вычисляет
=
=
.
.
Ключ
может
быть использован в симметричной системе
шифрования.
Ход работы
1) Задана эллиптическая кривая E67(2, 11), что задаст уравнение кривой:
у2 = x3 + 2*x + 11 по модулю p = 67 (см. рис. 1)
Рисунок 1 – График кривой
2) Базовая точка P(41,65), проверим её принадлежность заданной кривой:
652 = 413 + 2*41 + 11 mod 67
4225 = 69014 mod 67
4 = 4 mod 67
3) случайные числа ХА=N+10, XB=N+20. (N- номер по журналу)
Для варианта 5:
XA = 15
XB = 25
4) Проверить качество точек KA = KB
Открытые ключи:
yA = aXa mod p = XA * P = 15 * (41, 65) = (12, 50) (см. рис. 2)
yB = aXb mod p = XB * P = 25 * (41, 65) = (34, 56) (см. рис. 3)
Общий ключ:
KA = (yB)Xa mod p = XA * yB mod 67 = 15 * (34, 56) = (36, 43) (см. рис. 4)
KB = (yA)Xb mod p = XB * ya mod 67 = 25 * (12, 50) = (36, 43) (см. рис. 5)
KA = KB = (36, 43)
5) В качестве ключа взять абсциссу, полученной точки: K = 36
Р
исунок
2 – открытый ключ yA
Рисунок
3 – открытый ключ yB
Рисунок 4 – общий ключ KA Рисунок 5 – общий ключ КВ
= (36, 43)
= (36, 43)
= (34, 56)
= (12, 50)
= 25
= 15
Рисунок 6 – схема распределения ключей
Аналогично п.2 обменяться значениями Диффи-Хеллана с одногрупником. Сформировать общий ключ. Найти хеш ключа и сверить хеш по открытому каналу
Обмениваюсь значениями с (вариант - 15)
Мой закрытый ключ: XA = 15
Мой открытый ключ: yA = (12, 50)
Закрытый ключ одногруппника: XB = N + 20 = 15 + 20 = 35
Открытый ключ одногруппника: yB = 35 * P = (14, 61)
Вычисление общего ключа:
K = XA * yB = 15 * (14, 61) = (50, 42) = 50 (см. рис. 6)
Рисунок 6 – вычисление общего К с одногруппником
K = XB * yA = 35 * (12, 50) = (50, 42) = 50 (см. рис. 7)
Рисунок 7 – вычисление общего К с одногруппником
В качестве вычисления хэша будет использован алгоритм SHA-2
Мой хэш: f6c43c243da7289c9ecdbf36cabf9c14d55afe6ef8904d9e6ec56945
Хэш одногруппника: ade9a4ab082f2af7d68a51e18478e9914852692b326bc550fcca9ad9
Вывод: После выполненной лабораторной работы, приобрела навыки анализа криптосистем на эллиптических кривых на примере криптосистемы Диффи-Хеллмана
Санкт – Петербург
2026
