Розробка програми захисту інформації від несанкціонованого доступу на базі алгоритму шифрування

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство освіти і науки України
ПОЯСНЮВАЛЬНА ЗАПИСКА
до курсового проекту
На тему "Розробка програми захисту інформації
від несанкціонованого доступу на базі алгоритму
шифрування методом відкритого ключа "
з дисципліни "Кодування та захист інформації"
2003

ЗМІСТ
Введення
1. Короткий огляд алгоритмів захисту інформації
2. Постановка завдання з розробки програми
3. Вхідні дані
4. Вихідні дані
5. Опис алгоритму програми
6. Опис методу шифрування з відкритим ключем
7. Опис алгоритму асиметричного шифрування методу з відкритим ключем RSA
8. Структура програми
9. Тестування програми і аналіз обчислювального експерименту
10. Опис інтерфейсу програми
Висновок
Бібліографічний список
Додаток

ВСТУП
У даному документі описується програма, написана у відповідності з постановкою завдання на курсове проектування за темою "Захист інформації від несанкціонованого доступу на базі алгоритму шифрування методом відкритого ключа" з дисципліни "Кодування та захист інформації". Дана програма дозволяє зашифрувати вихідне повідомлення одним з найбільш часто використовуваних типів асиметричних методів шифрування з відкритим ключем - методом RSA. Вхідними даними є:
при зашифрованих - символи текстового файлу c розширенням txt.
при расшифровании - символи текстового файлу c розширенням rsr.
Вихідними даними є:
при зашифрованих - текстовий файл c розширенням rsr, що містить символи вихідного файлу, перетворені за певним алгоритмом.
При расшифровании - отримуємо текстовий файл, що містить вихідні символи.
Для перевірки роботи програми розроблений тестовий приклад. Результати тестування доводять, що програма правильно виконує всі операції по обробці вхідних даних і формування вихідних даних.
Вимогою до апаратного і програмного забезпечення є наявність будь-якого IBM-сумісного комп'ютера з наявністю накопичувача на гнучких і (або) жорстких магнітних дисках і наявністю достатньої кількості оперативної пам'яті (досить 640К). На комп'ютері повинна бути встановлена ​​операційна система Windows'95 (або вище) або будь-яка інша, сумісна з нею.
Примітка. У силу того, що дана програма є навчальною і курсовий проект передбачає розробку та реалізацію тільки самої ідеї (суті) алгоритму, а не створення сверхнадежной системи захисту інформації, числа p і q, використовувані для утворення ключів, мають по три десяткових знака.

