Лабораторные и практики / 05_ЛР / 05_ЛР
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
_____________________________________________________________________________
Кафедра информационной безопасности телекоммуникационных систем
Дисциплина «Основы криптографии с открытыми ключами»
Лабораторная работа 5
«Исследование побочных атак на криптосистему РША»
Выполнила: студ. гр. .
.
Проверил: проф. Яковлев В.А..
Санкт-Петербург
2021
Цель работы
Изучить влияние параметров и способов проектирования криптосистемы РША на возможность ее криптоанализа, используя побочные атак, а также закрепить знания, полученные на лекциях курса «Основы криптографии с открытым ключом», «Криптографические протоколы».
Задание
Для выполнения каждой из атак сгенерировать набор ключей РША (или несколько наборов).
Выполнить необходимые для осуществления криптоанализа шаги.
Проанализировать результаты выполнения атак.
Ход работы
Запустим программу «RSA attacks lab.exe». После запуска сразу откроется окно для демонстрации атаки на малую шифрующую экспоненту.
Программа «RSA attacks lab.exe».
Тип атаки «Малая шифрующая экспонента.
Сгенерируем 3 набора ключей РША с одинаковой малой открытой экспонентой e=3.
Генерация набора ключей. Открытая экспонента e.
Генерация набора ключей. Секретная экспонента d.
Генерация набора ключей. Модуль n.
Генерация набора ключей. Простое число p.
Генерация набора ключей. Простое число q.
Набор ключей |
Модуль n |
Экспонента e |
Экспонента d |
Простое p |
Простое q |
1 |
45649 |
3 |
30147 |
191 |
239 |
2 |
8083 |
3 |
5259 |
137 |
59 |
3 |
16351 |
3 |
10715 |
83 |
197 |
Сгенерируем случайное сообщение и зашифруем его.
Случайное сообщение и зашифрованное сообщение ключом 1.
Шифруемое сообщение: 1040
Криптограмма 1: 26991
Криптограмма 2: 1388
Криптограмма 3: 13306
Вычислим решение системы сравнений, используя китайскую теорему об остатках.
Вычисление решения системы уравнений.
Общее решение системы сравнений: 1124864000
Найдем кубический корень методом Ньютона из решения системы, полученного на предыдущем шаге. Убедимся в том, что это и есть исходное сообщение, сгенерированное в п.3.
Вычисление кубического корня методом Ньютона.
Кубический корень: 1040
Сообщение: 1040
Переключимся на окно демонстрации атаки при малом количестве возможных сообщений.
Тип атаки «Малое количество возможных сообщений».
Сгенерируем ключи криптосистемы и список возможных сообщений заданной длины.
Генерирование ключей РША и список возможных сообщений.
Зашифруем случайным образом одно из возможных сообщений.
Шифрование случайного сообщения.
Путем последовательного шифрования возможных сообщений по списку и сравнения с криптограммой из п.8 найдем исходное сообщение.
Поиск сообщения, соответствующего данной криптограмме.
Скорость выполнения зависит от количества сообщений. Программа проверила 32 сообщения из 100, прежде чем криптограммы совпали. Если бы было зашифровано последнее сообщение из списка, то программа перебрала бы все сообщения, прежде чем найти нужное.
Переключимся на окно демонстрации атаки Винера (атака на малую секретную экспоненту).
Тип атаки «Малая экспонента дешифрования». Атака Винера.
Сгенерируем ключи криптосистемы.
Генерирование ключей РША.
Выполним атаку Винера. Убедимся в том, что найденные в результате выполнения атаки секретная экспонента и делители модуля криптосистемы действительно соответствуют параметрам заданной криптосистемы.
Выполнение атаки Винера.
Шифрующая экспонента e: 152248211
Модуль криптосистемы n: 888174281
Найденная секретная экспонента: 35
Найденные делители модуля: 31699 и 28019
i = 3, k=6, g=1
Задавая различные длины модуля и секретной экспоненты, убедимся в том, что атака Винера дает результат при битовой длине секретной экспоненты приблизительноменьше четверти битовый длины модуля криптосистемы.
|
|
Выполнение атаки Винера, при заданных длинах секретной экспоненты и модуля криптосистемы.
Переключимся на окно демонстрации атаки, связанной с мультипликативным свойством шифра РША.
Тип атаки, использующей мультипликативные свойства шифра РША
Сгенерируем ключи криптосистемы.
Генерирование ключей РША.
Параметры криптосистемы:
Открытая экспонента e: 391
Секретная экспонента d: 223
Модуль криптосистемы n: 551
Сгенерируем случайное сообщение M и зашифруем его.
Выбранное сообщение M.
Зашифрованное сообщение C .
Выбранное сообщение M: 181
Зашифрованное сообщение C: 431
Сгенерируем случайное число x взаимно простое с модулем криптосистемы и вычислим специальную криптограмму C'.
Генерирование x. Криптограмма C’, при x=273.
Случайное число x взаимно простое с модулем n: 273
Комбинированная криптограмма
Дешифруем C', получив тем самым некое сообщение M'.
Расшифрованное сообщение.
Расшифрованное M': 374
Извлечем исходное сообщение M из M'. Убедимся в том, что полученное в результате выполнения атаки сообщение совпадает с исходным сообщением.
Вычисление сообщения.
Исходное сообщение
Переключимся на окно демонстрации циклической атаки.
Тип атаки «циклическая атака».
Сгенерируем ключи криптосистемы.
Генерация ключей РША.
Открытая экспонента e: 23
Модуль криптосистемы n: 62
Сгенерируем случайное сообщение и зашифруем его.
Случайное сообщение и соответствующая ему криптограмма.
Шифруемое сообщение M: 19
Криптограмма C: 9
Выполним циклическую атаку.
Выполнение циклической атаки.
, где k = 4
Найденное сообщение соответствует исходному сообщению.
Увеличим длину модуля криптосистемы, убедимся в том, что алгоритм выполнения данной атаки обладает не полиномиальной сложностью.
Циклическая атака с более длинным модулем КС.
Переключимся на окно демонстрации атаки на общие модули.
Тип атаки «Атака на общие модули».
Сгенерируем 2 набора ключей с общим модулем.
Два набора ключей с общим модулем.
Открытая экспонента e1: 4577
Открытая экспонента e2: 1981
Общий модуль n: 5053
Выполним факторизацию общего модуля, зная обе секретные экспоненты.
Факторизация, из общего n находим p и q.
Вычислим секретную экспоненту второго набора ключей, зная делители общего модуля криптосистемы. Просмотрим исходные параметры обоих наборов ключей и результаты выполнения атаки, убедимся в том, что атака на общие модули привела к взлому криптосистемы.
Вычисление d2.
Секретная экспонента d1: 893
Общий модуль: 5053
Случайное число g, используемое для факторизации: 2730
Делители модуля: 31 и 163
Секретная экспонента d2: 1261
Вычисленная секретная экспонента d2 соответствует секретной экспоненте второго набора ключей.
Вывод:
В ходе лабораторной работы изучили влияние параметров и способов проектирования криптосистемы РША на возможность ее криптоанализа, используя побочные атак. Закрепили знания, полученные на лекциях курса «Основы криптографии с открытым ключом», «Криптографические протоколы».