Программа для реализации алгоритма шифрования с открытым ключом 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 и написал программу, реализующую этот алгоритм.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.