1. КОРОТКИЙ ОГЛЯД АЛГОРИТМІВ ЗАХИСТУ
ІНФОРМАЦІЇ
Симетричні методи шифрування
Довгий час традиційної криптографічного схемою була схема з симетричним ключем [symmetric key, dual key]. У цій схемі є один ключ, який бере участь в шифруванні та дешифрування інформації. Шифруюча процедура за допомогою ключа виробляє ряд дій над вихідними даними, що дешифрує процедура за допомогою того ж ключа виробляє зворотні дії над кодом. Дешифрування коду без ключа передбачається практично нездійсненним. Якщо зашифрована таким чином інформація передається по звичайному, тобто незахищеному, каналу зв'язку, один і той же ключ повинен бути у відправника і одержувача, внаслідок чого виникає необхідність у додатковому захищеному каналу для передачі ключа, підвищується вразливість системи і збільшуються організаційні труднощі.
Шифрування за допомогою датчика псевдовипадкових чисел
До класу алгоритмів з симетричним ключем належить метод "одноразового блокнота" [one-time pad], що полягає в побітове складення ("гамування") шіфруемого тексту з випадковою послідовністю бітів - ключем (див. [S94]). Довжина ключа повинна збігатися з довжиною шіфруемого тексту і кожен відрізок ключа повинен використовуватися одноразово, в іншому випадку текст легко піддається несанкціонованої розшифровці. При виконанні ж цих умов даний метод є єдиним методом, теоретично стійким проти криптоаналізу противника з необмеженими обчислювальними ресурсами. Незважаючи на це, в даний час метод "одноразового блокнота" практично не застосовується через організаційні складнощі, пов'язаних з генерацією, передачею і зберіганням використовуваних в ньому наддовгих ключів.
Алгоритм шифрування DES
Іншим прикладом схеми з симетричним ключем може служити алгоритм DES (Data Encryption Standard), прийнятий 23 листопада 1976 р . в якості офіційного криптографічного стандарту США для захисту некритичною [unclassified] інформації (див. [S94], с.219-243). У стандарт було включено положення про обов'язкову ресертифікації (перегляді) алгоритму кожні п'ять років; остання така ресертифікація відбулася в 1992 р . На думку експертів, у зв'язку з певними успіхами в криптоаналіз DES і появою нових методів шифрування з симетричним ключем, алгоритм може не бути ресертіфіцірован на наступний п'ятирічний термін. Тим не менш, DES як і раніше вважається криптографічно стійким алгоритмом і залишається найпоширенішою схемою шифрування з симетричним ключем.
Алгоритм шифрування ГОСТ 28147-89
Російський стандарт на криптографію з симетричним ключем визначений ГОСТ 28147-89 "Системи обробки інформації. Захист криптографічний. Алгоритм криптографічного перетворення ", який був введений в дію 1 липня 1990 р . На відміну від DES, стандарт містить вказівку на те, що він "за своїми можливостями не накладає обмежень на ступінь секретності інформації, що захищається". У загальних рисах алгоритм ГОСТ 28147 аналогічний DES, але є ряд істотних відмінностей, як, наприклад, довжина ключа і трактування вмісту вузлів заміни [у схемі DES званих "S-boxes"]. У той час, як заповнення вузлів заміни DES оптимізовано з точки зору криптографічного стійкості і явно зазначено в стандарті, заповнення вузлів заміни ГОСТ 28147 "є секретним елементом і поставляється в установленому порядку". Враховуючи, що воно в той же час "є довгостроковим ключовим елементом, загальним для мережі ЕОМ", і що "встановлений порядок" поставки може не передбачати криптографічну оптимізацію, цей пункт стандарту представляється одним з його слабких місць, ускладнює реалізацію і не сприяє криптографічної стійкості . Однак при завданні оптимізованих значень для вузлів заміни криптографічна стійкість алгоритму порівнянна зі стійкістю DES.
Асиметричні методи шифрування
У 1976 р . У. Діффі та М. Хеллманом [DH76] було запропоновано новий тип криптографічного системи - система з відкритим ключем [public key cryptosystem]. У схемі з відкритим ключем є два ключі, відкритий [public] і секретний [private, secret], обрані таким чином, що їх послідовне застосування до масиву даних залишає цей масив без змін. Шифруюча процедура використовує відкритий ключ, що дешифрує - секретний. Дешифрування коду без знання секретного ключа практично нездійсненно; зокрема, практично нерозв'язна задача обчислення секретного ключа за відомим відкритому ключу. Основна перевага криптографії з відкритим ключем - спрощений механізм обміну ключами. При здійсненні комунікації по каналу зв'язку передається тільки відкритий ключ, що робить можливим використання для цієї мети звичайного каналу і усуває потребу в спеціальному захищеному каналу для передачі ключа.

