блему розтину алгоритмів до вирішення однієї з вищеперелічених математичних головоломок.
Найпоширенішим алгоритмом асиметричного шифрування є алгоритм RSA, названий за першими літерами імен його творців (Rivest, Shamir, Adleman). Розробником даного алгоритму вдалося ефективно втілити ідею односторонніх функцій з секретом. Стійкість RSA базується на складності факторизації великих цілих чисел.
Алгоритм Евкліда знаходження найбільшого спільного дільника грунтується на наступній теоремі (наводимо без доведення).
Для будь-якого невід'ємного числа X і будь-якого позитивного числа Y справедливо наступне:
gcd (X, Y)=gcd (Y, X mod Y),
де X gt; Y gt; 0.
Щоб визначити найбільший спільний дільник, наведене вище рівність (1) необхідно використовувати багаторазово (до отримання значення Y=0). Нижче наводиться розкрита запис
(X, Y)=gcd (Y, X mod Y)=gcd (Y, X - (лX/Yи - ціле приватне) ґ Y)).
. Керівництво користувача
Для запуску серверного додатку програми необхідно запустити файл RSA.exe .
У вікні можна виконати наступні дії:
· Згенерувати числа
· Зберегти і завантажити з файлу
· Зашифрувати
· Розшифрувати
Малюнок 2 - Головне вікно
Для генерації числа потрібно натиснути Генерувати raquo ;. Відбудеться генерація ключів методом RSA із збереженням у файл.
При натискання на кнопку Зашифрувати і Розшифрувати з'являється вікно, де потрібно відкрити файл раніше згенерований і збережений.
Малюнок 3 - Шифрування файлу
Висновок
У ході проробленої курсової роботи була написана програмна система, що формує віртуальні захищені канали передачі даних, на мові програмування C # за допомогою програмного засобу Visual Studio 2010. Написання програмної системи здійснювалося з використанням класів т.д.
Під час виконання розрахунково-графічного завдання було здійснено закріплення і повтор теоретичних і практичних знань, отриманих на заняттях, при вивченні дисципліни Методи і засоби захисту інформації .
Список використаних джерел
1. Троелсен Е. С # і платформа .NET. Бібліотека програміста.- СПб .: Питер, 2004. - 796 с .: ил.
. Фаронов В.В. Програмування на мові C # - СПб .: Питер, 2007. - 240 с .: ил.
3. Селентьева І.В. Програмування на мові високого рівня, С # 2001 - 460 с.
4. Вільямс Книга C # 3.0: керівництво для початківців Герберт Шилдт 2005 - 330 с.
5. СТО 02069024.101-2010. Стандарт організації. Роботи студентські. Загальні вимоги та правила оформлення. Режим доступу: # justify gt ;. Орлов С.А. Технологія розробки програмного забезпечення.- Спб .: Питер, 2002 - 464 с.
. Пауерс Л. Microsoft Visual Studio +2010/Л. Пауерс, М. Снелл: Пер. з англ.- СПб .: БХВ-Петербург, 2010. - 1200 с .: ил.
. Ліберті, Д .: Програмування на C # .- Пер. з англ ..- СПб: Символ-Плюс, 2003. - 688с.
. Петцольд Ч. Програмування для Microsoft Windows на C #. У 2-х томах, Том 1-2.- Пер. з англ.- М: Видавничо-торговий дім Російська редакція raquo ;, 2002
. Марченко А.Л. Основи програмування на C # 2.0 - М .: Інтернет-університет інформаційних технологій - ІНТУІТ.ру, БИНОМ. Лабораторія знань - 2007 - 552 стор.
Додаток А
(обов'язковий)
Текст програми
Unit1.cpp
# include lt; vcl.h gt;
# include lt; math.h gt;
# include lt; stdio.h gt;
# include lt; io.h gt;
# include lt; time.h gt;
# pragma hdrstop
# include Unit1.h
# include RSAutil.h
//---------------------------------------------------------------------------
# pragma package (smart_init)
# pragma resource *. dfm * Form1;
//---------------------------------------------------------------------------
__ fastcall TForm1 :: TForm1 (TComponent * Owner)
: TForm (Owner)