Міністерство освіти і науки, молоді та спорту України
Вінницький національний технічний університет
Інститут менеджменту
Кафедра АІМ
РОЗРОБКА ПРОГРАМИ РЕАЛІЗАЦІЇ ЗАДАЧІ КОНКРЕТНОГО КРИПТОГРАФІЧНОГО ПЕРЕТВОРЕННЯ
Пояснювальна записка
з дисципліни «Криптографія та криптоаналіз» до курсової роботи
за спеціальністю 6.170103 «Управління інформаційною безпекою»
08-42.КГКА.002.00.000 ПЗ
Керівник курсової роботи
к.т.н., доц. Яремчук Ю.Є. _
(прізвище та ініціали)
__________________________
(підпис)
«___» ____________2011р.
Розробила студентка гр. УБ-09
Паращук Світлана Валеріївна
(підпис, прізвище та ініціали)
«___» ____________2011 р.
Вінниця 2011
АНОТАЦІЯ
В даній курсовій роботі проведено короткий аналіз різних видів криптографічних систем. Розглянуто та досліджено криптографічний алгоритм шифрування DES, його різні режими шифрування, а саме режим ECB. Згідно даного стандарту розроблено програму, що шифрує та дешифрує будь-який файл, з заданим ключем за даним алгоритмом. Було розглянуто основи статистичного тестування криптографічний алгоритмів, показано методи їх проведення та прийняття результатів. Зокрема, було розглянуто статистичний тест Лемпеля-Зіва, та показано його практичне застосування, використовуючи пакет статистичних тестів NIST.
ЗМІСТ
ВСТУП 5
1 АНАЛІЗ СУЧАСНИХ КРИПТОГРАФІЧНИХ МЕТОДІВ ЗАХИСТУ ІНФОРМАЦІЇ 6
1.1 Симетричні криптосистеми 7
1.2 Асиметричні криптосистеми 8
1.3 Потокові шифри 10
1.4 Блокові шифри 12
2 АНАЛІТИЧНО-РОЗРАХУНКОВА ЧАСТИНА 16
2.1 Аналіз алгоритму блокового шифрування DES 16
2.2 Механізм дії S-блоків та формування ключа 17
2.3 Режим роботи ECB (Електронна Кодова Книга) 18
3 РОЗРОБКА АЛГОРИТМУ ТА ПРОГРАМНОЇ РЕАЛІЗАЦІЇ СИМЕТРИЧНОГО БЛОКОВОГО ШИФРУ DES 20
3.1 Реалізація роботи алгоритму 20
3.2 Практичне застосування розробленого програмного продукту 21
4 СТАТИСТИЧНИЙ ТЕСТ КРИПТОАЛГОРИТМУ 23
4.1 Основи статистичного тестування крипто алгоритмів 23
4.2 Аналіз проходження статистичних тестів 24
4.3 Тест на основі стискання Лемпеля-Зіва 25
ВИСНОВКИ 27
ПЕРЕЛІК ПОСИЛАНЬ 28
ДОДАТКИ
Додаток A. Схема перетворення повідомлення……………………………….……….. 30
Додаток Б. Функція розширення…………………………………….………………………….30
Додаток В. Лістинг головної програми…………………………………………..…………..32
ВСТУП
Історія криптографії налічує тисячі років, багато головних принципів сучасної криптографії відомо, можливо, з доісторичних часів, проте, істотний прогрес в теорії шифрування був досягнутий лише відносно недавно, у зв'язку з розробкою сучасної теорії інформації.
З метою забезпечення конфіденційності інформації використовують особливий вид перетворень, який має назву «шифрування». Шифрування має на меті приховати змістовну та статистичну залежність між частинами вхідного повідомлення. Саме тому з розвитком електронних обчислювальних машин та засобів їх взаємодії також розвивалися методи та засоби збереження конфіденційності інформації, які мають вигляд криптографічних програм, що виконують шифрування даних.
Криптографія повинна забезпечувати такий рівень таємності, щоб можна було надійно захистити критичну інформацію від розшифровки великими організаціями: такими як мафія, транснаціональні корпорації та великі держави. Дійсна криптографія в минулому використовувалася лише у військових цілях. Однак зараз, зі становленням інформаційного суспільства, вона стає центральним інструментом для забезпечення конфіденційності.
Тому криптографія стає одним з основних інструментів, що забезпечують конфіденційність, довіру, авторизацію, електронні платежі, корпоративну безпеку і безліч інших важливих речей.
АНАЛІЗ СУЧАСНИХ КРИПТОГРАФІЧНИХ МЕТОДІВ ЗАХИСТУ ІНФОРМАЦІЇ
Криптологія як наука виникла в середині 19-го ст. (термін “криптологія” походить від грецьких коренів, що означають “таємний” і “слово”, та використовується для позначення всієї області секретного зв’язку) [1].
Мистецтво і наука захисту повідомлень за допомогою створення шифрів називається криптографією, а спеціалісти, які займаються нею – криптографами.
Криптоаналітиками називають людей, що постійно використовують криптоаналіз – мистецтво і науку зламувати шифртекст, тобто розкривати, що знаходиться під маскою.
Саме повідомлення називається відкритим текстом. Зміна виду повідомлення таким чином, щоб приховати його суть називається шифруванням.
Шифроване повідомлення називається шифртекстом. Процес перетворення шифртексту у відкритий текст називається дешифруванням.
Позначимо відкритий текст як М (від англійського «message» – повідомлення). Для комп'ютера М - це просто двійкові дані. Відкритий текст може бути створений для зберігання або передачі. У будь-якому випадку, М - це повідомлення, яке повинне бути зашифроване.
Позначимо шифртекст буквою C (від англійського «ciphertext»). Це теж двійкові дані, іноді того ж розміру, що і М, а іноді більше. Функція шифрування Е, оперуючи з М, створює С. В математичній формі це буде мати вигляд [2]: