Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптографія.doc
Скачиваний:
38
Добавлен:
18.08.2019
Размер:
1.28 Mб
Скачать

19. Операції алгоритму des

Структура DES

Розглянемо спочатку шифрування, а потім дешифрування. Процес шифрування складається із двох перестановок ( P-Блоки) — вони називаються початкові й кінцеві перестановки, — і шістнадцяти раундів Файстеля.

Початкові й кінцеві перестановки

Кожна з перестановок ухвалює 64-бітовий вхід і переставляє його елементи за заданим правилом. Ці перестановки — прямі перестановки без ключів, які інверсні один одному. Наприклад, у початковій перестановці 58-й біт на вході переходить у перший біт на виході. Аналогічно, у кінцевій перестановці перший вхідний біт переходить в 58-й біт на виході. Інакше кажучи, якщо між цими двома перестановками не існує раунду, 58-й біт, що зробив на вхід обладнання початкової перестановки, буде доставлений на 58-й вихід фінальною перестановкою.

Функція DES

Основний блок DES — функція DES. Функція DES за допомогою 48-бітового ключа зашифровує 32 самих правих біт RI-1, щоб одержати на виході 32-бітове слово. Ця функція містить, як це показане на рис. 4, чотири секції: відбілювач (whitener), P-Блок розширення, групу S-Блоків і прямій P-Блок.

P-Блок розширення. Тому що вхід RI-1 має довжину 32 біта, а ключ KI — довжину 48 бітів, ми спочатку повинні розширити RI-1 до 48 біт. RI-1 розділяється на 9 секцій по 4 біта. Кожна секція на 4 біта розширюється до 6 біт. Ця перестановка розширення випливає по заздалегідь певних правилах. Для секції значення вхідних біт 1, 2, 3 і 4 привласнюються биткам 2, 3, 4 і 5 відповідно на виході. Вихідний біт 1 формується на основі вхідного біта 4 з попередньої секції; біт виходу 6 формується з біта 1 у наступній секції. Якщо секції 1 і 8 розглядати як сусідні секції, то ті ж самі правила застосовуються до биток 1 і 32. Рисунок 4 показує входи й виходи в перестановці розширення.

Шифр і зворотний шифр

Використовуючи змішувач і обладнання заміни, ми можемо створити шифр і зворотний шифр для кожного з 16-ти раундів. Шифр використовується на стороні шифрування; зворотний шифр — на стороні дешифрування. Алгоритми створення шифру й зворотного шифру аналогічні.

Перший спосіб

Один з методів, щоб досягти поставленої мети (шифрування й зворотне шифрування), полягає в тому, щоб зробити останній раунд одмінним від інших; він буде містити тільки змішувач і не буде містити обладнання заміни.

У першому методі останній раунд не має заміни.

Альтернативний спосіб

При першому способі раунд 16 відрізняється від інших раундів тим, що там не застосовується обладнання заміни. Це необхідно, щоб зробити останній і перший змішувачі в шифрі однаковими. Ми можемо робити всі 16 раундів однаковими, додаючи до 16-му раунду додаткове обладнання заміни (два обладнання заміни дозволяють нейтралізувати один одного).

Генерація ключів

Генератор ключів створює шістнадцять ключів по 48 бітів із ключа шифру на 56 бітів. Однак ключ шифру звичайно дається як ключ із 64-х бітів, у якім 8 додаткових бітів є бітами перевірки. Вони відкидаються перед фактичним процесом генерації ключів.

Видалення бітів перевірки

Попередній процес перед розширенням ключів — перестановка стиску, яку ми називаємо видаленням бітів перевірки. Він видаляє біти парності (біти 8, 16, 24, 32..., 64) з 64-бітового ключа й переставляє іншу частину бітів згідно з таблице 4. значення, що залишається, на 56 бітів — фактичний ключ шифру, який використовується, щоб генерувати ключі раунду. Біти віддаляються за допомогою перестановки ( P-Блоку стиску), як це показано в таблице 4.

Зрушення вліво

Після прямої перестановки ключ розділений на дві частини по 28 бітів. Кожна частина зрушується вліво (циклічне зрушення) на один або два біти. У раундах 1, 2, 9 і 16 зсув – на один біт, в інших раундах — на два біти. Потім ці дві частини поєднуються, щоб створити частина в 56 біт. Таблиця 5 показує число зрушень маніпуляцій для кожного раунду.

Таблиця 5. Число, що зрушуються біт