- •Програмна реалізація основних сервісів безпеки методичні вказівки
- •6.050103 "Програмна інженерія"
- •Лабораторна робота № 1 створення генератора псевдовипадкових чисел
- •Теоретичні відомості
- •Завдання до виконання роботи
- •Контрольні запитання
- •Лабораторна робота № 2 створення програмного засобу для забезпечення цілісності інформації
- •Теоретичні відомості
- •Завдання до виконання роботи
- •Завдання до виконання роботи
- •Контрольні запитання.
- •Лабораторна робота № 4 створення програмної реалізації алгоритму шифрування з відкритим ключем rsa з використанням microsoft cryptoapi
- •Теоретичні відомості.
- •Завдання до виконання роботи
- •Контрольні запитання.
- •Лабораторна робота № 5 створення програмного засобу для цифрового підпису інформації з використанням microsoft cryptoapi
- •Теоретичні відомості.
- •Завдання до виконання роботи
- •Контрольні запитання.
- •Список літератури
- •Програмна реалізація основних сервісів безпеки методичні вказівки
- •6.050103 "Програмна інженерія"
Завдання до виконання роботи
Згідно до варіанту, наведеного в таблиці, створити прикладну програму для шифрування інформації за алгоритмом RC5.
Програма повинна отримувати від користувача парольну фразу і, на її основі, шифрувати файли довільного розміру, а результат зберігати у вигляді файлу з можливістю подальшого дешифрування (при введенні тієї самої парольної фрази).
Для перетворення парольної фрази у ключ шифрування використати алгоритм MD5, реалізований в лабораторній роботі № 2 – ключем шифрування повинен бути хеш парольної фрази. Якщо згідно варіанту довжина ключа становить 64 біти, беруться молодші 64 біти хешу; якщо довжина ключа повинна бути 256 бітів, то хеш парольної фрази стає старшими 128 бітами, а молодшими є хеш від старших 128 бітів (тобто, позначивши парольну фразу через P, отримаємо K=H(H(P))||H(P)).
Для забезпечення можливості роботи створеного програмного продукту з відкритим текстом довільної довжини, програмну реалізацію здійснити в режимі RC5-CBC-Pad. В якості вектора ініціалізації (IV) використати генератор псевдовипадкових чисел, реалізований в лабораторній роботі № 1. Для кожного нового шифрованого повідомлення слід генерувати новий вектор ініціалізації. Вектор ініціалізації зашифровується в режимі ECB і зберігається в першому блоці зашифрованого файлу.
У звіті навести протокол роботи програми та зробити висновки про поєднання різних криптографічних примітивів для задач захисту інформації.
Варіанти для виконання лабораторної роботи:
№ варіанту |
Довжина слова (w), біт |
Кількість раундів (r) |
Довжина ключа (b), байт |
|
|
16 |
8 |
16 |
|
|
32 |
12 |
16 |
|
|
64 |
16 |
32 |
|
|
16 |
20 |
16 |
|
|
32 |
8 |
32 |
|
|
64 |
12 |
8 |
|
|
16 |
16 |
8 |
|
|
32 |
20 |
16 |
|
|
64 |
8 |
32 |
|
|
16 |
12 |
16 |
|
|
32 |
16 |
8 |
|
|
64 |
20 |
16 |
|
|
16 |
8 |
32 |
|
|
32 |
12 |
32 |
|
|
64 |
16 |
16 |
|
|
16 |
20 |
8 |
|
|
32 |
8 |
8 |
|
|
64 |
12 |
16 |
|
|
16 |
16 |
32 |
|
|
32 |
20 |
32 |
|
|
64 |
8 |
16 |
|
|
16 |
12 |
8 |
|
|
32 |
16 |
32 |
|
|
64 |
20 |
8 |
|
|
16 |
8 |
8 |
Контрольні запитання.
Для яких задач використовуються алгоритми симетричного шифрування?
Якими параметрами визначається алгоритм RC5?
Яка довжина ключа шифрування алгоритму RC5?
Які елементарні операції використовуються в алгоритмі RC5?
Які операції є нелінійними функціями алгоритму шифрування RC5?
Які режими роботи передбачені для алгоритму шифрування RC5?
Який режим роботи алгоритму RC5 слід використати якщо довжина шифрованого тексту повинна дорівнювати довжині довільного відкритого тексту?
