Основні параметри і принципи побудови найбільше відомих блокових шифрів.
В даний час розроблено багато різноманітних блокових шифрів, частина з яких є державними (федеральними), інші інтернаціональними. До них насамперед відносяться:
Шифр DES (Федеральний стандарт США).
IDEA - (міжнародний стандарт шифрування).
GOST - (стандарт Російської Федерації).
DES - Федеральний стандарт шифрування для несекретних повідомлень у США. Є першим у світі цілком відкритим алгоритмом. Повсюдно використовується для шифрування даних.
DES являє собою блоковий шифр, заснований на структурі Файстеля з довжиною блоків рівної 64-м бітам і такою же довжиною блока криптограми. Для шифрування використовується ключ довжиною 56 біт + 8 перевірочних біт. Алгоритм реалізується 16-ма ітераціями. На кожній ітерації ключ виробляється з вихідного ключа за допомогою вибірки визначених елементів ключа і їхніх перестановок. Нелінійна функція в кожній ітерації задається за допомогою коротких нелінійних перетворень, так названих S - блоків, і перестановок. Всі перетворення задаються таблицями, що опубліковані у відкритій літературі. Алгоритм виробляє зашифровані дані, кожний біт яких є функцією від усіх біт відкритих даних і від усіх біт ключа. Зміна лише одного біта даних дає рівні можливості зміни для кожного біта криптограми.
Спочатку DES був розроблений фірмою IBM для своїх цілей. Тест по безпеці даної системи шифрування був проведений Агентством Національної Безпеки США, що не виявило в ньому статистичних або математичних вад. Після цього з 1976 DES став стандартом шифрування для несекретних повідомлень у США. Алгоритм опублікований. Вартість апаратної реалізації зі швидкістю шифрування 500 кбіт/c складає 100$. При програмній реалізації швидкість перетворення складає 20-140 кбіт/с.
Основний метод нападу на DES - повний перебір усіх ключів, число яких складає 256. На ПК можна перебрати всі ключі за 2300 років. Якщо сконструювати спеціальну дешифровальную машину, то систему DES можна розкрити протягом 1-го тижня. Це буде коштувати 3,3 млн. $ за даними на 1995 рік. До 2000 року вартість може знизиться до 830 тис. $, а до 2005 року - до 100 тис. $.
Слід зазначити, що якщо повний перебір ключа для якогось шифру потребує визначеного часу, то це не означає неможливість знаходження істинного ключа за менший час, але з визначеною, не одиничною, можливістю (див. таблицю нижче).
Наприклад, якщо повний час перебору складає 1 рік, то з можливістю рівної 0,0833 можна знайти ключ за 1 місяць, а з можливістю 0,0192 за тиждень.
Таблиця 3.1. Можливості перебування істинних ключів.
Гарантоване | Можливість знайти ключ за | ||||
час знайти ключ | час | день | Тиждень | місяць | Рік |
день | 0,0417 | 1,0 | 1,0 | 1,0 | 1,0 |
Тиждень | 0,006 | 0,1429 | 1,0 | 1,0 | 1,0 |
Місяць | 0,0014 | 0,0329 | 0,2308 | 1,0 | 1,0 |
Рік | 0,0001 | 0,0027 | 0,0192 | 0,0832 | 1,0 |
Існували спроби непереборного дешифрування DES на основі диференціального (різницевого), лінійного і статистичного криптоаналізу. Для повного алгоритму DES ці методи виявилися практично негожими. Проте, якщо використовується спрощений алгоритм DES (наприклад, замість 16-ти циклів реалізується тільки 4), то непереборні методи дозволяють розкривати спрощений "DES" без знання ключа за невеликий час.
Таким чином, можна думати, що DES є достатньо стійкою при шифруванні повідомлень, що мають короткочасну таємність порядку тижня або місяця в припущенні, що криптоаналіз будуть проводити недержавні або не занадто заможні комерційні структури, Дана система не є стійкою для державних або заможних громадських організацій. Проте, якщо для підвищення стійкості застосовується триразове шифрування на трьох різних ключах, то система DES надається стійкою навіть щодо самих потужних засобів дешифрування, включаючи державні. Принципово новий метод криптоаналізу, що використовує цілеспрямоване внесення помилок в елементи схеми шифрування, дозволяє успішно дешифрувати і потрійний DES. Проте, технічно такий вплив на шифратор реалізується достатньо складно.
IDEA - міжнародний стандарт шифрування. Це блоковий шифр із довжиною блока рівний 64-м бітам. Довжина ключа складає 128 біт. У якості нелінійних перетворень використовуються такі операції: додавання по модулю два і по модулю 216, а також і множення по модулю 216+1. Загальне число циклів 8. Табличні перестановки не використовуються.
Зручний у програмній реалізації для 16 бітового процесора. Швидкість: при програмній реалізації на 386 процесорі - 880 кбіт/с, при апаратній - 55 Mбіт/c.
Переборний алгоритм дешифрування до цього шифру не застосовується. Проводився аналіз стійкості при інших методах криптоаналізу (різницевого, лінійного). Повний алгоритм дешифруванню не піддається. Проте при скороченні числа циклів до трьох або чотирьох він може бути розкритий у реального часу.
Реалізований у програмі PGP для захисту повідомлень електронної пошти Internet. Рекомендується для шифрування в комп'ютерних мережах, зокрема в електронній пошті.
GOST (ДЕРЖСТАНДАРТ 28-147-89) - державний стандарт шифрування Російської Федерації. Обов'язковий для застосування у всіх державних і відомчих структурах і у всіх організаціях, пов'язаних із ними.
Має також відкрито опублікований алгоритм шифрування. Перетворює блоки повідомлення довжиною 64 біта в блоки криптограми такої ж довжини. Ключ складається з 256-ти біт, число циклів дорівнює 32. У якості перетворень використовуються нелінійні табличні підстановки і додавання по модулю 232. Крім ключа довжиною в 256 біт є і довгостроковий ключ із 512-ти біт. Цей ключ декілька змінює структуру алгоритму, тобто структуру S блоків (нелінійних перетворень).
Реалізований у програмному й апаратному виконанні. Основна перевага апаратної реалізації складається в тому, що вона гарантує неможливість зміни програми або введення яких-небудь програмних закладань. У випадку програмного виконання секретний ключ зберігається у визначеному секторі пам'яті.
Програмна реалізація забезпечує швидкості порядку 600-800 кбіт/c. Апаратна реалізація - до 1 Мбіт/с.
Про стійкість даного методу шифрування можна судити по тому, що перебір усіх ключів нереальний при використанні будь-яких технічних засобів. Дані по різницевому або лінійному криптоаналізу не опубліковані.
Модифіковані алгоритми блокового шифрування.
Необхідність у модифікації блокового шифрування.
При формуванні криптограми з повідомлення той самий алгоритм шифрування може бути використаний у різноманітних модифікаціях. Дотепер розглядалося застосування блокового шифрування у вигляді кодової книги. Для роботи з електронною кодовою книгою повідомлення розбивається на блоки однакової довжини, що відповідає алгоритму шифрування, і кожний блок незалежно від інших перетвориться в блок криптограми. Дана модифікація має суттєві недоліки:
Протягом усього часу дії ключа ті самі блоки повідомлення завжди перетвориться в ті самі блоки криптограми. Це може бути використано опонентом для одержання деякої інформації про повідомлення навіть при відсутності знання ключа. Так, знайшовши вигляд криптограми для деякого повідомлення один разом, можна, зустрівши цю же криптограму в інший раз, безпомилково стверджувати без знання ключа, що передавалося те ж саме повідомлення.
Дана модифікація припускає підміну зашифрованого повідомлення на якесь інше, тобто нав'язування зловмисником без знання ключа помилкового повідомлення, причому факт підміни може бути не виявлений після дешифрування.
Як приклад розглянемо напад із вставкою на повідомлення про грошовий переказ. Саме повідомлення, що складається з окремих фрагментів, може виглядати так, як це показано в першому рядку таблиці.
Таблиця 3.2.
Час відправлення | Ім'я банку відправника | Ім'я банку одержувача | Ім'я вкладника | Номер рахунку | Розмір внеску |
6 байт | 12 байт | 12 байт | 48 байт | 16 байт | 8 байт |
Цю частину повідомлення можна замінити в чужому переводі, і це не буде замічено при дешифруванні |
В другому рядку таблиці зазначене місце розташування і розміри блоків, відведених під окремі фрагменти.
Суть нападу з вставкою нескладна. Зловмисник спочатку переводить деяку суму на свій рахунок, що дозволяє йому одержати криптограму свого імені і свого рахунку, а потім заміняє криптограму імені і рахунки будь-якого вкладника на свої.
Для усунення зазначених хиб використовують модифіковані алгоритми (моди) блокового шифрування.
Модифікація з зачепленням блоків.
Схема шифрування і дешифрування для цієї моди подана на мал. 3.7.
Мал. 3.7. Шифрування з зачепленням блоків.
У цьому випадку повідомлення також розбивається на блоки довжини n, після чого відповідні блоки криптограми формуються за правилом:
, (3.11)для дешифрування використовується співвідношення:
i=1,2,…,S... (3.12)
Тут E0 = IV - деякі початкові дані (Initial Value) - блок довжини n із двоїчних символів, що вибираються випадково і не секретні.
Дана модифікація передбачає, по-перше, що при кожному новому запуску проводиться відновлення відкритих початкових даних IV, і, по-друге, що зміна будь-якого блока повідомлення призводить до зміни не тільки відповідного блока криптограми, але і наступних. У результаті з'являється безглуздий, нечитаємий текст і напад із вставкою виявляється неефективним.
Порівняємо вплив помилок у криптограмі (початкових стосовно процесу дешифрування) на результати дешифрування при використанні моди електронної кодової книги і моди з зачепленням блоків.