крипта_15
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №15
Построение протокола доказательства с нулевым разглашением
(тема отчета)
Направление/специальность подготовки
(код и наименование направления/специальности)
Выполнил студент 3 курса:
___________
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель лабораторной работы
Получить навыки анализа и построения протоколов нулевого разглашения секрета.
Задача лабораторной работы
Построить протокол доказательства с нулевым разглашением секрета в виде решения задачи доказательства пользователем А того, что он имеет секретный ключ, соответствующий открытому ключу у пользователя В. На рисунке 1 изображено изначальное распределение ключей между A и B.
Рисунок 1. Распределение ключей.
Задание.
Провести моделирование работы протокола при следующих параметрах:
Модуль p = 31
Генератор g = 3
Секретный ключ x = (5 + 10) mod 30 = 15
Остальные параметры выбрать самостоятельно, используя числа в диапазоне (10-25). Пусть маскирующее число v = 32 – 15 = 17, запрос e = 13.
Порядок работы протокола:
Вычисляется открытый ключ y
A выбирает v, вычисляет a и отправляет его B
B выбирает e и отправляет его A
A вычисляет z и отправляет его B
B проверяет равенство gz mod p = (a * ye) mod p
Шаг 1.
y = gx mod p = 315 mod 31 = 30
Шаг 2.
a = gv mod p = 317 mod 31 = 22
31 mod 31 = 3
32 mod 31 = 9
34 mod 31 = (9 * 9) mod 31 = 81 mod 31 = 19
38 mod 31 = (19 * 19) mod 31 = 361 mod 31 = 20
316 mod 31 = (20 * 20) mod 31 = 400 mod 31 = 28
317 mod 31 = 316 * 31 mod 31 = 28 * 3 mod 31 = 22
Шаг 3.
e = 13
Шаг 4.
z = (v + e * x) mod (p – 1) = (17 + 13 * 15) mod 30 = 2
Шаг 5.
gz mod p = (a * ye) mod p
Левая часть:
gz mod p = 32 mod 31 = 9
Правая часть:
(a * ye) mod p = (22 * 3013) mod 31 = (22 * 30) mod 31 = 660 mod 31 = 9
3013 = 313 * 1013 mod 31 = 24 * 9 mod 31 = 216 mod 31 = 30
313 mod 31 = (34)3 * 3 mod 31 = 193 * 3 mod 31 = 8 * 3 mod 31 = 24
1013 mod 31 = ((102)2)3 * 10 mod 31 = (72)3 * 10 mod 31 = 183 * 10 mod 31 = 4 * 10 mod 31 = 9
Проверка:
9 = 9 → проверка пройдена успешно
По итогу схема работы протокола со всеми значениями выглядит так, как показано на рисунке 2. По рисунку видно, что секретный ключ x ни разу не передавался между A и B, что обеспечивает его защиту от раскрытия.
Рисунок 2. Схема работы протокола.
Вывод
В ходе выполнения лабораторной работы были получены навыки анализа и построения протоколов нулевого разглашения секрета.
Был построен протокол доказательства с нулевым разглашением секрета в виде решения задачи доказательства пользователем А того, что он имеет секретный ключ, соответствующий открытому ключу у пользователя В.
Санкт-Петербург
2026
