Программная реализация криптоалгоритма RSA
Автор: amoteo • Март 4, 2021 • Курсовая работа • 4,645 Слов (19 Страниц) • 472 Просмотры
Оглавление
Глава 1 Описание RSA 3
1.1 Алгоритм функции 3
1.2 Демонстрация решения с использованием алгоритма RSA 3
1.3 Формальное описание алгоритма 6
Глава 2 Обзор используемого языка программирования 9
2.1 Общее описание языка 9
2.2 Использование C # 14
2.3 Создание приложения с графическим интерфейсом 19
2.1 Результаты разработки графического интерфейса пользователя. 21
2.2 Выберите и откройте файл. 22
2.3 Просмотр, создание или использование ключа шифрования 24
2.4 Раздел справки 26
Глава 4 Результаты испытаний разработанной программы. 27
Вывод 29
Список используемой литературы 29
Применение 30
Введение
Целью работы является разработка приложения, которое позволяет хеширование в соответствии с алгоритмом RSAкак выбираемые файлы, так и входящие текстовые сообщения с возможностью сохранения полученного значения хеша в файл. В зависимости от хеш-данных и секретного ключа, полученного из ключевой фразы с регулируемой минимальной длиной и сложностью, должна быть возможность рассчитать, сохранить и проверить контрольное хеш-значение.
В ходе работы были поставлены следующие задачи:
- Разработать графический интерфейс программы
- Изучить и реализовать алгоритм хеширования
- Реализация графического интерфейса пользователя и интеграция алгоритма хеширования
- Отладка графического интерфейса
- Отладка хеш-алгоритма
Благодаря этой работе все эти задачи были решены.
Глава 1 Описание RSA
Алгоритм функции
RSA - это алгоритм шифрования, который безопасно передает сообщения через Интернет. Он основан на том принципе, что большие числа легко умножать, но вычислять большие числа очень сложно. Например, легко проверить, умножены ли 31 и 37 на 1147, но попытка найти 1147 факторов - намного более длительный процесс.
Демонстрация решения с использованием алгоритма RSA
RSA - это пример криптографии с открытым ключом, проиллюстрированный на следующем примере. Предположим, Алиса хочет отправить Бобу драгоценный алмаз, но драгоценность украдена, если она отправлена без защиты. У Алисы и Боба много замков, но у них их нет, а это значит, что их ключи не могут открыть чужие замки.
Как Алиса отправила алмаз Бобу?
[pic 1]
Рис. 1.1
В этом примере показаны идеи, лежащие в основе криптографии с открытым ключом, хотя на самом деле концепция немного отличается. В криптографии с открытым ключом. Алиса зашифровывает свое сообщение открытым ключом Боба, который может быть декодирован только закрытым ключом Боба.
В RSA открытый ключ генерируется умножением двух больших простых чисел ppp и qqq, а закрытый ключ генерируется другим процессом, включая ppp и qqq. Затем пользователь может распространять свой открытый ключ pqpqpq, и любой, кто хочет отправить сообщение пользователю, шифрует свое сообщение открытым ключом. В практических целях даже компьютеры не могут разбивать большие числа на произведение двух простых чисел, поэтому практически невозможно разбить число, подобное 414863, вручную. Однако умножение двух чисел намного проще, поэтому потенциальную факторизацию можно быстро проверить, как показывает следующая проблема с множественным выбором:
...