Аннотация 2
Введение 5
Глава 1. Теоретические аспекты алгоритма RSA 8
1.1 Понятие асимметричного алгоритма шифрования 8
1.2 Описание алгоритма RSA 10
1.3 Поиск нужных р и q 11
1.4 Про параметры е и d 11
1.5 Подбор простых чисел, алгоритм поиска простых чисел 12
1.6 Поиск НОД, алгоритм Евклида 13
1.7 Зашифрование и расшифрование сообщения 14
1.8 Скорость работы алгоритма 14
1.9 Использование алгоритма для цифровых подписей 16
1.10 Пример работы алгоритма 16
1.11 Криптоанализ алгоритма 18
1.12 Достоинства и недостатки алгоритма 20
Глава 2. Реализация алгоритма RSA 22
Глава 3. Тестирование программной реализации 34
Заключение 38
Список литературы 39
Приложение А Листинг программы с использованием библиотеки 41
С тех пор как люди начали записывать события из жизни, они нуждались в криптографии. Криптография - шифрование текста таким образом, что любой незнакомый с секретным ключом человек никогда не сможет понять сообщение, но нужный читатель сможет расшифровать шифр. У древних людей, как и у современных, всегда была нужда в секретности, потому что обычно это в интересе шифровщика и дешифровщика, чтобы нужная информация не стала широко известной. Во время войны было важно, чтобы враг не знал, что вы и ваши союзники планируете против него, потому что это может подорвать целую операцию и повлиять на дальнейший ход развития событий. Тем не менее, у всех криптосистем до RSA были определённые проблемы: все они предполагали, что для шифровки и расшифровки обе стороны должны знать метод шифрования и ключ шифрования. Проблема распределения ключей как была основной проблемой, для которой была придумана криптография: желаемый получатель должен знать ключ и метод, по которому было зашифровано сообщение, но как можно передать ключ так, чтобы никто другой его не получил? С помощью шифрования, конечно же. Но как тогда прислать ключ для зашифрованного ключа? Этот цикл можно продолжать вечность. Возможно, и немцы могли бы избежать многочисленных поражений от Союзников на море, если бы им не приходилось ежедневно печатать настройки для Энигмы и выдавать их всем своим лидерам. Одна из таких книг была перехвачена англичанами, что привело к поражению Германии на море, поскольку англичане смогли перехватывать сообщения от немецких подлодок и дешифровать их. Так проблема раздачи ключей и осталась актуальной вплоть до 20-го века.
Эта проблема была решена Вайтфилдом Диффи, работающим вместе с Мартином Хеллманом. Диффи нашёл нечто революционное, новый тип шифра: его шифр включал асимметричный ключ. Во всех других криптосистемах, расшифровка производится так же, как и шифрование (Тот же самый алгоритм, но наоборот). В этих системах включен симметричный ключ, потому что шифровка и расшифровка симметричны. В ассиметричном шифре есть два разных ключа. Если человек, например, Иван, хочет послать сообщение другому человеку, Алисе, то всё, что ему нужно - использовать открытый ключ Алисы, чтобы зашифровать сообщение. И теперь единственный человек во вселенной, что сможет расшифровать это сообщение - Это Алиса, потому что у неё есть закрытый ключ для расшифровки. Иван зашифровывает сообщение, используя открытый ключ, но расшифровать его не может: шифровка - односторонняя функция, действия которой необратимы и могут быть расшифрованы лишь в том случае, если дешифровщик имеет закрытый ключ (который известен лишь одному лицу). Хоть Диффи и придумал общий концепт асимметричного шифрования, но у него не было такой функции, которая ему была нужна. Тем не менее, его доклад (опубликованный в 1975) показал, что решение раздачи ключей существует, чем зажёг интерес среди других математиков и физиков. Хоть он и пытался изо всех сил, но у него, его и его партнёров Хеллмана и Меркля, ничего не выходило. Функция была найдена другими тремя исследователями: Ривестом, Шамиром и Адлеманом. Позже она была названа RSA (Rivest, Shamir, Adelman).
Этот алгоритм был первой ассиметричной криптосистемой, которая основывалась на факторизации больших простых чисел. Ассиметричная криптография способствовала развитию многих прикладных областей. Например, Система электронной цифровой подписи. Алгоритм RSA широко используется и сейчас, его часто сочетают с симметричными алгоритмами из-за низкой скорости шифрования.
Таким образом, актуальность темы ВКР определяется широким распространением алгоритма и его использованием и сейчас.
Объект исследования - ассиметричный алгоритм шифрования данных RSA.
Предмет - реализация алгоритма RSA.
Цель работы - реализация криптографического алгоритма RSA.
Для достижения работы необходимо решить следующие задачи:
• Рассмотреть и изучить теоретическую часть алгоритма RSA, изучить его стойкость алгоритма;
• Программная реализация алгоритма RSA;
• Тестирование написанной программы, выявление положительных сторон и недостатков алгоритма.
В ходе выполнения бакалаврской работы был рассмотрен криптографический алгоритм RSA, а также реализован программный код, который показывает работу RSA. Было разработано консольное приложение, с помощью которого можно отследить время работы алгоритма, время шифровки и расшифровки. Также приложение полностью автономное и отлично подходит для рассмотрения и оценки работы RSA. Были также рассмотрены все теоретические аспекты данного алгоритма, его сильные и слабые стороны, а также некоторые возможные атаки на алгоритм.
Также в работе была рассмотрена криптостойкость данного алгоритма. Самая большая опасность для алгоритма - атака путём факторизации, но при грамотном пользовании алгоритмом для реализации атаки потребуется много много ресурсов и времени. Остальные же атаки направлены на неправильную и слабую реализацию алгоритма.
Основная положительная сторона алгоритма - его ассиметричность. Алгоритм позволяет передавать данные с помощью открытых и закрытых ключей, и никто не сможет прочитать передаваемое сообщение, кроме владельца закрытого ключа. Ещё одна положительная сторона алгоритма - его криптостойкость. При соблюдении правил генерации ключей, алгоритм очень сложен для взлома.
Недостатком же данного алгоритма является его долгое время работы. При сравнении с другими алгоритмами, алгоритм RSA значительно уступает симметричным алгоритмам по времени зашифровки сообщений и не всегда подходит для шифрования очень больших сообщений. Тем не менее, с помощью RSA можно передать ключ для расшифровки сообщения.
Таким образом, в данной работе были изучены основные аспекты работы алгоритма RSA, выявлены его основные достоинства и недостатки и реализован программный код, который соответствует механизмам алгоритма RSA.
1. Алферов А. П.. Основы криптографии / А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин. - Москва, Гелиос АРВ, 2005. - 480с.
2. Бабаш А. В. Криптографические методы защиты информации. Криптографические методы защиты информации: Учебно-методическое пособие. Москва : ИЦ РИОР, НИЦ Инфра-М, 2013.
3. Баричев С. Г., Гончаров В. В., Серов Р. Е. Основы современной криптографии. Учебное пособие. Москва : Горячая Линия - Телеком, 2006 - 42с.
4. Виноградов И. М. Основы Теории Чисел. Москва : Гостехиздат, 1949. - 180с.
5. Жданов О. Н., Лубкин И. А. Алгоритм RSA. Методические указания к выполнению лабораторных работ. Красноярск : СибГАУ, 2007. - 38с.
6. Жданов О.Н., Золотарёв В.В. Методы и средства криптографической защиты. Красноярск : СибГАУ, 2007. - 217с.
7. Ишмухаметов Ш. Т., Рубцов Р. Г. Математические основы защиты информации: учеб. пособие. Казань : Казанский федер. Унт, 2012. -138с.
8. Кнут Д. Э. Искусство программирования. Том 1. Москва : Вильямс, 2017. - 720с.
9. Коутинхо С. А., Ландо С. К. Введение в теорию чисел. Алгоритм RSA. Перевод с англ. Москва : ПОСТМАРКЕТ, 2001.
10. Макаров А. С.. Теория и практика хакерских атак. Москва : МИК, 2015.
11. Мао В.. Современная криптография. Теория и практика. Москва : Вильямс, 2005. - 768с.
12. Ожиганов А. А. Криптографические системы с секретным ключом. Санкт-Петербург: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ УНИВЕРСИТЕТ ИТМО, 2015 - 67 с.
13. Орлов В. В., Алексеев А. П. Стенографические и криптографические методы защиты информации. Самара : 2010 - 288 с.
14. Смарт Н. Криптография. Москва : Техносфера, 2005. - 528 с.
15. Шилдт Г. С++ Руководство для начинающих. Москва : Вильямс, 2005. - 672 с.
...