- •Загальні вказівки до виконання лабораторних робіт
- •Лабораторна робота №1 основні методи захисту інформації
- •1 Основні теоретичні відомості
- •1.1 Симетричніі криптосистеми
- •1.1.1 Шифри перестановки
- •1.1.2 Шифри простої заміни
- •1.1.3 Шифри складної заміни
- •1.1.4 Шифр багатоалфавітної заміни
- •1.2 Асиметричні криптосистеми. Схема шифрування Ель Гамаля
- •1.1 Принципи аутентифікації
- •1.1.5 Гамірування
- •1.2 Виконання аутентифікації користувачів засобами керування сеансом у рнр
- •1.2.1 Запуск сеансу
- •1.2.2 Реєстрація змінних сеансу
- •1.2.3 Використання змінних сеансу
- •1.2.4 Скасування реєстрації змінних і завершення сеансу
- •1.1 Атаки на пароль
- •1.2 Проблема вибору пароля
- •1.3 Порядок роботи із програмами розкриття паролів.
- •1.4 Робота із програмами злому на прикладі azpr
- •2 Порядок виконання роботи
- •2.1 Проведення атаки перебором (bruteforce attack)
- •2.2 Проведення атаки за словником (dictionary attack)
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 5 шифр віженера
- •1 Основні теоретичні відомості
- •1.1 Шифр Віженера і його варіанти
- •«Йфрдряйгєня ігсорф».
- •1.2 Криптоаналіз
- •2 Порядок виконання роботи
- •Контрольні запитання
- •Лабораторна робота № 6 блочний шифр tea
- •1 Основні теоретичні відомості
- •1.1 Мережа Фейштеля
- •1.2 Основи алгоритму
- •1.3 Опис схеми алгоритму
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 7 дослідження криптоалгоритму шифрування rsa
- •1 Основні теоретичні відомості
- •1.1 Алгоритм rsa
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 8 дослідження електронного цифрового підпису (ецп) rsa
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •2.1 Визначення відкритого «e» і секретного «d» ключів (Дії відправника)
- •2.2 Формування ецп
- •2.3 Аутентифікація повідомлення - перевірка автентичності підпису
- •3 Контрольні запитання
- •Лабораторна робота № 9 вивчення криптоалгоритму шифрування ель гамаля
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •Визначення відкритого “y” і секретного “X” ключів
- •Контрольні запитання
- •Лабораторна робота № 10 вивчення електронного цифрового підпису (ецп) ель гамаля
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •3 Контрольні запитання
- •Перелік рекомендованих джерел
2 Порядок виконання роботи
1 Розробити алгоритм для кодування та написати програму кодування з ключем k[0]-k[3] (використання 4-х ключів обумовлено тим, що для кодування другої половини даних (Z) використовуються ключі k[2] та k[3] для підвищення стійкості криптоалгоритму кодування), для даних, що знаходяться в z, y.
Параметри:
довжина ключа - 128 біт
кількість ітерацій – 16 (кожна ітерація включає в себе 2 раунди).
2 На основі алгоритму кодування розробити алгоритм для декодування та написати програму декодування даних на будь-якій із мов програмування.
Порядок виконання роботи відповідає наведеній нижче криптосистемі шифрування даних за схемою RSA.
Схема алгоритму шифрування даних RSA
1 Визначення відкритого «е» і секретного «d» ключів
1. 1 Вибір двох взаємно простих великих чисел р і q 1.2 Означення їх добутку: n = р * q 1.3 Означення функції Ейлера: (n) = (p - 1) (q - 1) 1.4 Вибір відкритого ключа е із врахуванням умов:
1 < е ≤ (n) , НОД (е, (n)) = 1
1.5 Означення секретного ключа d, який задовільняє умову
е * d ≡ 1 (mod (n)), де d < n
2 Алгоритм шифрування повідомлення М (дії відправника)
2.1 Розбиває вихідний текст повідомлення на блоки М1, М2 ,..., Мn
(Мі = 0,1,2 ,..., n)
2.2 Шифрує текст повідомлення у вигляді послідовності блоків:
2.3
Відправляємо
одержувачу криптограму: С1,
С2,
... Сn
2.4
Одержувач
розшифровує криптограму за допомогою
секретного ключа
d
за
формулою:
3 Процедуру шифрування даних розглянемо на наступному прикладі (для простоти і зручності розрахунків в даному прикладі використані числа малої розрядності):
3.1 Вибираємо два простих числа р і q, р = 3, q = 11;
3.2 Визначаємо їх добуток (модуль) n = p * q = 33;
3.3 Обчислюємо значення функції Ейлера (n) = (p - 1) (q -1)
(n) = 2 * 10 = 20
3.4 Вибираємо довільним чином відкритий ключ з урахуванням виконання умов 1<е ≤ (n) і НОД (е, (n)) = 1, е = 7;
3.5 Обчислюємо значення секретного ключа d, який задовільняє умову
е * d ≡ 1 (mod (п)), 7 * d ≡ 1 (mod 20); d = 3;
3.6 Відправляємо одержувачу пару чисел (п = 33, е = 7);
Виражаємо шифроване повідомлення М як послідовність цілих чисел 312.
3.7 Розіб’ємо вихідне повідомлення на блоки М1 = 3, М2 = 1, М3 = 2;
3.8 Шифруємо текст повідомлення, який поданий у вигляді послідовності блоків:
С1 = 37 (mod 33) = 2187 (mod 33) = 9,
С2 = 17 (mod 33) =1 (mod 33) =1,
С3 = 27 (mod 33) = 128 (mod 33) =2 9.
3.9 Відправляємо криптограму С1 = 9, С2 = 1, С3 = 29.
3.10 Одержувач розшифровує криптограму за допомогою секретного ключа d за формулою:
М1 = 93 (mod 33) = 729 (mod 33) = 3,
М2 = 13 (mod 33) =1 (mod 33) = 1,
М3 = 293 (mod 33) = 24389 (mod 33) = 2.
Отримана послідовність чисел 312 є вихідним повідомлення М.
3 Контрольні питання
1 Який криптоалгоритм називається fсиметричним?
2 Що таке асиметричний криптоалгоритм і яка його відмінність від симетричного?
3 До якого типу відноситься алгоритм RSA?
4 Які операції використовуються для шифрування в алгоритмі TEA?
5 Як розшифровується слово RSA?
6 Як здійснюється кодування даних за допомогою RSA алгоритму?
