Міністерство освіти і науки Російської Федерації
Федеральне державне бюджетне освітня установа
вищої професійної освіти
Оренбурзький державний університет
Факультет інформаційних технологій
Кафедра програмного забезпечення обчислювальної техніки і автоматизованих систем
ОГУ 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 роках.
Першим етапом будь-якого асиметричного алгоритму є створення пари ключів: відкритого і закритого і поширення відкритого ключа по всьому світу raquo ;. Для алгоритму RSA етап створення ключів складається з наступних операцій:
1 Вибираються два простих (!) числа p і q.
2 Обчислюється їх добуток n (= p * q).
Вибирається довільне число e (e lt; 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 і є зашифроване повідомлення Їх можна спокійно передавати по відкритому каналу, оскільки операція піднесення до степеня за модулем простого числа, є незворотною математич...