Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
"Оренбургский государственный университет"
Факультет информационных технологий
Кафедра программного обеспечения вычислительной техники и автоматизированных систем
ОГУ 230105.65.4014.062 О
Курсовой проект
Программная система "Обеспечение безопасности электронного документооборота"
Руководитель
Цыганков А.С.
Исполнитель
студент группы з-10ПОВТ(у)
Майборода З.П.
Оренбург 2014
Содержание
Введение
. Постановка задачи
. Теоретические предпосылки
2.1 Алгоритм RSA
2.1 Ассиметричные алгоритмы
. Руководство пользователя
Заключение
Список использованных источников
Приложение А
Введение
Целью данной курсовой работы являлось написание программной системы, формирующей виртуальные защищенные каналы передачи данных, на языке программирования C# при помощи программного средства Visual Studio 2010. Написание программной системы осуществлялось с использованием классов т.д.
Задачами данной курсовой работы являлось повторение и закрепление полученных знаний, приобретенных во время занятий по дисциплине "Методы и средства защиты информации".
1. Постановка задачи
Разработать программное средство, осуществляющее шифрование электронных документов ассиметричным методом.
Программа должны выполнять следующие функции:
.Генерация ключей для метода RSA, с сохранением в файл.
Размер ключа 32 бита (p и q, integer p и q берем длиной 32 бита).
Верхний порог генерации - 232
Нижний порог генерации - 231
Число длиной 32 бита
е - произвольно (3, 17…)
.Шифрование файлов.
С помощью сгенерированных ранее ключей, с сохранением в файл (на форме показывать не надо, просто в новый файл).
.Расшифрование с сохранением в файл.
Если ключ неправильный, то программа должна выдать зашифрованное.
. Теоретические предпосылки
.1 Алгоритм RSA
Алгоритм RSA стоит у истоков асимметричной криптографии. Он был предложен тремя исследователями-математиками Рональдом Ривестом (R. Rivest), Ади Шамиром (A. Shamir) и Леонардом Адльманом (L. Adleman) в 1977-78 годах.
Первым этапом любого асимметричного алгоритма является создание пары ключей: открытого и закрытого и распространение открытого ключа "по всему миру". Для алгоритма RSA этап создания ключей состоит из следующих операций:
1Выбираются два простых (!) числа p и q.
2Вычисляется их произведение n(=p*q).
Выбирается произвольное число e (e<n), такое, что НОД(e, (p-1)(q-1))=1, то есть e должно быть взаимно простым с числом (p-1)(q-1).
Методом Евклида решается в целых числах (!) уравнение e*d+(p-1)(q-1)*y=1. Здесь неизвестными являются переменные d и y - метод Евклида как раз и находит множество пар (d, y), каждая из которых является решением уравнения в целых числах.
Два числа (e, n) - публикуются как открытый ключ.
Число d хранится в строжайшем секрете - это и есть закрытый ключ, который позволит читать все послания, зашифрованные с помощью пары чисел (e, n).
Как же производится собственно шифрование с помощью этих чисел:
Отправитель разбивает свое сообщение на блоки, равные k=[log2(n)] бит, где квадратные скобки обозначают взятие целой части от дробного числа.
Подобный блок, как Вы знаете, может быть интерпретирован как число из диапазона (0; 2k-1). Для каждого такого числа (назовем его mi) вычисляется выражение ci=((mi)e)mod n. Блоки ci и есть зашифрованное сообщение Их можно спокойно передавать по открытому каналу, поскольку операция возведения в степень по модулю простого числа, является необратимой математической задачей. Обратная ей задача носит название "логарифмирование в конечном поле" и является на несколько порядков более сложной задачей. То есть даже если злоумышленник знает числа e и n, то по ci прочесть исходные сообщения mi он не может никак, кроме как полным перебором mi.
А вот на приемной стороне процесс дешифрования все же возможен, и поможет нам в этом хранимое в секрете число d. Достаточно давно была доказана теорема Эйлера, частный случай которой утверждает, что если число n представимо в виде двух простых чисел p и q, то для любого x имеет место равенство (x(p-1)(q-1))mod n =1. Для дешифрования RSA-сообщений воспользуемся этой формулой. Возведем обе ее части в степень (-y):
Предметы
Актуальные Курсовые работы (Теория) по программному обеспечению, программированию