Система RSA
У 1978 р . Р. Ривест, А. Шамір і Л. Адлеман [RSA78] створили першу криптосистему з відкритим ключем для шифрування і цифрового підпису, що отримала назву RSA (за першими літерами прізвищ авторів). Система описується в термінах елементарної теорії чисел. Її надійність обумовлюється практично нерозв'язною завдання розкладання великого натурального числа на прості множники. Сучасний стан алгоритмів факторизації (розкладання на множники) дозволяє вирішувати цю задачу для чисел довжиною до 430 біт; виходячи з цього, ключ завдовжки в 512 біт вважається надійним для захисту даних на термін до 10 років, а в 1024 біта - безумовно надійним. Довжина підпису в системі RSA збігається з довжиною ключа.
Незважаючи на те, що відсутня математично доведене зведення задачі розкриття RSA до задачі розкладання на множники, а також завдання розкладання на множники до класу NP-повних задач, система витримала випробування практикою і є визнаним стандартом de-facto в промисловій криптографії, а також офіційним стандартом ряду міжнародних організацій. З іншого боку, вільне розповсюдження програмного забезпечення, заснованого на RSA, обмежене тим, що алгоритм RSA захищений у США поруч патентів.
Проект DSS
У 1991 р . в США був опублікований проект федерального стандарту цифрового підпису - DSS (Digital Signature Standard, [DSS91], див. також [S94], с.304-314), що описує систему цифрового підпису DSA (Digital Signature Algorithm). Одним з основних критеріїв при створенні проекту була його патентна чистота.
Пропонований алгоритм DSA, має, як і RSA, теоретико-числовий характер, і заснований на криптографічній системі Ель-Гамаля [E85] у варіанті Шнорр [S89]. Його надійність заснована на практичній нерозв'язності певного окремого випадку задачі обчислення дискретного логарифма. Сучасні методи вирішення цієї задачі мають приблизно ту ж саму ефективність, що і методи розв'язання задачі факторизації; у зв'язку з цим пропонується використовувати ключі довжиною від 512 до 1024 біт з тими ж характеристиками надійності, що і в системі RSA. Довжина підпису в системі DSA менше, ніж в RSA, і становить 320 біт.
З моменту опублікування проект отримав багато критичних відгуків (див., напр., [R92]), багато з яких були враховані при його доопрацюванні. Одним з головних аргументів проти DSA є те, що, на відміну від загальної задачі обчислення дискретного логарифма, її окремий випадок, використаний у даній схемі, мало вивчений і, можливо, має істотно меншу складність розкриття. Крім того, стандарт не специфікує спосіб отримання псевдовипадкових чисел, використовуваних при формуванні цифрового підпису, і не вказує на те, що цей елемент алгоритму є одним з найбільш критичних за криптографічної стійкості.
Функції DSA обмежені тільки цифровим підписом, система принципово не призначена для шифрування даних. По швидкодії система DSA порівнянна з RSA при формуванні підпису, але істотно (в 10-40 разів) поступається їй при перевірці підпису.
Разом з проектом DSS опубліковано проект стандарту SHS (Secure Hash Standard), що описує односпрямовану хеш-функцію SHA (Secure Hash Algorithm), рекомендовану для використання разом з DSA (див. [S94], с.333-336). Хеш-функція SHA є модифікацією алгоритму MD4, добре відомого в криптографічного літературі.

Російський стандарт цифрового підпису
У 1993 р . в Росії було видано два державних стандарти "Процедури вироблення і перевірки електронного цифрового підпису на базі асиметричного криптографічного алгоритму" і "Функція хешування", під загальним заголовком "Інформаційна технологія. Криптографічний захист інформації ".
Стандарт "Процедури вироблення і перевірки електронного цифрового підпису ..." багато в чому схожий зі своїм американським аналогом DSS. Для формування і перевірки цифрового підпису в ньому використовується той же алгоритм Ель-Гамаля і Шнорр, що і в DSS, з незначними модифікаціями. Є дві альтернативні довжини ключа, 512 і 1024 біт; довжина підпису становить 512 біт.
Для генерації ключів запропоновано ряд нових алгоритмів. Ключі, одержувані за допомогою цих алгоритмів, мають спеціальний вигляд, що потенційно може спростити завдання розтину системи в порівнянні з DSS. Критика DSS, пов'язана з недостатньо розробленим теоретичним обгрунтуванням алгоритму, у разі російського стандарту кілька пом'якшується тим, що елемент ключа q вибирається більш довгим, ніж у DSA. Критика, пов'язана з відсутністю специфікації на спосіб отримання псевдовипадкових чисел, залишається в силі.
Як і DSS, російський стандарт визначає тільки алгоритм цифрового підпису, але не шифрування. Швидкодія обох алгоритмів приблизно збігається.
Стандарт "Функція хешування" призначений для використання разом зі стандартом "Процедури вироблення і перевірки цифрового підпису" і являє собою оригінальний алгоритм, заснований на методі шифрування з симетричним ключем ГОСТ 28147. Стандарт не містить криптографічного обгрунтування обраного алгоритму і не коригує ГОСТ 28147 в частині заповнення вузлів заміни.
Незважаючи на зазначені недоліки, система, описана в російському стандарті, застосовна в багатьох областях, особливо для комерційних додатків.

