Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота №11.doc
Скачиваний:
16
Добавлен:
30.05.2020
Размер:
407.04 Кб
Скачать

Desx - розширення des

В 1984 Рон Ріверст запропонував розширене DES, зване DESX (DES eXtended), вільне від недоліків потрійного DES.

DESX визначається так

тобто, ключ DESX складається з 54+64+64=184 біт і включає три різних підключа: ключ «DES» до, попередній «зашумляючий» ключ  , і завершальний «зашумляючий» ключ .

Для шифрування блоку повідомлення ми складаємо його порозрядний по модулю 2 з  , шифруємо його алгоритмом DES з ключем до і знов порозрядний складаємо по модулю 2 з  .

Таким чином, витрати DESX на шифрування блоку всього на дві операції по модулю 2 більше, ніж витрати початкового алгоритму.

Відносно DESX чудове те, що ці дві операції XOR (що «виключає АБО») роблять шифр набагато менш уразливим по відношенню до перебору ключів. Вкажемо, що DESX утрудняє отримання навіть однієї пари < >  у тому випадку, коли зловмисник організовує атаку на шифр по вибраному початковому тексту, одержуючи безліч пар < >

DESX призначався для збільшення захищеності DES проти перебору ключів і зберігаючи його стійкість проти інших можливих атак. Але DESX насправді також збільшує стійкість проти диференціального і лінійного криптоаналізу, збільшуючи необхідну кількість проб з  вибраним початковим текстом до величини, що перевищує 260.

Алгоритм породження ключів

1 В циклі по i від 1 до 16 виконати:

2 Ключ Кi розділити на дві частини: Сi l і Сi r, в перший помістити ліві 28 біт, а в другій - праві 28 біт;

3 Одержати напівключі Сi l і Сi r,  прокрутивши циклічно вліво кожний напівключ З i l і З i r на число біт, задане в таблиці 1. Залишити по 28 біт в кожному з блоків Сi l і Сi r згідно перестановці КР-2, одержавши укорочені напівключі   і ;

4 Конкатенувати   з і запам'ятати укорочений 48-бітовий ключ ; конкатенувати Сi l і Сi r, щоб одержати повний 56-бітовий ключ спершу наступної ітерації

5 Кінець циклу {i}.

З таблиці 1 видно, що за 16 ітерацій напівключі скоюють повний круг, так що К016

Алгоритм шифрування даних

Після початкового перемішування 64-бітовий блок ділиться на дві половини: ліву L0 і праву R0 Цей розподіл на дві половини Li, і Ri після кожної i-той ітерації, i= 1,2..., 16. Після всіх ітерацій половини будуть конкатеновані і поступлять в завершальне перемішування, зворотне до початкового. Операції над Li, і Ri в ході i-той ітерації схематично показані на малюнку  13.

Рисунок 13

Як видно з малюнка, права частина без змін переноситься в ліву частину наступної ітерації, а ліва частина попередньої ітерації піддається декільком  перетворенням, перш ніж стати правою частиною наступної ітерації.

Опишемо ці перетворення.

Перетворення Е. 32 біти вхідного слова діляться на 8 блоків по 4 біти (рис. 2), а потім кожний 4-бітовий блок  перетвориться в 6-бітовий (рис. 3) (див. Алгоритм DES крок 1).

Вхідне слово "закручено" в цикл, так що остання четвірка є сусідньою зліва до першої. Таким чином, вхідне 32-бітове слово перетвориться в 48-бітове. Позначимо результат цієї операції через R' (див. Алгоритм DES крок 2).

Примітка

XOR - порозрядне складання двійкових чисел, без перенесення зайвої одиниці в старший розряд. Для двійкових чисел рівної довжини, якщо aXORb=c, то cXORb=a, тобто перше складання з ключем зашифровує, а друге - розшифровує

Операція XOR [1]. Вводиться черговий 48-бітовий підключ К', і порозрядний складається з R'. Одержуємо

.

Перетворення S . 48-бітовий результат попередній операції ділиться на 8 6-бітових блоків, і кожний блок перетвориться в 4-бітний блок по своїй таблиці S j. (див. Алгоритм DES крок 3).

Перетворення Р . Перестановка, що перемішує (рис. 6) (див. Алгоритм DES крок 3)

Таблиці S і перетворення Р - постійні системи, у відмінності від ключа K i, який часто міняється.