Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР-15 (Построение протокола доказательства с нулевым разглашением)

.docx
Скачиваний:
38
Добавлен:
20.05.2026
Размер:
42.21 Кб
Скачать

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

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

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

(СПбГУТ)

Факультет Кибербезопасности

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

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

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №15

Построение протокола доказательства с нулевым разглашением

(тема отчета)

10.03.01 Информационная безопасность

(код и наименование направления/специальности)

Студент:

Лянгузов Н.А., ИКБ-31

(Ф.И.О., № группы) (подпись)

Преподаватель:

Яковлев В.А.

(Ф.И.О) (подпись)

Цель лабораторной работы

Получить навыки анализа и построения протоколов нулевого разглашения секрета.

Задача лабораторной работы

Построить протокол доказательства с нулевым разглашением секрета в виде решения задачи доказательства пользователем А того, что он имеет секретный ключ, соответствующий открытому ключу у пользователя В. На рисунке 1 изображено изначальное распределение ключей между A и B.

Рисунок 1. Распределение ключей.

Задание.

Провести моделирование работы протокола при следующих параметрах:

  1. Модуль p = 31

  2. Генератор g = 3

  3. Секретный ключ x = (22 + 10) mod 30 = 2

Остальные параметры выбрать самостоятельно, используя числа в диапазоне (10-25). Пусть маскирующее число v = 31 – 15 = 16, запрос e = 13.

Порядок работы протокола:

  1. Вычисляется открытый ключ y

  2. A выбирает v, вычисляет a и отправляет его B

  3. B выбирает e и отправляет его A

  4. A вычисляет z и отправляет его B

  5. B проверяет равенство gz mod p = (a * ye) mod p

Шаг 1.

y = gx mod p = 32 mod 31 = 9

Шаг 2.

a = gv mod p = 316 mod 31 = 28

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

Шаг 3.

e = 13

Шаг 4.

z = (v + e * x) mod (p – 1) = (16 + 13 * 2) mod 30 = 12

Шаг 5.

gz mod p = (a * ye) mod p

Левая часть:

gz mod p = 312 mod 31 = 8

312 mod 31 = (20 * 19) mod 31 = 380 mod 31 = 8

Правая часть:

(a * ye) mod p = (13 * 913) mod 31 = (28 * 18) mod 31= 234 mod 31 = 8

913 = 326 = 316 * 38 * 32

913 mod 31 = 326 mod 31 = (28 * 20 * 9) mod 31 = 5040 mod 31 = 18

Проверка:

8 = 8 → проверка пройдена успешно

По итогу схема работы протокола со всеми значениями выглядит так, как показано на рисунке 2. По рисунку видно, что секретный ключ x ни разу не передавался между A и B, что обеспечивает его защиту от раскрытия.

Рисунок 2. Схема работы протокола.

Вывод

В ходе выполнения лабораторной работы были получены навыки анализа и построения протоколов нулевого разглашения секрета.

Был построен протокол доказательства с нулевым разглашением секрета в виде решения задачи доказательства пользователем А того, что он имеет секретный ключ, соответствующий открытому ключу у пользователя В.

Пользователь A может доказать знание секретного ключа x без его раскрытия. Проверка равенства gz mod p = (a * ye) mod p подтвердила корректность выполнения протокола.

Протокол обеспечивает:

  1. Подтверждение подлинности пользователя.

  2. Защиту секретного ключа от его раскрытия.

  3. Невозможность успешного прохождение проверки без знания секрета.

Санкт-Петербург

2026

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