Учбово-методичний посібник для виконання лабораторних робіт з дисципліни „Основи теорії криптографії і криптоаналізу”, страница 33

Режим "Зчеплення блоків шифру"

У цьому режимі вхідний файл М розбивається на 64-бітові блоки: М=M1M2...Mn. Перший блок M1 складається по модулю 2 з 64-бітовим початковим вектором (IV), що міняється щодня і тримається в секреті. Отримана сума потім шифрується з використанням ключа DES. Отриманий 64-бітовий шифр C1 складається по модулю 2 із другим блоком тексту, результат шифрується і виходить другий 64-бітовий шифр С2, і т.д. Процедура повторюється доти, поки не будуть оброблені всі блоки тексту. Таким чином, для всіх i = 1...n (n – число блоків) результат шифрування Ci визначається в такий спосіб: Сi=DES(Mi xor Сi-1), де С0=IV-початкове значення шифру, що дорівнює початковому вектору ініціалізації. Очевидно, що останній 64-бітовий блок шифртексту є функцією секретного ключа, початкового вектора і кожного біта відкритого тексту незалежно від його довжини. Цей блок шифртексту називають кодом аутентифікації повідомлення (КАП). Код КАП може бути легко перевірений одержувачем, що володіє секретним ключем і початковим вектором, шляхом повторення процедури, виконаної відправником. Перевага даного режиму в тому, що він не дозволяє накопичуватися помилкам при передачі. Блок М, є функцією тільки Сi-1 і Ci. Тому помилка при передачі приведе до втрати тільки двох блоків вихідного тексту [6].

Режим "Зворотний зв'язок за шифром"

У цьому режимі розмір блоку може відрізнятися від 64 біт. Файл, що підлягає шифруванню, зчитується послідовними блоками довжиною k бітів k=1...64). Вхідний блок (64-бітовий) спочатку містить вектор ініціалізації, вирівняний по правому краю. Припустимо, що в результаті розбивання на блоки ми одержали n блоків довжиною k бітів кожний (залишок дописується нулями чи пробілами). Тоді для будь-якого i=1...n блок шифртексту Сi=Mi xor Pi-1, де Pi-1 позначає k старших бітів попереднього зашифрованого блоку. Ці k старших бітів , що вже використані при шифруванні відкидуються і вхідний блок зрушується на k бітів. Для відновлення зашифрованих даних Pi-1 і Сi, відкритий текст обчислюється аналогічним чином Мii xor Pi-1.[6]

Режим "Зворотний зв'язок по виходу"

Цей режим теж використовує змінний розмір блоку і регістр зруху, ініціалізуємий так само, як у режимі СРВ, а саме – вхідний блок спочатку містить вектор ініціалізації IV, вирівняний по правому краю. При цьому, для кожного сеансу шифрування даних необхідно використовувати новий початковий стан регістра, що повинний пересилатися по каналу відкритим текстом. Покладемо М = M1 М2... Мn. Для всіх i = 1... n Сii xor Рi , де Рi – старші k бітів операції DES (Ci-1). На відміну від режиму зворотного зв'язку по шифру, відновлення регістра зруху здійснюється шляхом відкидання старших k бітів і дописування праворуч рi [4].

Порядок виконання лабораторної роботи.

1.  Вивчити схему шифрування алгоритмом DES

2.  В додатку №1 вибрати ключ та відкритий текст відповідно до номеру студента в журналі.

3.  Зашифрувати поданий текст алгоритмом DES вручну.

4.  Скласти звіт, у який включити початкові дані, опис послідовності дій шифрування, кінцевий результат і відповіді на контрольні запитання.

Контрольні питання

1.  Накреслити і пояснити структуру алгоритму шифрування-розшифрування DES

2.  Пояснити принцип обчислення функції шифрування f (функції розширення, перетворення і перестановки).

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

4.  Зв'язок матриць перестановки IP і IP-1. Варіанти матриць.

5.  Пояснити режим роботи “електронна кодова книга” алгоритму DES.

6.  Пояснити режим CBC алгоритму DES.

7.  Пояснити режим CFB алгоритму DES.

8.  Пояснити режим OBC алгоритму DES.


2.6.  Лабораторна робота №6. Стандарт криптографічного перетворення даних ГОСТ 28147-89.

Тема роботи: Стандарт криптографічного перетворення даних ГОСТ 28147-89.

Ціль роботи: Відпрацювати шифрування алгоритмом ГОСТ 28147-89. Усвідомити сильні сторони в застосуванні даного методу шифрування.

Загальні відомості.

Стандарт криптографічного перетворення даних ГОСТ 28147-89 рекомендований до використання для захисту будь-яких даних, у вигляді бінарного коду. Даний стандарт формувався з урахуванням світового досвіду, і зокрема, при його розробці були прийняті до уваги недоліки алгоритму DES. Стандарт досить складний, тому приведемо лише його концептуальний опис.[17]

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

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

Всі алгоритми ГОСТ спираються на три алгоритми нижчого рівня (вони називаються в тексті ГОСТ циклами). Вони мають наступні назви і позначення:

·  цикл шифрування;

·  цикл розшифрування;

·  цикл вироблення імітовставки.

В свою чергу, кожний з базових циклів є багаторазовим повторенням єдиної процедури (далі основний крок крипто­перетворення).

Перш ніж перейти до вивчення структури алгоритму, необхідно розібрати відомості про ключову інформацію, що використовується алгоритмами ГОСТ. Відповідно до принципу Кірхгофа (якому задовольняють усі сучасні, відомі широкій громадськості шифри) саме таємність ключа забезпечує криптостійкість зашифрованого повідомлення. У ГОСТ ключова інформація складається з двох структур даних. Крім власне ключа, необхідного для всіх шифрів, вона містить ще і таблицю замін. Нижче приведені основні характеристики ключових структур ГОСТ.

1.  Ключ є масивом з восьми 32-бітних елементів коду, далі він позначається символом:. У ГОСТ елементи ключа використовуються як 32-розрядні цілі числа без знака: . Таким чином, розмір ключа складає 32·8=256 біт (чи 32 байти)[6].

2.  Таблиця замін є матрицею 8´16, що містить 4-бітові елементи, які можна представити у вигляді цілих чисел від 0 до 15. Рядки таблиці замін називаються вузлами замін, вони повинні містити різні значення, тобто кожен вузол замін повинен містити 16 різних чисел від 0 до 15 у довільному порядку. Таблиця замін позначається символом H: . Таким чином, загальний обсяг таблиці замін дорівнює: 8 вузлів (16 елементів/вузол ( 4 біти/елемент = 512 біт (чи 64 байта).