На сайті 11893 реферати!

Усе доступно безкоштовно, тому ми не платимо винагороди за додавання.
Авторські права на реферати належать їх авторам.

Криптографічний алгоритм 3DES

Реферати > Комп'ютерні науки > Криптографічний алгоритм 3DES

Криптографічний алгоритм потрійний DES

Ідея використання потрійного DES з парою ключів відносно проста: якщо ключі однакові, то результат шифрування еквівалентний однократному шифруванню. Це забезпечує повну сумісність із існуючими системами розподілу й використання ключів як на однократному, так і на подвійному DES (подвійний DES - послідовне застосування однократного). Алгоритм 3DES створювався для запобігання шахрайства при заснованих на PIN-коді транзакціях ініційованих банкоматом або POS-терміналом. Існуючі зараз стандарти описують керування майстрами-ключами 3DES і процедуру обчислення унікального ключа транзакції - 3DES DUKPT (Derived Unique Key Per Transaction). Однак у них відсутній стандарт, що визначає керування ключами сесії. Без цього стандарту кожному виробникові доводитися розробляти власні реалізації обміну ключами сесії, що тільки ускладнює їхні системи.

DES означает Data Encryption Standard - стандарт шифрування даних. DES – це 64-бітовий блочний шифр з 64-бітовим ключем. Останній біт кожного байта в ключі є бітом парності, так що ефективна довжина ключа складає тільки56 біт. Це занадто мало, атака грубою силою на спеціалізованій машині займе менше доби. Потрійний DES (Triple DES) чи 3DES – це DES, що виконується тричі з різними ключами. Таким чином потрійний DES – це 64-бітовий блочний шифр з 168-бітови ключем (плюс 24 біта парності). Оригінальний DES досліджувався багато років, тому експерти вважають 3DES дуже надійним. Недоліком є те, що він значно повільніше всіх інших алгоритмів: DES сам по собі доволі повільний через застосування бітових перестановок, що ефективно розробляються на спеціальних мікросхемах, але набагато гірше на універсальних комп’ютерах, а з 3DES потрібно виконати три операції, щоб отримати захищеність двох. Єдина причина, чому варто застосовувати потрійний DES – це те, що він дуже добре вивчений. Це шифр для консерваторів.

3DES – найцікавіший блочний шифр PGP. Багаторазове зашифровування робить шифр сильнішим, але не обходиться і без проблем. Крім того, DES не є таким хорошим як інші шифри. Є атаки на 16-раундне шифрування DES, що робить 3DES найсумнівнішим шифром PGP.

Вже досить давно інформація шифрується не одинарним, а потрійним DES. Де Ek й Dk позначають відповідно зашифрування й розшифрування ключем k. Цей режим шифрування іноді називається DES-EDE. Інший варіант - DES-EEE, що складається із трьох послідовних шифрувань. Існують три можливих варіанти, певні в ANSI X9.52 для DES-EDE:

Три ключі k1, k2 й k3 незалежні.

k1 й k2 незалежні, але k1 = k3.

k1 = k2 = k3.

У третьому випадку TripleDES назад сполучимо з DES. Подібно всім блоковим шифрам, TripleDES може використовуватися різними способами. ANSI X9.52 описує сім таких способів, з яких широко використовуються чотири.

Використання подвійного й потрійного шифрування не завжди забезпечує додаткову безпеку, як цього можна було очікувати. Наприклад, розглянемо атаку “зустріч посередині” на подвійне шифрування [DH77]. Є симетричний блоковий шифр із розміром ключа n; нехай Ek (P) позначає шифрування повідомлення P ключем k. При шифруванні двома різними ключами повний розмір ключа становить 2n.

Атака полягає в наступному. Потрібно, щоб атакуючий знав хоча б одну пару, незашифрований текст і відповідний йому зашифрований текст: (Р, З). У цьому випадку, по-перше, шифрується Р для всіх можливих 256 значень K1. Цей результат запам'ятовується в таблиці, і потім таблиця впорядковується за значенням Х. Наступний крок складається в дешифруванні З, із застосуванням всіх можливих 256 значень K2. Для кожного виконаного дешифрування шукається рівне йому значення в першій таблиці. Якщо відповідне значення знайдене, то вважається, що ці ключі можуть бути правильними, і вони перевіряються для наступної відомої пари незашифрованого тексту, зашифрованого тексту.

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

