Скачиваний:
45
Добавлен:
01.03.2022
Размер:
1.23 Mб
Скачать

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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

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

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

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

(СПбГУТ)

Факультет Инфокоммуникационных сетей и систем

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

ОТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ

 

Исследование Побочных Атак На Криптосистему Рша

Направление/специальность подготовки

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

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

Выполнил:

 

%username%                         

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

 

                                                                

 

 

Проверил:

 

%username%                          

(уч. степень, уч. звание, Ф.И.О.)          (подпись)

Цель работы

Изучить влияние параметров и способов проектирования криптосистемы РША на возможность ее криптоанализа, используя побочные атак, а также закрепить знания, полученные на лекциях курса «Основы криптографии с открытым ключом» , «Криптографические протоколы».

Используемое программное обеспечение

Для выполнения работы используется специально разработанный программный комплекс «RSA attacks lab.exe»

1. Запустить программу «RSA attacks lab.exe». После запуска сразу откроется окно для демонстрации атаки на малую шифрующую экспоненту.

2. Сгенерировать 3 набора ключей РША с одинаковой малой открытой экспонентой e=3.

3.Сгенерировать случайное сообщение и зашифровать его.

4. Вычислить решение системы сравнений, используя китайскую теорему об остатках.

5. Найти кубический корень методом Ньютона из решения системы, полученного на предыдущем шаге. Убедиться в том, что это и есть исходное сообщение, сгенерированное в п.3.

6. Переключиться на окно демонстрации атаки при малом количестве возможных сообщений.

7. Сгенерировать ключи криптосистемы и список возможных сообщений заданной длины.

8. Зашифровать случайным образом одно из возможных сообщений.

16177378440832894184601306825301233394031772009702907049087289812363096968098422469834165963274538919890830306742232905733862126166080787439588742055901636994401107811885518865823581823316979228669653626711679740755080605752744797771603272102227531049299951226658009680466850464475554808465159831048823653908

9. Путем последовательного шифрования возможных сообщений по списку и сравнения с криптограммой из п.8 найти исходное сообщение. Оценить скорость выполнения данной атаки в зависимости от количества возможных сообщений и длины модуля.

10. Переключиться на окно демонстрации атаки Винера (атака на малую секретную экспоненту).

11. Сгенерировать ключи криптосистемы.

12. Выполнить атаку Винера. Убедиться в том, что найденные в результате выполнения атаки секретная экспонента и делители модуля криптосистемы действительно соответствуют параметрам заданной криптосистемы. # Ручками посчитать как на картинках 8 32 параметры выбрать

d – Может быть вычислена, как знаменатель одной из подходящих дробей разложения в цепную дробь.

По условию n = 799103351, e = 539895373.

Разложим в цепную дробь, для этого выпишем алгоритм Евклида:

539895373 = 0 × 799103351 + 539895373

799103351 = 1 × 539895373 + 259207978

539895373 = 2 × 259207978 + 21479417

259207978 = 12 × 21479417 + 1454974

21479417 = 14 × 1454974 + 1109781

1454974 = 1 × 1109781 + 345193

1109781 = 3 × 345193 + 74202

345193 = 4 × 74202 + 48385

74202 = 1 × 48385 + 25817

48385 = 1 × 25817 + 22568

25817 = 1 × 22568 + 3249

22568 = 6 × 3249 + 3074

3249 = 1 × 3074 + 175

3074 = 17 × 175 + 99

175 = 1 × 99 + 76

99 = 1 × 76 + 23

76 = 3 × 23 + 7

23 = 3 × 7 + 2

7 = 3 × 2 + 1

2 = 2 × 1 + 0

Получаем следующие подходящие дроби:

Далее перебором для каждой подходящей дроби, вычисляется и решается квадратное уравнение . Проверяется, является ли р – простым.

Пусть , тогда k = 1, d = 1

Значения р будут нецелыми действительными => не подходит.

Пусть , тогда k = 2, d = 3

Значения р будут недействительными => не подходит.

Пусть , тогда k = 25, d = 37

Следовательно секретная экспонента d = 37, делители модуля q = , p = и компоненты i = 3, k = 25, g = 1.

13. Задавая различные длины модуля и секретной экспоненты, убедиться в том, что атака Винера дает результат при битовой длине секретной экспоненты приблизительно меньше четверти битовый длины модуля криптосистемы.

14. Переключиться на окно демонстрации атаки, связанной с мультипликативным свойством шифра РША.

15. Сгенерировать ключи криптосистемы.

16. Сгенерировать случайное сообщение M и зашифровать его.

17. Сгенерировать случайное число x взаимно простое с модулем криптосистемы и вычислить специальную криптограмму C'.

18. Дешифровать C', получив тем самым некое сообщение M'.

19. Извлечь исходное сообщение M из M'. Убедиться в том, что полученное в результате выполнения атаки сообщение совпадает с исходным сообщением из п.13.

20. Переключиться на окно демонстрации циклической атаки.

21. Сгенерировать ключи криптосистемы.

22. Сгенерировать случайное сообщение и зашифровать его.

23. Выполнить циклическую атаку. Убедиться в том, что найденное сообщение соответствует исходному сообщению из п.19.

24.Увеличив длину модуля криптосистемы, убедиться в том, что алгоритм выполнения данной атаки обладает не полиномиальной сложностью.

25. Переключиться на окно демонстрации атаки на общие модули.

26. Сгенерировать 2 набора ключей с общим модулем.

27. Выполнить факторизацию общего модуля, зная обе секретные экспоненты.

28. Вычислить секретную экспоненту второго набора ключей, зная делители общего модуля криптосистемы. Просмотрев исходные параметры обоих наборов ключей и результаты выполнения атаки, убедиться в том, что атака на общие модули привела к взлому криптосистемы.

Вывод: В ходе выполнения практической работы, были приобретены навыки анализа алгоритмов криптосистем с Исследование Побочных Атак На Криптосистему Рша.

Соседние файлы в папке Лабораторные