Скачиваний:
19
Добавлен:
25.06.2024
Размер:
167.36 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Инфокоммуникационных сетей и систем

Кафедра Защищенных систем связи

Дисциплина Криптографические протоколы

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №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

Соседние файлы в предмете Криптографические протоколы