Очевидна протидія атаці "зустріч посередині" складається у використанні третьої стадії шифрування із трьома різними ключами. Це піднімає вартість лобової атаки до 2168, що на сьогоднішній день уважається вище практичних можливостей. Але при цьому довжина ключа дорівнює 56 * 3 = 168 біт.

Як альтернатива пропонується метод потрійного шифрування, що використовує тільки два ключі. У цьому випадку виконується послідовність за шифрування-розшифрування-зашифруваня (EDE).

C = EK1 [DK2 [EK1 [P]]]

Шифрование тройным DES
Рис. 2.6. Шифрування потрійним DES

Дешифрование тройным DES

Дешифрування потрійним DES

Не має великого значення, що використовується на другій стадії: шифрування або дешифрування. У випадку використання дешифрування існує тільки та перевага, що можна потрійний DES звести до звичайного одиночного DES, використовуючи K1 = K2.

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

Те що на другій стадії використовується операція дешифрування, не є істотною з погляду шифрування, але це дає можливість користувачам "потрійного" DES розшифрувати дані, зашифровані іншими користувачами з використанням більш старої, звичайної версії DES:

C = EK1[DK1[EK1[P]]] = EK1[P].

"Потрійний" DES із трьома ключами використовує три 56-бітових ключі. Сумарна ефективна довжина ключа становить 168 біт. Шифрування відбувається за наступною схемою:

C = EK3[DK2[EK1[P]]].

Зворотна сумісність із DES буде забезпечена, якщо покласти K3=K2 або K1=K2.

"Потрійний" DES із трьома ключами реалізований у багатьох додатках, орієнтованих на роботу з Internet, у тому числі в PGP й S/MIME.

C = EK1 [DK1 [EK1 [P]]] = EK1 [P]

Потрійний DES є досить популярною альтернативою DES і використовується при керуванні ключами в стандартах ANSI X9.17 й ISO 8732 й в PEM (Privacy Enhanced Mail).

Відомих криптографічних атак на потрійний DES не існує. Ціна підбора ключа в потрійному DES дорівнює 2112.

Однак, припустимо, що можна одержати Ek (P) для всіх ключів k а також даний відкритий текст P; потім припустимо, що нам дають зашифрований текст C такий що C = Ek2 (Ek1 (P)) для деяких секретних ключів k1 й k2. Для кожного ключа l є тільки один ключ k такий що Dl (C) = Ek (P). Існує 2**n можливих ключів, що створюють пари (P; C), і ці ключі можна знайти приблизно за O(2**n) кроків. Маючи можливість зберігати тільки 2**p < 2**n ключів, можна змінювати цей алгоритм і знайти всі можливі ключі за O(2**(2n-p)) кроків.

Атаки на Triple DES з подвійним ключем запропонували Merkle й Hellman [MH81], а також Van Urshot й Wiener [VW91], але вимоги до необхідних даних роблять ці атаки непрактичними. Подальша інформація відносно Triple DES пропонується різними джерелами [Bih95] [KR96].

У цей час основним недоліком DES вважається маленька довжина ключа, тому вже давно почали розроблятися різні альтернативи цьому алгоритму шифрування. Один з підходів полягає в тому, щоб розробити новий алгоритм, і успішний тому приклад - IDEA. Інший підхід припускає повторне застосування шифрування за допомогою DES з використанням декількох ключів. Найпростіший спосіб збільшити довжину ключа складається в повторному застосуванні DES із двома різними ключами. Використовуючи незашифроване повідомлення P і два ключі K1 й K2, зашифроване повідомлення можна одержати таким способом:

Перейти на сторінку номер: 1  2  3  4  5  6 Версія для друкуВерсія для друку   Завантажити рефератЗавантажити реферат