крипта_10
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №10
Изучение криптопротокола с разделением секретных данных между пользователями
(тема отчета)
Направление/специальность подготовки
(код и наименование направления/специальности)
Выполнил студент 3 курса:
__________
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель работы
Закрепить знания, полученные на лекциях дисциплине “Криптографические протоколы” по теме «протоколы разделения секрета»
Ход работы
Часть 1. Моделирование (n,m)-схемы разделения секретов
Для варианта – 5
№ вар |
Секрет k |
a1 |
a2 |
p |
n |
m |
5 |
9 |
11 |
12 |
19 |
5 |
3 |
Записать полином h(x):
Находим тени
Исходный полином:
k1 = h(x1) = (12 * 1^2 + 11 * 1 + 1 mod 19 = (12 + 11 + 1) mod 19 ) = 13
k2 = h(x2) = (12 * 2^2 + 11 * 2 + 1 mod 19 = (48 + 22 + 1) mod 19 ) = 3
k3 = h(x3) = (12 * 3^2 + 11 * 3 + 1 mod 19 = (108 + 33 + 1) mod 19 ) = 17
k4 = h(x4) = (12 * 4^2 + 11 * 4 + 1 mod 19 = (192 + 44 + 1) mod 19 ) = 17
k5 = h(x5) = (12 * 5^2 + 11 * 5 + 1 mod 19 = (300 + 55 + 1) mod 19 ) = 3
Восстановить секрет по теням 1, 3, 5
Для восстановления секрета по теням, используем интерполяционную формулу Лагранжа:
В результате получили исходный полином, где 9 и есть восстановленный основной секрет
Часть 2. Разделение сеансового ключа
Возьмём в качестве ключа для разделения случайно сгенерированный ключ для протокола AES: D0 E0 B7 51 93 48 AC 2A 1B B5 91 32 22 8C 8B 09
Это 277646215763595086990426571872324586249 в десятичной системе счисления
Используем первые несколько бит: 2776462157
Создадим файл, который будет зашифрован на данном ключе, и загрузим его в программу. Текст исходного сообщения:
«There can be only one artist, but no one else»
Произведем шифрование:
Параметры n =3 и m = 2, согласно условию задания. Модуль p будет сгенерирован случайным образом
В сгенерированном многочлене свободный член соответствует ключу шифрования – секрету
Осуществим разделение ключа
Полученные три тени сохраняются и по защищённым каналам связи передаются трем владельцам
В соответствии с параметрами системы, для восстановления ключа достаточно использовать две тени из трех. Возьмём тени под номерами 1 и 3 и загрузим в программу соответствующие файлы. Нажмём на кнопку "Восстановить"
Как видно используя две тени из трех удалось восстановить изначальный ключ
Проверим, что будет если один из ключей подвергнется искажению. Пусть ключ №1 будет уменшен на один бит
Восстановленный ключ 1005018741 не соответствует исходному и не позволит дешифровать файл
Проверим это, вернувшись во вкладку Des-шифрование, укажем восстановленный ключ, полученный на предыдущем этапе, и теперь попробуем расшифровать файл
Исходное сообщение:
“There can be only one artist, but no one else”
Дешифрованное сообщение неправильным ключом:
“|ьo+“)ГNЕеcЅ§&[НзFіЉ¤ў”Z‚Ґю·t7нАИ*)рFNПHm¤H’ў”
Как видим тексты сообщений полностью различаются
Возьмем другие параметры n и m. Пусть n=5, m=3
Возьмем тени №1, №3, №5
Исходный ключ восстановлен верно. Теперь подвергнем искажению тень №5, увеличив разрядность
Восстановленный ключ 2291704429 не соответствует исходному и не позволит дешифровать файл. Проверим это, вернемся на вкладку Des – шифрование. Сперва
Укажем верный ключ 2776462157
Теперь неверный 2291704429
Как видно, программа сообщает об ошибке
Исходное сообщение:
“There can be only one artist, but no one else”
Дешифрованное сообщение:
“_?“3@ЉAсѓд¦k·CLДэмA·’вO
йHЎЉмїЁє7ьѕ$±
‘ђІМЏ”
Вывод
В ходе выполнения данной лабораторной работе были закреплены знания, полученные на лекциях дисциплин «Основы криптографии с открытым ключом» и «Криптографические протоколы» по теме «протоколы разделения секрета».
Санкт – Петербург
2026
