Скачиваний:
35
Добавлен:
29.06.2022
Размер:
481.73 Кб
Скачать

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

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

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

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

(СПбГУТ)

_____________________________________________________________________________

Кафедра информационной безопасности телекоммуникационных систем

Дисциплина «Основы криптографии с открытыми ключами»

Лабораторная работа 12

«Изучение криптопротокола с разделением секретных данных между пользователями »

Выполнила: студ. гр. .

. .

Проверил: проф. Яковлев В.А..

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

Закрепить знания, полученные на лекциях дисциплин “Основы криптографии с открытым ключом“ и “Криптографические протоколы” по теме «протоколы разделения секрета».

Исходные данные

Вариант №6

Таблица 1. Исходные данные для части 1.

вар

Секрет k

a1

a2

6

12

14

9

Ход работы

Часть 1. Моделирование пороговой (n,m)-схемы разделения секретов

Провести моделирование (n,m)-схемы разделения секретов с заданными параметрами: (n=5, m=3, p=17) и параметрами в таблице 1.

Пороговой (n, m)-схемой называется такой алгоритм формирования частных секретов (теней) по основному секрету k, что при объединении m или более таких теней существует алгоритм, позволяющий восстановить в точности основной секрет, тогда как объединение менее чем m теней не дает абсолютно никакой информации об основном секрете k.

Используем способ построения пороговой схемы, известный как схема разделения секрета на основе интерполяции полиномов над конечными полями (схема Шамира).

Для построения данной схемы должно выполняться условие .

Запишем полином h(x):

Частные секреты (тени) вычисляются по формуле , где, в частности, можно взять .

Найдем тени , где = (1, 2, 3, 4, 5):

Затем передаются каждому из n пользователей по секретным каналам. Если m (или более) пользователей объединят свои индивидуальные секреты , то они смогут восстановить полином, используя интерполяционную формулу Лагранжа:

Тогда основной секрет легко может быть найден как:

Восстановим секрет по теням 2, 3, 4 (четный вариант):

Видим, что получили исходный основной ключ – вычисления проведены верно.

Часть 2. Разделение сеансового ключа

Шифруем файл Primer.txt одной из модификаций алгоритма DES с использованием случайно сгенерированного ключа. Для этого используем программу «DivisionSecret». Ключ при этом сохраняем в отдельном файле:

  1. Шифрование файла.

Ключ: 2478000792053669

Выберем произвольным образом параметры (n,m) схемы разделения секретов, n<10, m<4:

Модуль p генерируется программой:

  1. Генерация модуля p.

Выполним разделение секретов:

  1. Вычисление теней.

Восстановим основной ключ по произвольно выбранным m теням.

Возьмем следующие тени:

  1. Восстановление основного ключа.

Видим, что восстановленный ключ совпадает с исходным. Сохраняем его в отдельный файл.

Восстановим файл Primer.txt, используя восстановленный ключ:

  1. Дешифрование файла Primer.cry.

Сохраняем восстановленный файл как Primer_decrypt.txt. Проверяем правильность дешифрования путем непосредственного сравнения восстановленного файла с исходным файлом:

  1. Сравнение восстановленного и исходного файлов.

Изменим произвольные цифры в выбранных тенях и снова проведем операции восстановления основного ключа и файла:

  1. Восстановление основного ключа.

Видим, что восстановленный ключ отличается от исходного:

Выполняем дешифрование и сравниваем файлы:

  1. Сравнение восстановленного и исходного файлов.

Видим, что дешифрование выполнено неправильно.

Вывод:

В ходе лабораторной работы мы закрепили знания, полученные на лекциях дисциплин “Основы криптографии с открытым ключом“ и “Криптографические протоколы” по теме «протоколы разделения секрета».

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

2021

Соседние файлы в папке 12_ЛР