крипта_1
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №1
Изучение криптосистем с открытыми ключами на основе эллиптических кривых
(тема отчета)
Направление/специальность подготовки
(код и наименование направления/специальности)
Выполнил студент 3 курса:
____________
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель работы:
Приобретение навыков анализа алгоритмов криптосистем с открытыми ключами на основе эллиптических кривых.
Ход работы:
Вариант – 5
|
Задано |
Найти |
|||||
Nвар |
A |
B |
k |
C |
-C |
kC |
|
5 |
7,0 |
11,11 |
4 |
|
|
|
|
Задание 1
Задана
эллиптическая кривая Е13(1,1) в поле GF(13)
по уравнению y2
= x3
+ x
+ 1 (Уравнение вида
,
где a=1,
b=1.)
Точки Е13(1,1) (без нулевой точки) представлены на рис.1.
Рисунок 1 - Точки и граф эллиптической кривой
Проверка принадлежности точек заданной кривой:
Так как x=y, то точка B принадлежит заданной кривой.
A(7,0) |
|
02 mod 13 = 0 |
|
|
(73 + 7 + 1) mod 13 = 351 mod 13 = 0 |
Так как x=y, то точка A принадлежит заданной кривой
В(11,11) |
: |
112 mod 13 = 4 |
|
: |
(113 + 11 + 1) mod 13 = 1343 mod 13 = 4 |
Так как x=y, то точка В принадлежит заданной кривой.
Взаимообратные точки:
A(7;0) |
→ |
A’(7;13) |
В(11;11) |
→ |
В’(11;2) |
Вычисления:
Найдем точку C по формуле
Так как A≠B, то
= (11 * (4-1)) mod 13
Найде обратный элемент a-1 для а = 4 и p = 13 с помощью расширенного алгоритма Евклида:
13 = 4*3 + 1
4 = 1*4+0
НОД(13, 4) = 1
1 = 13 – 3*4
Получаем, что обратный элемент а-1= -3
Проверка: (-3*4) mod 13 = -12 mod 13 = 1
λ = (11*(-3)) mod 13 = -33 mod 13 = 6
x3 = (λ2 – x1 – x2) mod 13 = (62 – 7 – 11) mod 13 = 5
y3 = (λ(x1 – x3) – y1) mod 13 = (6 * (7 – 5) – 0) mod 13 = (12 - 0) mod 13 = 12
x3 = 5
y3 = 12
C(5;12)
Проверим результат через калькулятор эллиптических кривых (см. рис 2)
Рисунок 2 – Нахождение точки С
Поиск точки -C
C(x3, y3) => -C(5, -12) => -C(5, 1)
Умножение на константу точки С
E = kC = 4C = C + C + C + C = 2(2C)
C(x3, y3) = C(5, 12)
Так как С = С, то
λ = (3x32 + a)(2y3)-1 mod p = (3*25 + 1)(2*12)-1 mod 13
Найдем обратный элемент a-1 для а = 24, p = 13, с помощью расширенного алгоритма Евклида:
24 = 13 * 1 + 11
13 = 11 * 1 + 2
11 = 2 * 5 + 1
2 = 1 * 2 + 0
НОД(24;13) = 1
1 = 11 – 5 * 2 = 11 – 5(13 - 11) = 24 – 13 – 5(13 – 24 + 13) =
= 6 * 24 – 11 * 13
а-1 = 6
Проверка: 24*6 mod 13 = 144 mod 13 =1
λ = (76*6) mod 13 = 456 mod 13 = 1
x4 = (λ2 – 2x3) mod p = (12 – 2*5) mod 13 = 4 mod 13 = 4
y4 = (λ(x3 – x4) – y3) mod p = (5-4-12) mod 13 = -11 mod 13 = 2
x4 = 4
y4 = 2
2C = R(4,2) Проверим результат через калькулятор эллиптических кривых (см. рис 3)
Рисунок 3 – Нахождение точки 2С=R
R(x4, y4) = R(4,2)
Так как R = R, то
λ = (3x42 + a)(2y4)-1 mod p = (3*16 + 1)(2*2)-1 mod 13
Найдем обратный элемент a-1 при а = 4, p = 13 с помощью расширенного алгоритма Евклида:
13 = 4*3 + 1
1 = 1*4 + 0
НОД(4, 13) = 1
1 = 13 – 3*4
а-1 = -3
Проверка: -3*4 mod 13 = -12 mod 13 =1
λ = (49*(-3)) mod 13 = 9
x5 = (λ2 – 2x4) mod p = (92 – 2*4) mod 13 = 73 mod 13 = 8
y5 = (λ(x4 – x5) – y4) mod p = (9*(4-8) - 2) mod 13 = -12 mod 13 = 1
x5 = 8
y5 = 1
E = kC = 4C, E(8,1)
Найденная точка действительно присутствует на графике:
Рисунок 4 - Проверка результата (нахождение точки Е = kC)
|
Задано |
Найти |
|||||
Nвар |
A |
B |
k |
C |
-C |
kC |
|
5 |
7,0 |
11,11 |
4 |
5,12 |
5,1 |
8,1 |
|
Задание 2
Моделирование криптосистемы Эль-Гамаля на эллиптической кривой
Вариант 5
|
Задано |
Вычислить |
|||||
Nвар |
d |
r |
E1 |
E2 |
C1 |
C2 |
|
5 |
4 |
3 |
|
|
|
|
|
1. Записать уравнение кривой Е67(2,N), где N номер варианта.
– кривая,
– уравнение кривой
2. Выбрать точку Е1. Проверить ее принадлежность кривой.
Пусть Е1 (5,26)
262 = 53 +5*2+5 (mod 67) → 676 = 140 (mod 67) → 6 = 6 →Точка E1 принадлежит кривой y2 = x3 + 2x+5
3. Вычислить точку Е2 = d*E1 (d=4 согласно варианту)
E2 = 4*E1= (55,14) (см. рис 5)
Рисунок 5 - Умножение точки Е1 на d
Передаем E67(2,5), E1(5,26) и E2(55,14) корреспонденту В, в качестве открытого ключа, параметр d-закрытый ключ (не передается).
Выбираем произвольную точку P(9,22) (484 = 752 mod 67 → 15 = 15 → точка принадлежит кривой) и r =3
Вычислить C1=r*E1= 3*Е1(5,26) = (13,33) (см. Рисунок 6)
Рисунок 6 - Умножение r на E1
Вычислить С2 = P(9,22)+3*E2(55,14) = (39,24) (cм. Рисунок 7-8.)
Рисунок 7 - Умножение r на E2
Рисунок 8 - Значение точки С2
P=C2-(d*C1) = (54,23)-(4*(13, 33))
Инверсной точкой к точке (13,33) будет (13,67-33) = (13,34), следовательно
P=(54,23)+4*(13,34)=(7,5) (см. Рисунок 9-10)
Переданное сообщение при расшифровке совпадает с изначальным
Рисунок 9 - Умножение d на C1
Рисунок 10 - Вычисление сложения точки с инверсной
|
Задано |
Вычислить |
|||||
Nвар |
d |
r |
E1 |
E2 |
C1 |
C2 |
|
5 |
4 |
3 |
5,26 |
55,14 |
13,33 |
39,24 |
|
Вывод:
В ходе выполнения практического задания мы приобрели навыки вычислений с использованием матаппарата эллиптических кривых. Провели моделирование криптосистемы Эль-Гамаля на основе эллиптической кривой
Санкт – Петербург
2026

:
: