Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методЗИ.doc
Скачиваний:
37
Добавлен:
19.03.2016
Размер:
505.34 Кб
Скачать
      1. Комбінування блочних алгоритмів

Нині блоковий алгоритм DES вважається відносно безпечним алгоритмом шифрування. Він піддавався ретельному криптоаналізу протягом 30 років, і самим практичним способом його зламування є метод перебору всіх можливих варіантів ключа. Ключ DES має довжину 56 біт, тому існує 256 можливих варіантів такого ключа. Якщо припустити, що суперкомп'ютер може випробувати мільйон варіантів ключа за секунду, то потрібно 2285 років для знаходження правильного ключа [9].

Однак у 1997 році DES був розкритий прямим перебором ключів з використанням розподілених обчислень через Internet [10]. За 96 днів після перебору приблизно чверті всіх можливих комбінацій був знайдений правильний ключ, який дозволив розшифрувати шифр-текст.

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

Розглянемо схему триразового шифрування DES із двома ключами [9,11]. Блок відкритого тексту Р змінюється три рази за допомогою двох ключів K1 і K2. Процедура шифрування така:

С = Ек1(Dк2к1(Р))),

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

Цей режим іноді називають режимом EDE (encrypt-decrypt-encrypt). Введення в дану схему операції розшифрування DK2 дозволяє забезпечити сумісність цієї схеми зі схемою однократного використання алгоритму DES. Процедура розшифрування виконується в зворотному порядку:

P = Dк1(Eк2 (Dк1(C))),

тобто блок шифртекста C спочатку розшифровується ключем K1, потім шифрується ключем К2 і остаточно розшифровується ключем K1.

Якщо вихідний блоковий алгоритм має n-бітовий ключ, то схема триразового шифрування має 2n-бітовий ключ. Дана схема приводиться в стандартах Х9.17 і ISO 8732 як засіб поліпшення характеристик алгоритму DES[9].

При триразовому шифруванні можна застосувати три різних ключі. При цьому зростає загальна довжина результуючого ключа. Процедури шифрування і розшифрування описуються виразами:

С = Ек3(Dк2к1(Р))),

P = Dк1(Eк2 (Dк3(C))).

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

      1. Інші блочні алгоритми

Алгоритм IDEA (International Data Encryption Algorithm) є блоковим шифром. Він оперує 64-бітовими блоками відкритого тексту. Достоїнством алгоритму є те, що його ключ має довжину 128 біт. Алгоритм шифрування і для розшифрування один і той же. В алгоритмі використовуються наступні арифметичні операції:

  • Порозрядне підсумовування по модулю 2.

  • Підсумовування беззнакових цілих по модулю 216.

  • Множення беззнакових цілих по модулі (216+1).

Комбінування цих трьох операцій забезпечує комплексне перетворення вхідного тексту, істотно утрудняючи криптоаналіз IDEA у порівнянні з DES, який базується винятково на операції порозрядного підсумовування по модулю 2 [9].

Алгоритм IDEA може працювати в будь-якому режимі блокового шифру, передбаченому для алгоритму DES. Існуючі програмні реалізації алгоритму IDEA приблизно удвічі швидше реалізацій алгоритму DES [9,10,11,].

Алгоритм RC2 спроектований Роном Райвестом для корпорації RSA Data Security. RC2 являє собою шифр із 64-бітовим блоком і перемінною довжиною ключа. Програмні реалізації RC2 утроє швидше DES[11]. Алгоритм дозволяє використовувати ключ перемінної довжини від 0 байт до максимальної довжини рядка, яка підтримується операційною системою. Швидкість шифрування від розміру ключа не залежить. Ключ попередньо обробляється для заповнення 128-байтової таблиці, що залежить від ключа. Тому дійсно різних ключів може бути 21024.

Алгоритм CAST був розроблений у Канаді Карлайслом Адамсом і Стафордом Таваресом. В алгоритмі застосовується 64-бітовий блок і 64-бітовий ключ. Алгоритм стійкий до лінійного і диференціального аналізу. Його можна зламати тільки прямим перебором ключів [11].

Алгоритм Blowfish розроблений Брюсом Шнайєром для реалізації на великих мікропроцесорах. Довжина ключа Blowfish перемінна і може досягати 448 біт. Алгоритм оптимизовано для застосування в системах, що не практикують частої зміни ключа. Наприклад, у лініях зв'язку і програмах автоматичного шифрування файлів. При реалізації на 32-бітових мікропроцесорах типу Pentium чи PowerPC, алгоритм Blowfish значно швидше DES [11].

Стандарт AES (Advanced Encryption Standard) [16] являється стандартом шифрування США, принятим в 2000-му році. Цей алгоритм представляє собою симметричний блочний шифр, який працює с блоками дліною 128 біт і використовує ключі дліною 128, 192 та 256 біт (версії AES-128; AES-192 та AES-256). В червні 2003 року Агентство національної безпеки США постановило, что шифр AES являється достатньо надійним, щоб використовувати його для захисту інформації, що є державною таємницею. Аж до рівня SECRET було дозволено використовувати ключі дліною 128 біт, для рівня TOP SECRET потрібні ключі дліною 192 або 256 біт. Алгоритм AES може використовуватись в режимах ECB, CBC, OFB, CFB.