2. ПОСТАНОВКА ЗАВДАННЯ З РОЗРОБКИ ПРОГРАМИ
Потрібно написати програму, що здійснює:
зашифрування змісту вихідного текстового файлу c розширенням txt з отриманням текстового файлу з розширенням rsr, символи якого є символами вихідного файлу, перетвореними за алгоритмом шифрування методом відкритого ключа (система RSA).
розшифрування змісту текстового файлу з розширенням rsr за алгоритмом шифрування методом відкритого ключа з отриманням текстового файлу, символи якого є символами вихідного текстового файлу.

3. ВХІДНІ ДАНІ
Вхідними даними при зашифруванні є символи вихідного текстового файлу. Вхідні дані передаються в програму при відкритті файлу з допомогою пункту меню File \ Open File.
Вхідними даними при расшифровании є символи текстового файлу з розширенням rsr. Вхідні дані передаються в програму при відкритті файлу з допомогою пункту меню File \ Open Shfile.
Для тестування програми використовується файл TestFile.txt (див. пункт - тестування програми), що знаходиться на дискеті у папці Test.

4. ВИХІДНІ ДАНІ
Вихідними даними при зашифруванні є символи отриманого текстового файлу з розширенням rsr. Вихідними даними при расшифровании є символи отриманого текстового файлу з розширенням txt. Символи вихідного файлу утворюються після проходження арифметичної частини алгоритму програми кодовими значеннями символів вихідного текстового файлу.
Зашифрування і розшифрування (одержання вихідних даних) здійснюється шляхом вибору пунктів меню Edit \ Encrypt File і Edit \ Decrypt File відповідно. При зашифруванні або расшифровании необхідно в обов'язковому порядку вибрати пункт меню Edit / Generation Key для генерації відкритого та закритого ключів, на підставі яких і буде відбуватися перетворення символів вихідного файлу в зашифрований тест і назад.

5. ОПИС АЛГОРИТМУ ПРОГРАМИ
Алгоритм програми полягає в наступному:
при відкритті файлу код кожного символу запам'ятовується в целочисленном масиві;
відповідно до введених користувачем значеннями p і q (або значеннями, що використовуються за замовчуванням) обчислюються і / або підбираються значення всіх інших чисел, що беруть участь у формуванні ключа і формулах за-і розшифрування;
формуються відкритий і закритий ключі;
масив вихідних даних відповідно до формулами за-і розшифрування перетворюється в масив вихідних даних;
кожне значення масиву вихідних даних перекладається на символ згідно таблиці кодувань ANSI.
Як вже говорилося вище, надійність обумовлюється практично нерозв'язною завдання розкладання великого натурального числа на прості множники. Відповідно з'являється і складність у реалізації алгоритму роботи з великими числами. У даній програмі дана проблема вирішується методом послідовного піднесення до квадрату. Після кожного зведення в квадрат результат зводиться по модулю n. При цьому ніколи не виникає ступенів більше n2.
Більш докладно: розглянемо двійкове подання r
k
r = xj2j, xj = 0,1; k = [log2 r] +1
j = 0
Припустимо, що ми знаємо всі числа
(A2, mod n), 0 <= j <= k,
тоді (ar, mod n) може бути обчислено допомогою не більше k-1 творів і зведенням кожного твору за модулем n. Таким чином, досить обчислити числа, які вимагають k модульних зведення в квадрат і додатково не більше k -1 модульних творів. Це означає, що обчислюється не більше 2k - 1 творів з обома множниками, меншими, ніж n, і зведенням творів за модулем n. Якщо r є великим і відомо m, то r може бути спочатку взято по модулю
Приміром, обчислюючи (783, mod 61), помічаємо, що 760 = 1 (mod61). Отже, ми можемо обчислити (723, mod 61). За допомогою зведення в квадрат ми отримуємо ступеня сімки, де показник в свою чергу є ступенем двійки.


j 0 1 2 3 4

72 ^ j 7 49 22 54 16
Так як 23 = 10 111, ми отримуємо бажаний результат наступним чином:
(723, mod 61) = (61 * (22 * (49 * 7)), mod 61) = 17.

