отри-мують 48-бітову послідовність. Біти останньої послідовності - це 32 біти послідовності Ri скопійовані на 48 позицій, причому деякі з них дублюються. Розглянемо це деталь-ніше.
Спочатку виконується розділення послідовності R, на вісім груп по 4 біти в кож-ній групі:
Потім відбувається копіювання бітів першого й четвертого стовпців, як показано нижче:
На отриманих 48 бітах виконується операція додавання за модулем 2 з відповід-ними їм бітами підключа Кi+1.
Далі відбувається розділення отриманих 48 бітів на вісім груп по 6 бітів. До кожної групи застосовується відповідний S-блок: S-блок, що використовуваний i-ю групою (і = 1, 2, ..., 8), позначають через Si, (табл. 2.2). У цьому разі кожен S-блок має на виході 4 біти. Зазначимо, що блок S1 описаний у табл. 1.5.
Нарешті, отримані на виходах восьми S-блоків 32 біти будуть переставлені фіксованим способом.
Дія алгоритму визначена співвідношеннямде операція IР-початкова перестановка {Initial Permutation), що виконується апаратним спосо-бом, рj-цикли алгоритму (j=1,2, ..., 16), IP-1 - кінцева перестановка. Виконання опера-цій у наведеному співвідношенні відбувається справа наліво.
Після 16-го циклу ліва й права половини будуть переставлені, а отриманий блок (64 біти) піддається перестановці IP-1, оберненій до перестановки IP (див. табл. 2.1). Ця процедура є обов'язковою для того, щоб алгоритм мав однакову структуру як для шифрування, так і для дешифрування:
З рівності для значення функції/випливає, що
Якщо відомі послідовності бітів Ri+1, Li+1 і підключ Кі+1, то на підставі наведених вище рівностей можна знайти послідовності бітів Ri, і L1. Тобто під час дешифрування виконують ті самі операції, що й під час шифрування. Різниця полягає лише в тому, що ключі застосовують у зворотньому порядку, тобто в порядку
. З цього погляду ту саму апаратну реалізацію можна використати як для шифрування, так і для дешифрування.
Цей алгоритм успішно використовували впродовж приблизно 25 років. Голов-ним недоліком базового варіанта DES була недостатня довжина ключа - лише 56 бітів, які впливають на утворення циклових підключів.
Розширення алгоритму DES
Нижче наведені модифікації алгоритму DES. їх розроблено з метою збільшити кількість і довжини можливих ключів, оскільки 1998 р. збудовано комп'ютер вартістю близько 100 000 дол., який для базового варіанта DES за три доби зміг відшукати ключ за парою явний текст-криптограма.
DESX
Алгоритм DESX був запропонований 1984 р. Для шифрування 64-бітового блока Р використовують три ключіКриптограму утворюють за допомогою операції
У цьому випадку (навіть коли відомий явний текст і криптограма), не відомо ні послідовності, яка зашифрована DES, ні результату шифрування DES.
Потрійний DES
Обчислювальна потужність комп'ютерної техніки, що постійно зростає, з погля-ду можливості брутальної атаки спонукала до використання ключів більшої довжини. Цікавим вирішенням, у якому застосовано принципи алгоритму DES і можливість застосування ключа довжини 112 бітів, є алгоритм потрійного DES, а саме: DES EDE (Encrypt-Decrypt-Encrypt - шифрування-дешифрування-шифрування). У цьому алго-ритмі 112-бітовий ключ розділено на два 56-бітові ключі: ключ 1 і ключ 2. Шифрування DES EDE явного тексту передбачає етапи, показані на рис. 2.3.
Дешифрування DES EDE відбувається у зворотному порядку (рис. 2.4).
У цьому разі поліпшення стійкості до брутальної атаки досягнуто завдяки збіль-шенню часу перетворення одного блока. Водночас порівняно з алгоритмами, що вико-ристовують публічні ключі, реалізація потрійного DES є значно швидшою, однак серед наведених вище симетричних алгоритмів його реалізація найповільніша.
S-блоки, залежні від ключа
Методом, який ускладнює криптоаналіз, є використання в процесі шифрування за допомогою DES 5-блоків, модифікованих залежно від додаткового ключа. У цьому ви-падку виконуються такі операції:
перестановка двох перших рядків із двома останніми;
перестановка восьми перших стовпців з вісьмома останніми;
виконання операції суми за модулем 2 із заданими 4 бітами ключа для кожного елемента в 5-блоці (числа в 5-блоці розглядають як 4-бітові послідовності).
Шифрування довільних текстів
Алгоритмом DES шифрують лише короткі тексти (вісім літер ASCII). Нижче наведено три загальні методи, які поширюють методику шифрування текстів фіксованої довжини на довільні тексти.
Електронна кодова книжка
Режим шифрування електронною кодовою книжкою Electronic Code Book (ECB) полягає в поділі тексту на блоки фіксованої довжини (рис. 2.5). Кожний з цих блоків шифрований окремо за допомогою того самого ключа. Такий спосіб реалізації стійкий до помилок, оскільки втрата окремих блоків не впливає на можливість дешифрування решти криптограми.
Однак пов'язування одного блока явної інформації з одним і тільки з одним бло-ком шифрограми суттєво спрощує криптоаналіз окремих блоків. Оскільки нема зв'язків між окремими блоками, то такий підхід не стійкий також до атаки, що використовує підставляння блоків. Нестійкість полягає в тому, що атака може відбутися через заміну певних блоків шифрограми на інші, явні відповідники яких знайдені в процесі криптоаналізу.
Припустимо, наприклад, що зв'язок між двома банками відбувається в режимі ЕСВ - шифрують рух коштів між рахунками двох банків. Нехай опис рахунків, на які перераховують кошти, має такий вигляд:
Перерахування раху- нок отриму- вач су- ма
Криптограма blokl blok2 blокЗ blок4 blок5 blок6
Злочинець, який у змозі змінити зміст криптограм, що надходять до банку, може застосувати таку атаку:
виконує 17 зачислень коштів на свій рахунок, кожного разу на одну і ту ж суму. Потім ідентифікує в надісланих криптограмах таку криптограму (блок) рахунка, на який виконано саме 17 зачислень коштів і на ту саму суму. У такий спосіб довідається криптограму номера свого рахунка, хоча й не знає ключа;
змінить криптограму номера рахунка в певній кількості пересланих крипто грам, вставляючи на це місце криптограму номера свого рахунка. Банк до дасть до його рахунка кошти, насправді призначені для