Программа для реализации алгоритма шифрования с открытым ключом RSA
Изучение одного из наиболее известных криптографических алгоритмов с открытым ключом RSA с целью разработки программы безопасности обмена информацией и предоставления криптографических средств защиты обычным пользователям компьютера.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | доклад |
Язык | русский |
Дата добавления | 02.06.2010 |
Размер файла | 22,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Министерство образования и науки Автономной Республики Крым
Малая академия наук школьников Крыма «Искатель»
Секция информатики
Программа для реализации алгоритма шифрования
с открытым ключом RSA
Симферополь2010
Содержание
1.ЦЕЛИ РАБОТЫ
2. АУДИТОРИЯ
3. ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ
4. ОПИСАНИЕ RSA, МАТЕМАТИЧЕСКАЯ МОДЕЛЬ.
Алгоритм генерации ключей
Шифрование и дешифровка данных
Алгоритм решето Этатосфена
Алгоритм Евклида
5. СИСТЕМНЫЕ ТРЕБОВАНИЯ
6. СТРУКТУРА ФАЙЛОВ ПРОЕКТА
7. ИНТЕРФЕЙС ПРОГРАММЫ
Интерфейс программы
Screenshot'ы программы
СПИСОК ЛИТЕРАТУРЫ
ВЫВОДЫ
1.Цели работы
Изучить один из наиболее известных криптографических алгоритмов с открытым ключом RSA. Написать программу, реализующую этот алгоритм.
Безопасность обмена информацией. Предоставление криптографических средств защиты обычным пользователям PC.
2. Аудитория
Пользователи ПК, стремящиеся к передаче данных с сохранением секретности.
3.Используемые технологии
Данная работа писалась в объектно-ориентированной среде разработки Delphi 7.0. Справочная система разрабатывалась с применением программы Help & Manual 5.
4.Описание RSA, математическая модель
RSA относится к так называемым асимметричным алгоритмам, у которых ключ шифрования не совпадает с ключом дешифровки. Один из ключей доступен всем (так делается специально) и называется открытым ключом, другой хранится только у его хозяина и неизвестен никому другому. С помощью одного ключа можно производить операции только в одну сторону. Если сообщение зашифровано с помощью одного ключа, то расшифровать его можно только с помощью другого. Имея один из ключей невозможно (очень сложно) найти другой ключ, если разрядность ключа высока.
Алгоритм генерации ключей
1. Выбираются простые числа p и q. Для этого используется алгоритм решето Эратосфена (см. далее).
2. Вычисляется .
3. Вычисляется .
4. Выбирается число , взаимно простое с . Для этого используется алгоритм Евклида (см. далее).
5. Выбирается число так, чтобы .
Числа e и d являются ключами. Шифруемые данные необходимо разбить на блоки - числа от 0 до n - 1.
Шифрование и дешифровка данных производятся следующим образом:
· Шифрование .
· Дешифрование .
Следует также отметить, что ключи e и d равноправны, т.е. сообщение можно шифровать как ключом e, так и ключом d, при этом расшифровка должна быть произведена с помощью другого ключа.
Алгоритм решето Этатосфена
Для нахождения всех простых чисел не больше заданного числа n, следуя методу Эратосфена, нужно выполнить следующие шаги:
1. Выписать подряд все целые числа от двух до n (2, 3, 4, …, n).
2. Пусть переменная p изначально равна двум -- первому простому числу.
3. Вычеркнуть из списка все числа от 2p до n, делящиеся на p (то есть, числа 2p, 3p, 4p, …)
4. Найти первое не вычеркнутое число, большее чем p, и присвоить значению переменной p это число.
5. Повторять шаги 3 и 4 до тех пор, пока p не станет больше, чем n
6. Все не вычеркнутые числа в списке -- простые числа.
Алгоритм Евклида
1. Исходные числа a и b
2. Вычислить r - остаток от деления a на b.
3. Если r = 0, то b - искомое число (наибольший общий делитель), конец, если нет-- заменить пару чисел (a, b) парой (b, r), перейти к пункту 2.
При вычислении наибольшего общего делителя с помощью алгоритма Евклида будет выполнено не более 5 * p операций деления с остатком, где p -- количество цифр в десятичной записи меньшего из чисел a и b. На практике алгоритм работает очень быстро.
5.Системные требования
Программа предназначена для работы на компьютерах с операционной системой Windows 9x /XP/Vista. Предлагаемая программа «Шифратор файлов RSA» требует для своей работы ПК с тактовой частотой процессора 1,7 ГГц и 128 Мб ОЗУ. Рекомендуемые параметры CPU 3 ГГц и 1 Гб ОЗУ.
Программа тестировалась на компьютере AMD Athlon 2.21 ГГц, 2.00 ГБ ОЗУ.
Требуется установленная ОС Windows не ниже Windows 98.
6. Структура файлов проекта
Программа не требует инсталляции и дополнительных библиотек. Исполняемый файл и файл справки находятся в одной папке размером 438 Кб. Справочная система в виде *.HLP-файла.
D:\Шифратор файлов RSA.exe -- 600 Kb -- файл программы
help.hlp -- 84 Kb -- файл справочной системы
7.Интерфейс программы
Интерфейс программы
Интерфейс у программы стандартный однооконный, новое окно появляется только при вызове справочной системы. При разработке внешнего вида программы я исходил из соображений максимальной простоты и удобства. Шифратор работает со стандартными диалоговыми окнами Windows для открытия и сохранения файлов. При нажатии кнопки «Сгенерировать ключи», программа генерирует ключи для шифрования и дешифрования и выводит на экран чуть ниже этой кнопки. Чуть ниже находится строка состояния генерации ключей. В левой части окна посередине находится группа объектов, с помощью которых можно указать входной и выходной файл для шифрования или дешифрования. Ниже находятся два поля ввода, в которые вводятся ключи для шифрования или дешифрования. При нажатии кнопок «Вставить ключи» в эти поля ввода ключей копируются только что сгенерированные ключи. При нажатии кнопок «Зашифровать» или «Дешифровать» программа соответственно шифрует или дешифрует входной файл в выходной. Ниже находится строка шифрования или, соответственно, дешифрования. С помощью строки меню также можно выполнить эти действия. В правой части окна находится панель, на которой, во время шифрования или дешифрования, показывается посекундная скорость обработки файла (в килобайтах). Каждый элемент снабжен всплывающими подсказками. Справочная система приложения разрабатывалась в программе «Help & Manual 5».
Screenshot'ы программы
Список литературы
*Жельников «Криптография от папируса до компьютера»
*www.crypt.ru
Выводы
Выполнив эту работу, я в полностью достиг поставленной цели. Я изучил один из наиболее известных алгоритмов с открытым ключом -- алгоритм шифрования RSA и написал программу, реализующую этот алгоритм.
Подобные документы
Изучение основных методов и алгоритмов криптографии с открытым ключом и их практического использования. Анализ и практическое применение алгоритмов криптографии с открытым ключом: шифрование данных, конфиденциальность, генерация и управление ключами.
дипломная работа [1,2 M], добавлен 20.06.2011Обмен информации, защищенной от фальсификаций и незаконных пользователей. Распределение секретных ключей с помощью системы с открытым ключом. Разработка модулей системы генерации ключей и обмена конфиденциальной информацией для группы пользователей.
курсовая работа [2,0 M], добавлен 17.11.2011Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Описание алгоритма RSA: шифрование и дешифрование. Возможные атаки, способы взлома, обоснование и практическая реализация RSA.
курсовая работа [45,9 K], добавлен 24.12.2011Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009Основные программы стеганографии. Программно-аппаратные средства криптографической защиты информации с закрытым ключом. Требования к используемым криптографическим средствам за рубежом и в России. Отечественные системы шифрования с открытым ключом.
отчет по практике [64,6 K], добавлен 18.09.2013Актуальность и предыстория проблемы построения систем связи с открытым ключом. Алгоритм кодирования, перевода из десятичного числа в двоичное, быстрого возведения числа в степень, поиска взаимно простых чисел. Дешифрование сообщения по криптоалгоритму.
курсовая работа [140,3 K], добавлен 20.06.2017Изучение классических криптографических алгоритмов моноалфавитной подстановки и перестановки для защиты текстовой информации. Анализ частоты встречаемости символов в тексте для криптоанализа классических шифров. Сущность одноалфавитного метода шифрования.
лабораторная работа [2,8 M], добавлен 25.03.2015Алгоритмы и стандарты криптографических преобразований. Криптографические преобразования на основе специального программного обеспечения. Метод криптографических преобразований на основе жесткой логики. Аналоги модуля шифрования и дешифрования данных.
курсовая работа [971,6 K], добавлен 30.01.2018Появление шифров, история эволюции криптографии. Способ приложения знаний особенностей естественного текста для нужд шифрования. Критерии определения естественности. Способ построения алгоритмов симметричного шифрования. Криптосистема с открытым ключом.
реферат [452,2 K], добавлен 31.05.2013Исследование элементов эллиптических кривых, необходимых для реализации криптографических протоколов. Изучение алгоритмов арифметики точек эллиптической кривой и способов генерации кривых для криптографических алгоритмов. Описание алгоритмов шифрования.
курсовая работа [371,2 K], добавлен 07.08.2012