6. ОПИС МЕТОДУ Шифрування з відкритим ключем
У 1976 р . У. Діффі та М. Хеллманом [DH76] було запропоновано новий тип криптографічного системи - система з відкритим ключем [public key cryptosystem]. У схемі з відкритим ключем є два ключі, відкритий [public] і секретний [private, secret], обрані таким чином, що їх послідовне застосування до масиву даних залишає цей масив без змін. Шифруюча процедура використовує відкритий ключ, що дешифрує - секретний. Дешифрування коду без знання секретного ключа практично нездійсненно; зокрема, практично нерозв'язна задача обчислення секретного ключа за відомим відкритому ключу. Основна перевага криптографії з відкритим ключем - спрощений механізм обміну ключами. При здійсненні комунікації по каналу зв'язку передається тільки відкритий ключ, що робить можливим використання для цієї мети звичайного каналу і усуває потребу в спеціальному захищеному каналу для передачі ключа.
З появою систем з відкритим ключем поняття про захист інформації, а разом з ним функції криптографії значно розширилися. Якщо раніше основним завданням криптографічних систем вважалося надійне шифрування інформації, в даний час область застосування криптографії включає також цифровий підпис (аутентифікацію), ліцензування, нотарізацію (засвідчення), розподілене керування, схеми голосування, електронні гроші та багато іншого (див. [BFS91], ч.7, [S94], ч.1). Найбільш поширені функції криптографічних систем з відкритим ключем - шифрування і цифровий підпис, причому роль цифрового підпису в останній час зросла в порівнянні з традиційним шифруванням: деякі з систем з відкритим ключем підтримують цифровий підпис, але не підтримують шифрування.
Цифровий підпис використовується для аутентифікації текстів, переданих по телекомунікаційних каналах. Вона аналогічний звичайному рукописному підпису і володіє її основними властивостями: засвідчує, що підписаний текст виходить саме від особи, яка його поставила, і не дає самому цій особі можливості відмовитися від зобов'язань, пов'язаних з підписаним текстом. Цифровий підпис являє собою невелику кількість додаткової інформації, переданої разом з підписується текстом. На відміну від шифрування, при формуванні підпису використовується таємний ключ, а під час перевірки - відкритий.
Через особливості алгоритмів, що лежать в основі систем з відкритим ключем, їх швидкодію при обробці одиничного блоку інформації звичайно в десятки разів менше, ніж швидкодію систем з симетричним ключем на блоці тієї ж довжини. Для підвищення ефективності систем з відкритим ключем часто застосовуються змішані методи, що реалізують криптографічні алгоритми обох типів. При шифруванні інформації вибирається випадковий симетричний ключ, викликається алгоритм з симетричним ключем для шифрування вихідного тексту. а потім система з відкритим ключем для шифрування симетричного ключа. За комунікаційному каналу передається текст, зашифрований симетричним ключем, і симетричний ключ, зашифрований відкритим ключем. Для розшифровки дії проводяться у зворотному порядку: спочатку за допомогою секретного ключа одержувача розшифровується симетричний ключ, а потім за допомогою симетричного ключа - отриманий по каналу зашифрований текст. Для формування електронного підпису по підписує текст обчислюється його односпрямована хеш-функція (дайджест) [one-way hash function, digest], що представляє собою один короткий блок інформації, що характеризує весь текст в цілому, завдання відновлення тексту за його хеш-функції або підбору іншого тексту, що має ту ж хеш-функцію, практично нерозв'язна. При безпосередньому формуванні підпису, замість шифрування секретним ключем кожного блоку тексту секретний ключ застосовується тільки до хеш-функції; по каналу передається сам текст і сформована підпис хеш-функції. Для перевірки підпису знову обчислюється хеш-функція від отриманого по каналу тексту, після чого за допомогою відкритого ключа перевіряється, що підпис відповідає саме даному значенню хеш-функції. Алгоритми обчислення односпрямованих хеш-функцій, як правило, логічно тісно пов'язані з алгоритмами шифрування з симетричним ключем.
Описані гібридні методи шифрування і цифрового підпису поєднують в собі ефективність алгоритмів з симетричним ключем і властивість незалежності від додаткових секретних каналів для передачі ключів, притаманне алгоритмів з відкритим ключем. Криптографічна стійкість конкретного гібридного методу визначається стійкістю найслабшого ланки в ланцюзі, що складається з алгоритмів з симетричним і з відкритим ключем, вибраних для його реалізації.

