
9_2 9_3
.docx
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №9.2-9.3
«Криптографические протоколы проверяемого разделения секрета» (тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Выполнил студент 3 курса:
Травкина Е.А., ИКБ-14
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель лабораторной работы: закрепление теоретических знаний студентов по криптографическим протоколам разделения секрета и изучения схем проверяемого разделения секрета Фельдмана и Педерсена.
Таблица 1. Вариант задания 19
-
Номер варианта
Параметры k, n
p, q
Секрет s
g
19
4, 5
103, 17
14
72
Лабораторная работа 9-2
Исследование схемы проверяемого разделения секрета Фельдмана
Дилером выбраны p = 103, q = 17
Проверка: (p – 1) mod q = 0 → (103 – 1) mod 17 = 0 → числа p и q подходят.
g = 72
Проверка: gq mod p = 1 → 7217 mod 103 = 1 → число g подходит.
Секрет s = 14, а коэффициенты многочлена Q(x):
Q0 = s = 14, Q1 = 5, Q2 = 9, Q3 = 9
Дилер выбирает полином: Q(x) = 9x3 + 9x2+5x + 14.
Дилер вычисляет проверочные значения, которые будут раздаваться всем участникам разделения gq mod p:
gq mod p = 7214 mod 103 = 30
gq mod p = 725 mod 103 = 5
gq mod p = 729 mod 103 = 81
gq mod p = 729 mod 103 = 81
Частные тени вычисляются по формуле si = Q (xi) mod q:
s1 = Q (x1) = (9*13 + 9*12+ 5*1 + 14) mod 17 = 3
s2 = Q (x2) = (9*23 + 9*22+ 5*2 + 14) mod 17 = 13
s3 = Q (x3) = (9*33 + 9*32+ 5*3 + 14) mod 17 = 13
s4 = Q (x4) = (9*43 + 9*42+ 5*4 + 14) mod 17 = 6
s5 = Q (x5) = (9*53 + 9*52+ 5*5 + 14) mod 17 = 12
Убедимся с помощью программы, что вычисления выполнены верно (Рис. 1)
Рисунок 1. Проверка вычислений
Проверка долей
Проверочное
уравнение имеет вид:
.
Пусть второй участник решил проверить свою долю. Тогда уравнение будет иметь следующий вид:
9 = 9 → проверка успешно пройдена, убедимся в этом с помощью программы (Рис. 2).
Рисунок 2. Проверка вычислений
Восстановление секрета
Восстановим секрет для 1, 2, 3, 4 участников посредством использования интерполяционной функции Лагранжа:
=
-0,5*
+ 6,5*(
-20
+ 30,5 x - 8 x2
+ 0,5 x3)
mod 17 = 14 + 30,5x + 9x2
+
0,5x3
Свободный член в полученном полиноме 14 и есть восстановленный основной секрет. Убедимся в этом с помощью программы (Рис. 3)
Рисунок 3. Проверка
Лабораторная работа 9-2
Исследование схемы проверяемого разделения секрета Педерсена
Таблица 2. Вариант задания 19
-
Номер варианта
Параметры k, n
p, q
Секрет s
g
19
4, 5
103, 17
14
72
Числа p, q, g, s определяются так же, как и в схеме Фельдмана.
19 вариант: p = 103, q = 17, g = 72, s = 14
Выбирается
– открытое общедоступное число такое,
что
,
где
неизвестно даже дилеру.
Пусть d = 15, тогда h = 7215 mod 103 = 100
Проверка: 10017 mod 103 = 1
Чтобы распределить секрет s, дилер выбирает два полинома Q(x) и F(x):
Q(x) = 3x3 + 8x2 + 15x + 14
F(x) = 5x3 + 7x2 + 12x + 3
И
распространяет всем участникам схемы
открытую величину
:
E0 = (7214 * 1003) mod 103 = 14
E1 = (7215 * 10012) mod 103 = 14
E2 = (728 * 1007) mod 103 = 76
E3 = (723 * 1005) mod 103 = 64
Затем дилер секретно пересылает всем участникам их доли {si, ti},
где si = Q(i), ti = F(i):
s1 = Q (1) = (3*13 + 8*12 + 15*1 + 14) mod 17 = 6
t1 = F (1) = (5*13 + 7*12 + 12*1 + 3) mod 17 = 10
s2 = Q (2) = (3*23 + 8*22 + 15*2 + 14) mod 17 = 15
t2 = F (2) = (5*23 + 7*22 + 12*2 + 3) mod 17 = 10
s3 = Q (3) = (3*33 + 8*32 + 15*3 + 14) mod 17 = 8
t3 = F (3) = (5*33 + 7*32 + 12*3 + 3) mod 17 = 16
s4 = Q (4) = (3*43 + 8*42 + 15*4 + 14) mod 17 = 3
t4 = F (4) = (5*43 + 7*42 + 12*4 + 3) mod 17 = 7
s5 = Q (5) = (3*53 + 8*52 + 15*5 + 14) mod 17 = 1
t5 = F (5) = (5*53 + 7*52 + 12*5 + 3) mod 17 = 13
Убедимся, с помощью программы, что значения вычислены верно (Рис.4):
Рисунок 4. Проверка подсчетов.
Проверка долей
Проверочное уравнение имеет вид:
Пусть второй участник решил проверить свою долю. Тогда уравнение будет иметь следующий вид:
Проверка успешно пройдена, убедимся в этом с помощью программы (Рис. 5):
Рисунок 5. Проверка.
Восстановление секрета
Используя интерполяционную формулу Лагранжа:
Восстановим секрет, используя тени пользователей 1, 2, 3, 4:
= -1*
+ 7,5*(
-37
+ 66 x - 26 x2
+ 3 x3)
mod 17 = 14 + 66x +8x2
+
3x3
Получили исходный полином, секрет s = Q0 = 14
Убедимся в правильности восстановления с помощью программы (Рис. 6):
Рисунок 6. Восстановление секрета.
Вывод
В ходе выполнения лабораторной работы были закреплены теоретические знания, а также приобретены навыки использования протокола проверяемого разделения секрета Фельдмана, Педерсена.
Санкт-Петербург
2024