
- •Індивідуальне завдання
- •Анотація
- •Розробка криптопротоколу
- •Узагальнений опис криптопротоколу
- •Алгоритм блокового шифрування rc6
- •Алгоритм формування підключів
- •Алгоритм зашифрування даних
- •Розробка детального алгоритму реалізації криптопротоколу
- •Аналіз криптопротоколу
- •Постулати і правила ban-логіки
- •Аналіз криптопротоколу з використанням ban-логіки
- •РoЗробка структури спеціалізованого процесора
- •Визначення набору функцій, що реалізує спеціалізований процесор
- •Розробка структурної схеми спеціалізованого процесора
- •Визначення технічних характеристик спеціалізованого процесора
- •Розробка програми
- •Розробка структури програми
- •Результати тестування програми
- •Висновки
- •Список використаних джерел
- •Функція зашифрування
- •Функція розшифрування
- •Функція зняття мітки часу
-
Розробка програми
-
Розробка структури програми
-
Необхідно розробити програму для реалізації протоколу односторонньої автентифікації з використанням міток часу та алгоритму блокового шифрування RC6. Зазначимо основні необхідні пункти та модулі, що мають бути у розробленій програмі[5].
Необхідно розробити програмний модуль, який би виконував операцію зашифрування вхідного повідомлення, використовуючи при цьому заданий ключ. При цьому потрібно врахувати, що ці дані можуть мати різну довжину, оскільки шифр RC6 відноситься до шифрів з нефіксованою довжиною ключа. Представимо фрагмент коду в якому генерується повідомлення:
void COneRandomSerpentDlg::OnButtonMakemes()
{
m_Edit_AM="";
for(int i=0;i<8;i++)
if(tstr[i])m_Edit_AM+=tstr[i];
else m_Edit_AM+=0x01;
ui64_to_char(GIDB,tstr);
for(i=0;i<8;i++)
if(tstr[i])m_Edit_AM+=tstr[i];
else m_Edit_AM+=0x01;
for(i=0;i<16;i++)
realopenmes[i]=m_Edit_AM[i];
realopenmes[i]=0x00;
m_CBut_MakeMessage.EnableWindow(0);
m_CBut_EnCrypt.EnableWindow();
UpdateData(0);
}
Для того щоб згенерувати мітку часу використовуємо окремих два файла TIME1.EXE та TIME.DAT. Виконуваний файл ТІМЕ1.ЕХЕ зчитує час та дату, а TIME.DAT потрібен для того, щоб ТІМЕ1.ЕХЕ міг знімати мітки часу при переході на інший комп’ютер. Програмна реалізація наведена в додатку С.
За зашифрування даного повідомлення відповідає функція CryptByRC6(mes, key, 20), де mes – згенероване повідомлення, key – ключ, 20 – кількість повторень основного циклу (Додаток А). Процес розшифрування викликається функцією DecryptByRC6(mes, key, 20) (Додаток Б). Побудуємо блок-схему, яка покаже алгоритм роботи додатку(рис. 5).
Рисунок 5 – Блок-схема алгоритму роботи програми
-
Результати тестування програми
Розроблена програма має зручний для користувача інтерфейс. Вигляд вікна програми до початку виконання протоколу наведений на рис. 6.
Рисунок 6 – Початковий вигляд вікна програми
При завантаженні додатку зразу генеруються Ідентифікатор сторони В та ключ. При необхідності ці данні можна змінити натиснувши на кнопку New. Всі дії виконуються покроково. Починаючи з генерування мітки часу і закінчуючи автентифікацією.
Генеруємо мітку часу і формуємо повідомлення. Потім зашифровуємо дане повідомлення і відправляємо стороні В. Далі сторона В розшифровує вхідне повідомлення, отримуючи свою мітку часу, мітку часу сторони А та ідентифікатор. Далі натисненням на кнопку Автентифікація виведеться повідомлення про проходження чи не проходження автентифікації (рис.7, 8).
Рисунок 7 – Вигляд вікна з успішним завершенням автентифікації
Рисунок 8 – Вигляд вікна з невдалим проведенням автентифікації
Таким чином розроблений програмний продукт може бути використаний, як навчальний матеріал, направлений на краще засвоєння протоколу односторонньої автентифікації з використанням міток часу та блокового шифру RC6.
Висновки
При виконанні курсової роботи було вивчено роботу протоколу односторонньої автентифікації з використанням міток часу та блокового шифру RC6. Було здійснено аналіз цього криптопротоколу за допомогою BAN-логіки та розроблено спеціалізований процесор для реалізації криптопротоколу. Для розробленого процесора було розраховано такі технічні характеристики як час реалізації криптопротоколу (в умовних одиницях) та складність апаратури для обчислень (в умовних одиницях).
Розроблена програма наочно демонструє принцип роботи протоколу односторонньої автентифікації з використанням міток часу, дозволяє покрокове виконання всього процесу автентифікації.