7. ОПИС алгоритму асиметричного
МЕТОДУ Шифрування з відкритим ключем RSA
RSA (автори: Rivest, Shamir і Alderman) це система з відкритим ключем (public-key) призначена як для шифрування, так і для аутентифікації була розроблена в 1977 році. Вона заснована на труднощі розкладання дуже великих цілих чисел на прості множники.
RSA дуже повільний алгоритм. Для порівняння, на програмному рівні DES по менше мірою в 100 разів швидше RSA, на апаратній аж у 1,000-10,000 разів, залежно від виконання.
Алгоритм асиметричного методу шифрування з відкритим ключем RSA:
1. Беруться два дуже великих цілих числа P і Q і знаходяться N = PQ і M = (P-1) (Q-1)
2. Вибирається випадкове ціле число D, взаємно просте з M і обчислюється E = (1MODM) / D
3. Потім публікується D і N як відкритий ключ, E зберігається в таємниці.
4. Якщо S - повідомлення, довжина якого, обумовлена ​​за значенням виражається ним цілого числа, повинна бути в інтервалі (1, N), то воно перетворюється на шифровку зведенням до степеня D по модулю N і відправляється одержувачу C = SD MOD N
5. Отримувач повідомлення розшифровує його, звівши до рівня E (число E йому вже відомо) по модулю N, тому що S = CE MOD N.

8. СТРУКТУРА ПРОГРАМИ
Дана програма написана на мові Object Pascal у відповідності до принципів структурного програмування і являє собою набір процедур і функцій, які виконують певні дії основної програми, що здійснює синхронізацію процесу обробки даних і виклик відповідних функцій. Такий підхід до написання програм дозволяє з високим ступенем ефективності здійснювати їх налагодження, а також, змінювати їх функціональні можливості, так як в даному випадку за кожну операцію, виконувану програмою, відповідає відносно автономна підпрограма (процедура або функція).
Розглянута програма передбачає роботу в діалозі з користувачем. Для цього розроблена система меню і використана бібліотека Borland Delphi.
Основна програма являє собою три етапи: підготовка до роботи, сама робота і її завершення.
Алгоритм основної програми полягає в ініціалізації модулів програми і, в залежності від вибору користувача, управління передається однією з процедур або функцій, що знаходиться в певному модулі, або здійснюється вихід з програми. Всі функції працюють автономно і вимагають для роботи виклику основних модулів бібліотеки Borland Delphi.
Процедури з обробки даних вимагають попереднього введення вихідних даних з файлу.
Таким чином, з точки зору користувача програма являє собою виконуваний EXE файл і два модулі невеликого розміру. Для запуску програми використовується EXE файл, який діє під управлінням операційної системи Windows. Програмний інтерфейс програми представляє собою меню, з якого відбувається доступ до всіх процедур і функцій програми.
З точки зору програміста програмний продукт являє собою структуровану програму на мові Object Pascal, що зберігається в п'яти вихідних файлах, один з яких є головним і містить код ініціалізації модулів, а чотири інших є модулями, що містять основні процедури і функції, які виконують обчислення для перетворення символів. Таким чином, у текст програми, крім основних підпрограм управління процесом обробки інформації і створюють інтерфейс, входять наступні процедури і функції:
процедура обчислення n і m; в цій же процедурі знаходиться d - взаімнообратное число з m і обчислюється e;
функція для роботи з великими числами, тобто функція, що здійснює алгоритм послідовного зведення в квадрат, описаний вище (див. пункт 5);
функція зведення в ступінь (результат не повинен перевищувати значення 9 * 1018);
процедура зашифрування;
процедура розшифрування.
Решта процедури і функції, що використовуються в програмі, є стандартними процедурами і функціями бібліотеки мови Borland Delphi.

