Побудова симетричних систем шифрування і дослідження особливостей сучасних шифрів (Лабораторна робота № 2)

Страницы работы

Содержание работы

Лабораторна робота №2

Побудова симетричних систем шифрування і дослідження особливостей сучасних шифрів

1 Мета роботи.

Вивчити особливості сучасних блокових симетричних шифрів. Вивчити режими застосування симетричних шифрів для забезпечення конфіденційності даних. Одержати практичні навики по побудові систем забезпечення конфіденційності даних.

2 Методичні вказівки для самостійної роботи.

При підготовці до лабораторної роботи необхідно:

-  повторити вимоги до симетричних блочних шифрів;

-  повторити алгоритми за шифрування, розшифрування та розгортання ключів, що реалізовані в стандарті DES;

-  вивчити особливості сучасних блокових симетричних шифрів;

-  вивчити особливості, достоїнства і недоліки режимів застосування блокових симетричних шифрів.

3 Теоретичні відомості

3.1 Алгоритм шифрування ГОСТ 28147-89

Алгоритм ГОСТ 28147-89 - це алгоритм криптографічного перетворення даних, призначений для апаратної або програмної реалізації, який задовольняє криптографічним вимогам і не накладає обмеженням на ступінь таємності інформації, що захищається.

В алгоритмі ГОСТ 28147-89 передбачені 4 режими шифрування.

1.  Режим простої заміни може використовуватися тільки для шифрування ключових даних.

2.  Режим гамування застосовується для потокового шифрування без автентифікації.

3.  Режим гамування зі зворотним зв'язком використовується для потокового шифрування з автентифікацією .

4.  Режим виробки імітовставки використовується для автентифікації інформації і може застосовуватися разом з кожним з режимів шифрування.

 Математичний опис алгоритмів шифрування та  дешифрування.

В алгоритмі ГОСТ 28147-89 використовуються наступні елементарні криптографічні перетворення:

·  підстановка 4-розрядних векторів;

·  перестановка 32-розрядних векторів;

·  додавання за модулем 2;

·  додавання за модулем  232;

·  додавання за модулем  232-1.

В алгоритмі використовується сеансовий ключ X і довгостроковий ключ K. Ключ X має довжину 256 біт і може бути представлений у виді вектора з 8 32-розрядних слів X(7)X(6)...X(0). Ключ K складається з 8 таблиць підстановок K(1), K(2), … , K(8), кожна з яких задає 4-бітову підстановку.

При описі алгоритму будемо використовувати наступні позначення.

Якщо L і R - послідовності біт, то їхню конкатенацію будемо позначати через LR.

Символом Å позначається побітове додавання за модулем 2. Символом [+] позначається додавання за  модулем 232:

                                      (1)

Символом {+} позначається додавання  за модулем 232-1:

                               (2)

 Робота алгоритму ГОСТ 28147-89 у режимі простої заміни.

Відкриті дані T, які підлягають шифруванню, розбиваються на блоки T(k) довжиною 64 біти. Послідовність бітів T(k) розділяється на 2 послідовності A(0) та B(0) довжиною 32 біти. потім виконується ітеративний процес шифрування, який описується формулами:

A(i) = fш(A(i-1) [+] X(j) ) Å B(i-1);

                                            B(i) = A(i-1);                          (3)

для i = ; j = (i-1) mod 8;

A(i) = fш(A(i-1) [+] X(j) ) Å B(i-1);

                                            B(i) = A(i-1);                          (4)

для i = ; j = 32-i;

A(32) = A(31);

                         B(32) = fш(A(31) [+] X(0) ) Å B(31);       (5)

для i = 32;

де i - номер ітерації; fш - функція шифрування.

64 - розрядний блок зашифрованих даних Ш(k) представляється у вигляді:

                                      Ш(k) = A(32)B(32) .                    (6)

Рис. 1 Схема алгоритму ГОСТ у режимі простої заміни

Функція шифрування fш включає дві операції (мал. 9). Перша операція - підстановка. Блок підстановки К складається з 8 вузлів заміни К(1),...,К(8) з пам'яттю 64 біт кожний. 32-розрядний вектор, що надходить на блок підстановки, розбивається на 8 4-розрядних векторів, кожний з який перетвориться в інший 4-розрядний вектор відповідним вузлом заміни, що представляє собою таблицю з 16 цілих чисел у діапазоні 0..15. Ключ підстановки є довгостроковим.

Друга операція - циклічне зсув вліво 32-розрядного вектора, отриманого в результаті підстановки К.

Функція шифрування

Рис. 2

Процес дешифрування в режимі простої заміни здійснюється за формулами:

                                        A(0) B(0) = Ш (k)                      (7)

A(i) = fш(A(i-1) [+] X(j) ) Å B(i-1);

                                            B(i) = A(i-1);                          (8)

для i = ; j = i-1;

A(i) = fш(A(i-1) [+] X(j) ) Å B(i-1);

                                            B(i) = A(i-1);                          (9)

для i = ; j = (32-i) mod 8;

A(32) = A(31);

                         B(32) = fш(A(31) [+] X(0) ) Å B(31);     (10)

для i = 32;

де i - номер ітерації.

                                       Т(k) = A(32)B(32) .                   (11)

 Робота алгоритму ГОСТ 28147-89 в режимі гамування

Відкриті данні T, які підлягають шифруванню, розбиваються на блоки T(j) довжиною 64 бітів.

Рівняння шифрування даних може бути представлене в наступному вигляді:

                       Г(i) = A(Y(i-1) [+] C2, Z(i-1) {+} C1 ) ,   (12)

                                       Ш(i) = Г(i) Å T(i) ,                    (13)

де Ш(i) - 64-розрядний блок зашифрованого тексту;

А - функція шифрування в режимі простої заміни;

С1 и С2 - константи: C1 = 01010101h, C2 = 01010104h;

Y(i) и Z(i) - 32-розрядні числа, які визначаються ітеративно за формулами:

                                      (Y(0), Z(0)) = A(S) ,                   (14)

(Y(i), Z(i)) = (Y(i-1) [+] C2, Z(i-1) {+} C1 ),                  (15)

де S - 64-розрядна сінхропосилка.

Похожие материалы

Информация о работе