ЛР-6 (Исследование побочных атак на криптосистему РША)
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №6
ИССЛЕДОВАНИЕ ПОБОЧНЫХ АТАК НА КРИПТОСИСТЕМУ РША
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Выполнил студент 3 курса:
Лянгузов Н.А., ИКБ-31
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель работы
Изучить влияние параметров и способов проектирования криптосистемы РША на возможность ее криптоанализа, используя побочные атаки, а также закрепить знания, полученные на лекциях курса «Основы криптографии с открытым ключом» , «Криптографические протоколы».
Порядок выполнения
1. Запустили программу «RSA attacks lab.exe».
2. Сгенерировали 3 набора ключей РША с одинаковой малой открытой экспонентой e=3. Длинна ключа РША = 16
Набор ключей |
Модуль n |
Экспонента e |
Экспонента d |
Простое p |
Простое q |
3 |
5459 |
3 |
8413 |
47 |
179 |
2 |
6583 |
3 |
4219 |
29 |
227 |
1 |
9553 |
3 |
6187 |
233 |
41 |
3.Сгенерировали случайное сообщение и зашифровали его.
Шифруемое сообщение: 2528
Криптограмма 1: 22365
Криптограмма 2: 34195
Криптограмма 3: 2126
4. Вычислили решение системы сравнений, используя китайскую теорему об остатках.
Общее решение системы сравнений: 16155901952
5. Нашли кубический корень методом Ньютона из решения системы, полученного на предыдущем шаге. Убедились в том, что это и есть исходное сообщение, сгенерированное в п.3.
Кубический корень: 2528
Сообщение: 2528
6. Переключили на окно демонстрации атаки при малом количестве возможных сообщений.
7. Сгенерировали ключи криптосистемы и список возможных сообщений заданной длины.
8. Зашифровали случайным образом одно из возможных сообщений
9. Путем последовательного шифрования возможных сообщений по списку и сравнения с криптограммой из п.8 нашли исходное сообщение. Оценили скорость выполнения данной атаки в зависимости от количества возможных сообщений и длины модуля.
Скорость выполнения зависит от количества сообщений и того какое сообщение по порядку. Программа проверила 61 сообщения из 100, прежде чем криптограммы совпали. Если бы было зашифровано последнее сообщение из списка, то программа перебрала бы все сообщения, прежде чем найти нужное.
10. Переключили на окно демонстрации атаки Винера (атака на малую секретную экспоненту).
11. Сгенерировали ключи криптосистемы.
12. Выполнили атаку Винера. Убедились в том, что найденные в результате выполнения атаки секретная экспонента и делители модуля криптосистемы действительно соответствуют параметрам заданной криптосистемы. Атаку Винера подтвердить расчетами, взяв исходные данные из программы.
Подход Винера
Секретная
экспонента может быть вычислена как
знаменатель подходящей дроби в неравенстве
Мы получили
:
Используя алгоритм Евклида для вычисления НОД, находим цепную дробь
=
* 0
+
= * 2 + 1557124647
= 1557124647 * 2 + 119398333
1557124647= 119398333 * 13 + 4946318
119398333= 4946318 * 24 +686701
4946318= 686701 * 7 + 139411
686701 = 139411 * 4 + 129057 139411 = 129057 * 1 + 10354 129057 = 10354 * 12 + 4809 10354 = 4809 * 2 + 736 4809 = 736 * 6 + 393 736 = 393 * 1 + 343 393 = 343 * 1 + 50 343 = 50 * 6 + 43 50 = 43 * 1 + 7 43 = 7 * 6 + 1 7 = 1 * 7 + 0
Вычисляем подходящие дроби:
Далее перебором
для каждой
подходящей дроби, вычисляем функцию
Эйлера согласно выражению:
и решаем квадратное уравнение
.
Проверяется, является ли р – простым.
Пусть
,
тогда k=1; d=2
=>
,
значения р будут нецелыми действительными.
Пусть
,
тогда k=2; d=5
=>
,
значения р будут нецелыми действительными.
Пусть
,
тогда k=27; d=67
=>
Р1 = 72469; Р2=110729, отсюда Р =
72469; q =
Проверка:
q*p =
Следовательно, секретная экспонента d = 67, i = 2, k = 27, g = 1 найдена правильно.
13. Задавая различные длины модуля и секретной экспоненты, убедились в том, что атака Винера дает результат при битовой длине секретной экспоненты приблизительно меньше четверти битовый длины модуля криптосистемы. При битовой длине секретной экспоненты больше четверти битовой длины модуля КС атаку выполнить не удалось. При длине модуля РША 140 и длине секретной экспоненты 70 программа выводит сообщение: «Не удалось выполнить атаку Винера».
14. Переключились на окно демонстрации атаки, связанной с мультипликативным свойством шифра РША.
15. Сгенерировали ключи криптосистемы.
16. Сгенерировали случайное сообщение M и зашифровали его.
17. Сгенерировали случайное число x взаимно простое с модулем криптосистемы и вычислили специальную криптограмму C'.
18. Дешифровали C', получив тем самым некое сообщение M'.
19. Извлекли исходное сообщение M из M'. Убедились в том, что полученное в результате выполнения атаки сообщение совпадает с исходным сообщением из п.13.
20. Переключили на окно демонстрации циклической атаки.
21. Сгенерировали ключи криптосистемы.
22. Сгенерировали случайное сообщение и зашифровали его.
23. Выполнили циклическую атаку. Убедились в том, что найденное сообщение соответствует исходному сообщению из п.22.
24. Увеличив длину модуля криптосистемы, убедились в том, что алгоритм выполнения данной атаки обладает не полиномиальной сложностью.
25. Переключили на окно демонстрации атаки на общие модули.
26. Сгенерировали 2 набора ключей с общим модулем.
27. Выполнили факторизацию общего модуля, зная обе секретные экспоненты.
28. Вычислили секретную экспоненту второго набора ключей, зная делители общего модуля криптосистемы. Просмотрев исходные параметры обоих наборов ключей и результаты выполнения атаки, убедились в том, что атака на общие модули привела к взлому криптосистемы.
Вычисленная секретная экспонента d2 (d1 = 1307, d2 = 2443) соответствует секретной экспоненте второго набора ключей.
Вывод
В ходе лабораторной работы изучили влияние параметров и способов проектирования криптосистемы РША на возможность ее криптоанализа, используя побочные атак. Закрепили знания, полученные на лекциях курса «Основы криптографии с открытым ключом», «Криптографические протоколы».
Санкт-Петербург
2026