9. ТЕСТУВАННЯ ПРОГРАМИ І АНАЛІЗ ОБЧИСЛЮВАЛЬНОГО ЕКСПЕРИМЕНТУ
Для перевірки працездатності програми і правильності виконуваних програмою операцій був розроблений тестовий приклад. Тестовий приклад полягає в отриманні перетворених символів текстового файлу у відповідності з алгоритмом за-і розшифрування методом шифрування RSA.
Тестовий приклад є заздалегідь підготовлений файл вхідних даних з ім'ям TestFile.txt такого змісту (нижче представлена ​​частина файлу, оскільки описувати весь файл не має змісту):
Таблиця № 1. Оригінальний текст.
КОРИСНІ ПОРАДИ ПО РОБОТІ З КОМП'ЮТЕРОМ
версія 23 від 7.05.2000 (338 рад)
Підбірка рад, що стосуються Windows 95/98/NT, Word, Excel,
FAR, Інтернет, локальних мереж, антивірусного захисту, BIOS і
комп'ютерного "заліза".
Оформлено у вигляді Windows help-файлу і текстового файлу в
кодуванні DOS (CP-866) на випадок, якщо перестане
завантажуватися Windows. В останньому випадку за відсутності
програми Norton Commander, Dos Navigator, Volkov Commander
і т.п. подивитися текстовий файл можна, наприклад, за допомогою
стандартної команди:
more sovety.txt
Таким чином, після виконання операції зашифрування і збереження результату отримуємо текстовий файл Shifr.txt (це ім'я файлу за умовчанням при збереженні результату), вміст якого має приблизно такий вигляд:

Таблиця № 2. Зашифрований текст.
GD_ [ф + чЃц54P _чЃ) <_ [ДyчЃђ '_ GD_ [бќ4Vю! _ [Ђ'чЃ) <13_ [е ‰ GDEWU_ђ'чЃбќ_ [е ‰ `L__sџХ ‡ _њю, гzщ, Р0 Y Ь € K' ћ ~ Ѓ / Щn \ Ѓ/Р0ЩnЩnЩn ... _ Y Y_ ‡ ю, Ь € sџХ ‡ K'Ь € sџvЊ `L
__ `L__GDЬ € ЩXуoЬ € _њ> VEK ю, Ь € sџХ ‡ K'Ь € sџВC> VEKю, EKCќз гz? _ю, Щ,» M (? _TZJ; Ќ? _ ОY \ ОY_ ‡ Љ_Ь {ЂcВC »MZJgЋ
lВC _'Iaѓ_ю ... Ў% ВС `L__MW p_NВC 9_і, K'Х ‡ _њі, Х ‡ K'ВC {8Ь €> VEK {8k € І ,>~?_ ю, Х ‡ K'Х ‡ 0ВC EKі, K 'гzsџгz_њfўю, І, Ь € 0 5ЊEKз гzK'> ~ ВС zcвr'_кd гz `L__> VЬ € _ | Xk € CќK'Х ‡ _њі, Ь € _dЬ € _ѓ [_Х ‡ {8Х ‡ 5ЊEK_ѓЃ /` L__ `L___ [ЕWЬ € _њ_ {8Х ‡ І, Ь € sџ sџгzЩXХ ‡ »M (? _TlZJ; ќ? _%" ю ... Ў% № y ¶ _ЕWEK0 {8EK гz K'Х ‡> Vю, K'Ь € sџЬ € _dЬ € ЕWEK0 {8EK џ `L__> VЬ € ЩXгz_њЬ €
sџ> VХ ‡ $ x'_кd ... _љ__d ¶ __ ‡ = <= <vЊ І, EK ю, {8fўоNEK0ВC Х ‡ ю, {8гz | XХ ‡ _њХ ‡ ю, K'EKі, Х ‡ K '`L__5ЊEK_d_њfў [_EKK
'K € ю, щ, »M (? _TlZJ; Ќ? _Ѓ / Дy | XЬ € ю, {8Х ‡ ЩXі, Х ‡ _ ю, {8fўоN
EKХ ‡ | X_њгz Ь € K'ю, fўK'ю, K'sџгzгz `L__ | X_њЬ € _d_њEK_
_> ~ Ь {ZJgЋЕ'ZJ_T љ_ZJ # Ѓ # Ѓ-_Tlю ... gЋВC $ xZJ? _ Ь {-А € (? Ђ1-Е 'ZJgЋВC. ЏZJЎ% _) ZJА € љ_ZJ # Ѓ # Ѓ-_T ... gЋ ` L__гz K'Ѓ / | XЃ /
При зворотній процедурі, тобто процедурі розшифрування, отримані зашифровані дані, представлені в таблиці № 2 набувають первісний вигляд (таблиця № 1).

10. ОПИС ІНТЕРФЕЙСУ ПРОГРАМИ
Програма має зручний інтерфейс, що дозволяє працювати з нею користувачам будь-якого рівня. На малюнку 10.1 зображено початкове (стартове) вікно, призначене для введення імені користувача.


Малюнок 10.1 - початкове вікно
На малюнку 10.2 представлено основне вікно програми.

Малюнок 10.2 - основне вікно програми
Опис пунктів меню:
File \ Open File - відкриття незашифрованого файлу
File \ Open Shfile - відкриття зашифрованого файлу
File \ Save Result - збереження результату
File \ Reset - скидання установок програми в початкові
File \ Exit - вихід з програми
Edit \ Generation Key - генерація відкритого та закритого ключів, а також розрахунок всіх основних характеристик
Edit \ Encrypt File - зашифрування інформації
Edit \ Decrypt File - розшифрування інформації
Edit \ Information - перегляд інформації, тобто значень характеристик і ключів
Option \ Show All - відображення у списку файлів з поточної директорії файлів з будь-яким розширенням
Option \ Show Encrypted - відображення у списку файлів з поточної директорії файлів з розширенням rsr
Option \ Show Decrypted - відображення у списку файлів з поточної директорії файлів з розширенням txt
Option \ ANSI - переклад вмісту вікна перегляду в кодування ANSI (кодування Windows)
Option \ ASCII - переклад вмісту вікна перегляду в кодування ASCII (кодування DOS)
Option \ Show Hidden - показати / заховати приховані файли у списку файлів з поточної директорії
Option \ Show System - показати / заховати системні файли в списку файлів з поточної директорії
Help \ Contents - виклик вікна допомоги
Перебуваючи у програмі, користувач може дізнатися про об'єкт, розташованому на формі, направивши курсор миші на даний об'єкт. При цьому близько курсору миші з'явиться спливаюче меню з короткою інформацією про даний об'єкт, а більш повна інформація буде відображатися на інформаційній панелі, що знаходиться в нижній частині форми. У правій частині форми знаходиться комплекс для вибору і перегляду того чи файлу. Перегляд файлу здійснюється шляхом натискання на клавішу View; при цьому дані будуть відображатися у вікні перегляду інформації.
Користувач може використовувати числа p і q, що використовуються для генерації відкритого та закритого ключів, як призначені за замовчуванням (це числа 127 і 331), так і власні. Для запису власних значень необхідно переключити режим Encryption Options в положення Personal. При зворотному включенні в положення Corporate поточні значення чисел p і q губляться і їм присвоюються значення, призначені за замовчуванням.

ВИСНОВОК
Дана програма розроблена відповідно до постановкою завдання на курсове проектування по темі "Захисту інформації від несанкціонованого доступу на базі алгоритму шифрування методом відкритого ключа" З дисципліни "Кодування та захист інформації" (Кізі). При написанні програми використано методичні вказівки по курсовому проектуванню з дисципліни "Кізі". Інтерфейс програми зручний для використання. Вихідні дані представлені у вигляді текстового файлу. За своєю структурою програма добре організована, що дозволяє в разі потреби легко її модифікувати. Для перевірки працездатності програми і правильності обробки вхідних даних розроблено тестовий приклад. Тестування програми підтвердило, що програма правильно виконує обробку даних і видає вірні результати.
Все це свідчить про працездатність програми і дозволяє зробити висновок про придатність програми до використання її з метою шифрування даних.

СПИСОК
1. Саломана А. Криптографія з відкритим ключем. - Переклад з англ. Віхлянцева І.А. під ред. Андрєєва А.Є. і Болотова А.А.
2. Ляшенко І.М. Лінійне і нелінійне програмування - К.: Вищ. школа, 1975.-369с.
3. Н. Джаханом "Програмування на мові Паскаль": Москва 1988
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
65.1кб. | скачати


Схожі роботи:
Захист інформації від несанкціонованого доступу
Захист від несанкціонованого доступу
Захист даних від несанкціонованого доступу
Розробка алгоритму і програми для обчислення коефіцієнта оперативної готовності системи
Програмна реалізація криптографічного алгоритму шифрування з використанням відкритого тексту
Розробка комплексної системи захисту інформації
Розробка проекту комплексного захисту інформації
Розробка ефективних систем захисту інформації в автоматизованих системах
Алгоритми шифрування інформації
© Усі права захищені
написати до нас