ВВЕДЕНИЕ 5
ГЛАВА 1 ОПИСАНИЕ И АНАЛИЗ КРИПТОГРАФИЧЕСКОГО АЛГОРИТМА RSA 7
1.1 Метод шифрования RSA 9
1.2 Сложность теоретико-числовых алгоритмов 12
ГЛАВА 2 ЗАДАЧИ ПРАКТИЧЕСКОЙ РЕАЛИЗАЦИИ АЛГОРИТМА 19
2.1 Проверка большого числа на простоту 20
2.2 Нахождение взаимно простых чисел и алгоритм Евклида 21
2.3 Определение ключа алгоритма RSA 22
2.4 Практическая математика для длинных чисел 23
2.5 Криптоустойчивость RSA 24
ГЛАВА 3 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА 26
3.1 Описание состава программных средств 26
3.2 Описание модулей программы 26
3.3 Состав проекта 29
3.4 Описание программы 29
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 40
ПРИЛОЖЕНИЕ А 42
С древних времен проблема защиты информации волновала человеческий ум. Вместе с появлением письменности, появилась и необходимость сокрытия смысла написанного. Первые примеры зашифрованного текста можно найти в древних манускриптах Индии и Египта. В течение долгих веков происходило неспешное совершенствование способов шифрования основанных на простейших методах подстановки и перестановки символов. Важным этапом стало изобретение ключа шифрования, который получил широкое применение в эпоху возрождения. Следующим важнейшим шагом в развитии криптографии стало появление механических устройств, таких как роторные машины. Они были изобретены в XIX веке, но широкое применение получили только в XX. И применялись вплоть до появления ЭВМ. В начале XX века криптография окончательно оформилась как самостоятельная наука, использующая множество математических методов.
В середине 1970-х годов случился настоящий прорыв современной криптографии - появились первые асимметричные криптосистемы. Такие системы не требовали наличия скрытого ключа у обеих сторон. Начало этого метода было положено в 1976 году работой «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана. В эти исследования впервые в истории криптографии вошли четко сформулированные принципы обмена зашифрованной информации без необходимости обмена секретным ключом. Уже через год, на основании вышеописанного метода, тремя учеными из Массачусетса Роном Ривестом, Ади Шамиром и Леонардом Адлеманом был разработан новый алгоритм шифрования данных, впоследствии получивший название RSA. Этот алгоритм явился первой практической асимметричной криптосистемой, основывающейся на так называемой «проблеме факторизации больших простых чисел». Асимметричная криптография содействовала развитию только появлявшихся на тот момент прикладных областей, таких как системы электронной цифровой подписи (ЭЦП) и защитные механизмы зарождающихся систем электронных платежей. Так же метод RSA широко используется как дополнительный при шифровании ключа для симметричных систем шифрования.
Широкой применимостью алгоритма RSA и определяется актуальность темы ВКР.
Объект исследования - криптографический алгоритм RSA.
Предмет - реализация алгоритма RSA.
Цель работы - реализовать криптографический алгоритм RSA.
Для реализации цели следует решить задачи:
1. Проанализировать теоретические основания алгоритма RSA.
2. Осуществить программную реализацию алгоритма RSA.
3. Проанализировать различные программные реализации и сравнить их.
В рамках данной выпускной квалификационной работы програмно реализован криптографический алгоритм RSA и разработана программа на языке C#, демонстрирующая работу данного алгоритма. Программа способна зашифровывать загружаемые пользователем файлы, генерируя открытый и секретный ключи на основе введенных случайных чисел, а также может расшифровывать ранее зашифрованные файлы.
Входные данные для шифрования файлов - два случайных числа, а также файл, который предварительно должен быть открыт (или текст, введенный в предназначенном для этого текстовом поле). На основе введенных пользователем чисел определяются два ближайших к ним простых числа. Число n - результат их перемножения, - будет входить в пары, являющиеся открытым и закрытым ключами. При этом пара чисел p и q является открытым ключом, а d и n - секретным.
На основе анализа современных методов и средств защиты информации в сетях и перспектив развития информационных технологий, можно выделить основные факторы, затрудняющие решение проблем информационной безопасности в ЭВМ и их сетях:
- массовое и повсеместное применение;
- стабильно возрастающая сложность функционирования;
-множественные варианты программного обеспечения ПК, архитектурных решений, и легкая приспособляемость для выполнения различных задач пользователей.
Криптографические средства являются одним из множества средств информационной защиты в ЭВМ и их сетях. Их задача состоит в том, чтобы защищать информацию при передаче по линиям связи, хранении на носителях, а так же защищает от ввода ложной информации.
Практическая реализация криптографических средств з ащиты может быть программной, то есть шифрование и дешифрование информации реализуется специальной программой, и технической, с помощью определенных технических средств, которые могут реализовать алгоритм шифрования.
Данный программный модуль может применяться любыми организациями, сохранение конфиденциальности информации которых имеет важное стратегическое значение. Кроме того, его можно использовать в составе других программных комплексов, к примеру, для шифрования паролей в целях разграничения доступа к ресурсам.
1. Алферов А.П. Основы криптографии. Учебное пособие. 2-е изд., испр. и доп./Алферов А.П., Зубов А.Ю., Кузьмин А.С., - М.: Гелиос АРВ, 2002. - 480 с., ил.
2. Бабаш А.В. Криптография. Под редакцией А.В. Бабаш, Г.П. Шанкин. - М.: СОЛОН-Р, 2007. - 512с. - (Серия книг «Аспекты защиты»). ISBN 5-93455-135-3
3. Баричев С.Г., Серов Р.Е. Основы современной криптографии. Учебное пособие. — М.: Горячая Линия — Телеком, 2006. — 152 с.
4. Болотов А.А. Элементарное введение в эллиптическую криптографию: Алгебраические и алгоритмические основы./Болотов А.А., Гашков С.Б., Фролов А.Б. - М.: КомКнига, 2012. - 306 с.
5. Брассар Ж. Современная криптология. Руководство. Москва, Издательско -полиграфическая фирма ПОЛИМЕД 1999. - 142 с.
6. Брюс Шнайер Прикладная криптография. Издательство: Триумф, 2012. - 815. ISBN 978-5-89392-527-2
7. Коблиц Н. Курс теории чисел и криптографии. Москва: Научное издательство “ТВП”, 2001. - 260 с.
8. Коутинхо С. Введение в теорию чисел. Алгоритм RSA. Перевод с англ. С.А. Кулешова под редакцией С.К. Ландо. М.: ПОСТМАРКЕТ, Москва, 2001. - 328 с.
9. Нильс Фергюсон, Брюс Шнайер Практическая криптография.: Пер. с англ. - М.: Издательский дом “Вильямс”, 2005. - 424 с.: ил. - Парал. тит. англ. ISBN 5-8459-0733-0 (рус.)
10. Панасенко С.П. Алгоритмы шифрования. Специальный справочник. - Издательство “БХВ-Петербург”, 2009. - 576 с.: ил. ISBN 978-5¬9775-0319-8
11. Ожиганов А.А. Криптография: учебное пособие. - СПб: Университет ИТМО, 2016. - 140 с.
12. Орлов В. А. Шимко Н.А., Медведев Н.В. Домрачева А.Б. Теория чисел в криптографии : учеб. пособие - М.: Издательство МГТУ им. Н.Э Баумана, 2011. - 223, [1] с. ISBN 978-5-7038-3520-3
13. Осипян В.О., Осипян К.В. криптография в задачах и
упражнениях. - М.: Гелиос АРВ, 2004. - 144с., ил. ISBN 5-85438-009-9
14. Попов А. М. Алгоритм RSA. Методические указания к выполнению лабораторных работ. сост. : О. Н. Жданов, И. А. Лубкин ; Сиб. гос. аэрокосмич. ун-т. - Красноярск, 2007. - 38 с.
15. Ростовцев А.Г. Маховенко Е.Б. Теоретическая криптография. НЛО «Профессионал» Санкт-Петербург, 2004. - 480 с.
16. Сидельников В.М. Криптография и теория кодирования // Материалы конференции "Московский университет и развитие криптографии в России" (МГУ, 17-18 октября 2002 г. ) - 21 с.
17. Смарт Н. Криптография Москва: Техносфера, 2005. - 528 с. ISBN 5-94836-043-1
18. Черемушкин А.В. Лекции по арифметическим алгоритмам в криптографии. Научный редактор А.Б. Пикчур. Технический редактор В. Шувалов. Издательство Московского Центра непрерывного математического образования. Лицензия ИД №01334 от 2000г.
Электронные ресурсы
19. Алгоритм шифрования RSA на пальцах. Электронный ресурс: http ://teh-box. ru/mformationsecurity/algoritm-shifrovaniya-rsa-na-palcax. html
20. Галина Басалова. Основы криптографии: Информация.
Электронный ресурс https://www.intuit.ru/studies/courses/691/547/info