- •Мета I завдання курсової роботи
- •1. Тематика курсових робіт
- •1.1. Вибір теми курсової роботи
- •1.2. Приклади тем курсових робіт
- •4.1. Основні етапи виконання курсової роботи
- •2. Вимоги до курсової роботи
- •2.1. Оформлення курсової роботи
- •2.2. Вимоги до розробки програми
- •З. Захист курсової роботи
- •4. Приклад типової курсової роботи
- •Розробка і опис алгоритму розв’язання задачі.
- •Кафедра прикладної математики Курсова робота
- •1. Шифрування - метод захисту інформації
- •2. Класифікація алгоритмів шифрування
- •2.1 Класифікація алгоритмів
- •2.2. Симетричні потокові алгоритми шифрування
- •2.3. Симетричні, блокові алгоритми шифрування
- •2.4. Асиметричні алгоритми шифрування
- •3. Реалізація алгоритмів шифрування
- •4. Текст програми
- •5. Інструкція користувача
- •6. Тестовий приклад
- •Висновки
- •Література
- •Література
2. Класифікація алгоритмів шифрування
2.1 Класифікація алгоритмів
Симетричні (із секретним, єдиним ключем, одноключові, single-key).
1.1. Потокові (шифрування потоку даних):
з одноразовим чи нескінченним ключем (infinite-key cipher);
зі скінченним ключем (система Вернама - Vernam);
на основі генератора псевдовипадкових чисел (ПВЧ).
1.2. Блокові (шифрування даних поблочно): 1.2.1. Шифри перестановки (permutation, P-блоки); 1.2.2. Шифри заміни (підстановки, substitution, S-блоки):
моноалфавітні (код Цезаря);
поліалфавітні (шифр Видженера, циліндр Джефферсона, диск Уетстоуна);
6
1.2.3. Складені шифри:
Lucipher (фірма IBM, США);
DES (Data Encryption Standard, США);
FEAL-1 (Fast Enciphering Algoritm, Японія);
IDEA/IPES (International Data Encryption Algorithm, Improved Proposed Encryption Standard, фірма Ascom-Tech AG, Швейцарія);
B-Crypt (фірма British Telecom, Великобританія).
2. Асиметричні (з відкритим ключем, public-key):
Діффі-Хеллман DH (Diffie, Hellman);
Райвест-Шамір-Адлеман RSA (Rivest, Shamir, Adleman);
Эль-Гамаль (ElGamal).
Крім того, є поділ алгоритмів шифрування на власне шифри (ciphers) і коди (codes). Шифри працюють з окремими бітами, буквами, символами. Коди оперують лінгвістичними елементами (склади, слова, фрази).
2.2. Симетричні потокові алгоритми шифрування
Симетричні алгоритми шифрування базуються на тому, що відправник і одержувач інформації використовують той самий ключ. Цей ключ повинен зберігатися в таємниці і передаватися способом, що виключає його перехоплення.
У потокових шифрах, тобто при шифруванні потоку даних, кожен біт вихідної інформації шифрується незалежно від інших за допомогою гамування.
Гамування - накладення на відкриті дані гами шифру (випадкової чи псевдовипадкової послідовності одиниць і нулів) за визначеним правилом. Звичайно використовується "виключаюче ЧИ", назване також додаванням по модулю 2 і реалізоване в програмах асемблера командою XOR. Для розшифровування та ж гама накладається на зашифровані дані.
При однократному використанні випадкової гами однакового розміру з зашифровуваними даними злам коду неможливий (так звані криптосистеми з одноразовим чи нескінченним ключем). У даному випадку "нескінченний" означає, що гама не повторюється.
У деяких потокових шифрах ключ коротший повідомлення. Так, у системі Вернама для телеграфу використовується паперове кільце, що містить гаму. Звичайно, стійкість такого шифру не ідеальна.
Найчастіше використовують гаму, одержувану за допомогою генератора псевдовипадкових чисел (ПВЧ). У цьому випадку ключ – це число (початкове значення, вектор ініціалізації) для запуску генератора ПВЧ. Кожен генератор ПВЧ має період, після якого послідовність повторюється. Очевидно, що період псевдовипадкової гами повинний перевищувати довжину інформації, що
7
зашифровується. Генератор ПВЧ вважається коректним, якщо спостереження фрагментів його виходу не дозволяє відновити всю послідовність при відомому алгоритмі, але невідомому початковому значенні.
При використанні генератора ПВЧ можливі кілька варіантів:
1. Побітове шифрування потоку даних. Цифровий ключ використовується як початкове значення генератора ПВЧ, а вихідний потік бітів сумується по модулю 2 з вихідною інформацією. У таких системах відсутня властивість поширення помилок.
Побітове шифрування потоку даних зі зворотним зв'язком (ЗЗ) по шифртексту. Така система аналогічна попередній, за винятком того, що шифртекст повертається як параметр у генератор ПВЧ. Характерна властивість поширення помилок. Область поширення помилки залежить від структури генератора ПВЧ.
Побітове шифрування потоку даних із ЗЗ по вихідному тексті. Базою генератора ПВЧ є вихідна інформація. Характерна властивість необмеженого поширення помилки.
Побітове шифрування потоку даних із ЗЗ по шифртексті і по вихідному тексті.
