крипта_11
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №11
Криптографические протоколы проверяемого разделения секрета криптосистемы Пэйе
(тема отчета)
Направление/специальность подготовки
(код и наименование направления/специальности)
Выполнил студент 3 курса:
___________
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
11.1 Исследование схемы проверяемого разделения секрета Фельдмана
Цель лабораторной работы
Закрепить теоретические знания и приобрести навыки использования протокола проверяемого разделения секрета Фельдмана.
Выполнение лабораторной работы
Номер варианта |
Параметры
|
|
Секрет
|
|
5 |
4, 6 |
67, 11 |
6 |
40 |
Лабораторная работа 11-1
Исследование схемы проверяемого разделения секрета Фельдмана
Дилером выбраны p = 67, q = 11
Проверка: (p – 1) mod q = 0 → (67 – 1) mod 11 = 0 → числа p и q подходят.
g = 40
Проверка: gq mod p = 1 → 4011 mod 67 = 1 → число g подходит.
Секрет s = 6, а коэффициенты многочлена Q(x):
Q0 = s = 6, Q1 = 3, Q2 = 6, Q3 =6
Дилер выбирает полином: Q(x) = 6x3 + 6x2+3x + 6
Дилер вычисляет проверочные значения, которые будут раздаваться всем участникам разделения gq mod p:
gq mod p = 406 mod 67 = 24
gq mod p = 403 mod 67 = 15
gq mod p = 406 mod 67 = 24
gq mod p = 406 mod 67 = 24
Частные тени вычисляются по формуле si = Q (xi) mod q:
s1 = Q(x1) = (6*13 + 6*12 + 3*1 + 6) mod 67 = 10
s2 = Q(x2) = (6*23 + 6*22 + 3*2 + 6) mod 67 = 12
s3 = Q(x3) = (6*33 + 6*32 + 3*3 + 6) mod 67 = 6
s4 = Q(x4) = (6*43 + 6*42 + 3*4 + 6) mod 67 = 4
s5 = Q(x5) = (6*53 + 6*52 + 3*5 + 6) mod 67 = 6
s6 = Q(x6) = (6*63 + 6*62 + 3*6 + 6) mod 67 = 6
Убедимся с помощью программы, что вычисления выполнены верно
Проверка долей
Проверочное
уравнение имеет вид:
.
Пусть второй участник решил проверить свою долю. Тогда уравнение будет иметь следующий вид:
22 = 15 * 22 * 40 * 22 mod 67
22 = 22
22 = 22 → проверка успешно пройдена, убедимся в этом с помощью программы
Восстановление секрета
Восстановим секрет для 1, 2, 3, 4 участников посредством использования интерполяционной функции Лагранжа:
Q(x)
=
Свободный член в полученном полиноме 10 и есть восстановленный основной секрет. Убедимся в этом с помощью программы
11.2 Исследование схемы проверяемого разделения секрета Педерсена
Номер варианта |
Параметры
|
|
Секрет
|
|
3 |
3, 6 |
53, 13 |
10 |
24 |
Числа p, q, g, s определяются так же, как и в схеме Фельдмана.
3 вариант: p = 53, q = 13, g = 24, s = 10
Выбирается
– открытое общедоступное число такое,
что
,
где
неизвестно даже дилеру.
Пусть d = 7, тогда h = 247 mod 53 = 36
Проверка: 3613 mod 53 = 1
Чтобы распределить секрет s, дилер выбирает два полинома Q(x) и F(x):
Q(x) = 2x2 + 2x + 10
F(x) = 4x2 + 8x + 11
И
распространяет всем участникам схемы
открытую величину
:
E0 = (242 * 364) mod 53 = 13
E1 = (242 * 368) mod 53 = 28
E2 = (2410 * 3611) mod 53 = 49
Затем дилер секретно пересылает всем участникам их доли {si, ti},
где si = Q(i), ti = F(i):
s1 = Q(1) = (2*1^2 + 2*1 + 10) mod 53 = 14
t1 = F(1) = (4*1^2 + 8*1 + 11) mod 23 = 23
s2 = Q(2) = (2*2^2 + 2*2 + 10) mod 53 = 22
t2 = F(2) = (4*2^2 + 8*2 + 11) mod 23 = 43
s3 = Q(3) = (2*3^2 + 2*3 + 10) mod 53 = 34
t3 = F(3) = (4*3^2 + 8*3 + 11) mod 23 = 18
s4 = Q(4) = (2*4^2 + 2*4 + 10) mod 53 = 50
t4 = F(4) = (4*4^2 + 8*4 + 11) mod 23 = 1
s5 = Q(5) = (2*5^2 + 2*5 + 10) mod 53 = 17
t5 = F(5) = (4*5^2 + 8*5 + 11) mod 23 = 45
s6 = Q(6) = (2*6^2 + 2*6 + 10) mod 53 = 41
t6 = F(6) = (4*6^2 + 8*6 + 11) mod 23 = 44
Убедимся, с помощью программы, что значения вычислены верно
Проверка долей
Проверочное уравнение имеет вид:
Пусть второй участник решил проверить свою долю. Тогда уравнение будет иметь следующий вид:
13 * 46 = 13 * 42 * 44
15 = 15 mod 53
Проверка успешно пройдена, убедимся в этом с помощью программы
Восстановление секрета
Используя интерполяционную формулу Лагранжа:
Восстановим секрет, используя тени пользователей 1, 2, 3:
Получили исходный полином, секрет s = Q0 = 10
Убедимся
в правильности восстановления с помощью
программы
Вывод
В ходе выполнения лабораторной работы были закреплены теоретические знания, а также приобретены навыки использования протокола проверяемого разделения секрета Фельдмана, Педерсена.
Санкт – Петербург
2026
