
- •7.1 Аналіз таблиць підстановки на прикладі гост 281347 -89.
- •7.2 Побудування таблиць підстановки типу « байт в байт»(aes)
- •7.3 Блочні симетричні шифри та їх властивості.
- •7.4 Блокові симетричні шифри на основі spn структури
- •7.1 Аналіз таблиць підстановки на прикладі гост 281347 -89.
- •7.2 Побудування таблиць підстановки типу « байт в байт»(aes)
- •7.3 Блочні симетричні шифри та їх властивості.
- •Стан створення та застосування бсш на світовому рівні
- •7.4 Блокові симетричні шифри на основі spn структури
7.3 Блочні симетричні шифри та їх властивості.
Симетричне криптографічне перетворення у вигляді блокового симетричного шифру(БСШ) знайшло широке застосування на практиці. БСШ будуються на основі використання декількох симетричних криптографічних перетворень( елементарних шифрів), більшість яких розглянуто вище в підрозділі 2.7. Хоча кожен з таких елементарних шифрів, як буде показано в розділі 8, є нестійким[ 1,2 ], застосування декількох з них послідовно чи паралельно, та багатократно, як сказано в [ 1 ], дозволяє отримати звіря з « товстою шкірою». Вказане визначило появу, широке застосування та розвиток БСШ.
В цьому розділі ми робимо спробу розглянути сутність, проблемні питання, в межах обмежень обсягом викладення результатів досліджень, застосування та можливі напрями розвитку БСШ.
Необхідно відмітити, що при побудові БСШ знайшли застосування декілька концептуальних підходів, які будемо називати методологічними принципами. Серед них необхідно виділити,
на наш погляд, три основні:
на основі ланцюгів Фейстеля (Data Encryption Standard, ГОСТ 28147 – 89 тощо);
IDEA подібні шифри( Європейський стандарт IDEA та його модифікації і удосконалення);
SPN структури( перше за все Rijndael, FIPS – 197 тощо).
Ми вважаємо, що сьогодні системне викладення теорії та практики блочного симетричного шифрування вимагає написання багатотомної роботи. Тому нижче викладення теоретичних та практичних питань є обмеженим. Крім того , в цьому розділі, ми практично не розглядаємо питання крипто аналізу, так як вони системно викладаються в 8 розділі цієї роботи.
Стан створення та застосування бсш на світовому рівні
Історія створення блокових симетричних шифрів розпочинається з представлення фірмою ІВМ в 1974 році алгоритму блокового симетричного шифрування DES(Data Encryption Standard) [ 202 ]. Підгрунтям створення алгоритмуDESбули роботи авторів[ 2 ], що були опубліковані на самому початку 70 років у відкритоому вигляді. АлгоритмDESбув представлений фірмою ІВМ у відповідь на звернення Національного бюро стандартів США до спеціалістів з питання про алгоритми для стандарту шифрування в державних та приватних установах. Одною із вимог була в тому що алгоритм повинен бути опублікований без ризику відносно його стійкості. Розробка фірми ІВМ була заснована на її попередньому шифріLuciferз 128 бітним ключем. В першому алгоритмі ІВМ запропонувала ключ з довжиною 48 *16 бітів, відповідно 48 бітів на кожному із 16 циклів. Однак, як стало відомо, Агенство національної безпеки выдіграло головну роь у зменшенні дорвжини ключа до 56 бітів. В 1977 р. алгоритм БСШDESбув опублікований в якості федерального стандарту США, який вступив у дію в липні того ж року. Цю дату можна вважати початком створення та застосування БСШDESу відкритому вигляді. Майже зразу після прийняття стандартDESстав об’єктом полеміки.
Основним недоліком вважалась мала довжина секретного ключа – 56 бітів. Дійсно, вже на той час при 2 56 ключів (приблизно 1017) можливість здійснення силової атаки була близько до межі можливості її реалізувати. Діффі та Геллман опублікували проект спеціалізованої багатопроцесорної обчислювальної машини вартістю біля $20млн, яка могла б рокритиDESприблизно за 12 годин. Необхідно відмітити, що в DES, на момент його створення, були вдало реалізовані накопичені до того моменту теоретичні й практичні добутки в побудові симетричних шифрів. Уже зразу після прийняття, протягом наступних двадцяти років, БСШ DES піддавався детальному вивченню й дослідженню, і якраз поява багатьох методів крипто аналізу була пов'язане з DES. Конструкція алгоритму шифрування виявилася настільки вдалою, що продовжила свій розвиток в інших відомих криптографічних алгоритмах – перше за все, ГОСТ 28147–89 [55], FEAL [203] і ряді інших менш відомих криптографічних алгоритмах, що були розроблені в 80-х роках 20 століття. В подальшому для усунення такого недоліку, як мала довжина ключа, було запропоновано збільшити довжину ключа в три рази та застосовувати трьохкратне шифрування, яке є відносно ефективним та застосовується до нинішнього часу.
Практично до початку 90-х років у закордонній відкритій печаті практично не було фундаментальних робіт присвячених блоковим симетричним шифрам. Виключенням були дослідження, що стосувалися криптографічного алгоритму DES. Критиці піддавалась перш за все мала довжина ключа, недостатня кількість циклів перетворення і немаловажний аспект критики – відсутність публікацій про критерії проектування та показники оцінки. Проте, реальної уразливості алгоритму DES до 90-х років знайдено не було. По суті всі атаки зводилися в основному до атак грубої сили (прямого перебирання) які на той момент із-за обмежених ресурсів комп’ютерів не могли бути практично реалізованими [4, 202].
На
початку 90-х років критика алгоритму DES
почала підсилюватися. У відкритій
закордонній пресі з'являється ряд
фундаментальних робіт, що були присвячені
вирішенню завдань криптоаналізу БСШ.
У першу чергу це лінійний криптоаналіз
Матсуі і диференціальний криптоаналіз
Біхама й Шаміра, а також розширення
зазначених атак. У вказаних роботах
критиці також піддається схема формування
циклових підключів БСШ DES. Далі критиці
була піддана простота схеми розгортання
ключів, описується існування 4 слабких
і 12 наполовину слабких ключів, а також
властивість інвертування, що дозволяє
скоротити пряме перебирання усіх ключів
з
до
.
Серед офіційних документів, що були
присвячені DES та його модифікації DEA
необхідно відзначити публікацію
федерального стандарту 1981 року – FIPS
74. Якраз у ній описуються слабкі й
наполовину слабкі ключі, для чого було
використано поняття двоїстих ключів.
Більш детальному вивченню слабких і
наполовину слабких ключів присвячені
роботи Мура, Сімонса, а також Купперсміта.
В подальшому виходить ряд робіт [219 -222], що були присвячені аналізу схем розгортання ключів у БСШ. Фундаментальною роботою можна вважати публікацію Біхама [219]. В цій роботі вперше описана атака на схему розгортання ключів типу «зв'язані ключі», яка могла бути застосованою до БСШ DES і LOKI. Однак цей метод криптоаналізу з атакою на схему розгортання ключів мав більше теоретичну, чим практичну цінність, і не представляв у порівнянні з диференціальним та лінійним криптоаналізом циклової функції шифру реальної погрози для БСШ.
Далі пошук нових рішень торкнувся вдосконалювання криптографічних перетворень циклової функції. З'являється ряд нових криптографічних алгоритмів. Найбільшої уваги з них заслуговує алгоритм PES [223], що став основою при розробленні Європейського стандарту IDEA [224], а також алгоритми RC5 [225] та SAFER [226]. Особливістю вказаних шифрів є те, що схеми розгортання ключів нових БСШ формують циклові підключі аналогічно як і у БСШ DES, По суті вони являють собою алгоритми вибору певних біт із секретного ключа. В подальшому на названі шифри були розроблені ефективні методи криптоаналізу через схеми розгортання ключів.
Так аналіз схеми розгортання ключів алгоритму IDEA, дозволив Даемену [227] виявити кілька класів слабких ключів. Найбільший із цих слабких класів становить множину 251 ключів. Причому приналежність ключа. що застосовується, до цього класу може бути перевірена двома шифруваннями й виконанням невеликої кількості додаткових обчислень. Якщо ключ належить цьому класу, то він може бути відновлений після 16 за шифрувань відкритих текстів з підібраною різницею, а також порядку 216групових операцій і 217 шифрувань перевірки ключа. У зазначеній вище роботі Даемен запропонував незначну модифікацію процедури розгортання ключа IDEA, що дозволило усунути знайдені їм слабкі ключі.
В подальшому до кінця 90-х років з'являється ряд нових ефективних методів криптоаналізу схем розгортання ключів БСШ, які засновані на використанні як диференціального так і лінійного методів криптоаналізу. Принципово необхідно виділити диференціальний криптоаналіз на зв'язаних ключах, атаку ковзання, і її розширення. Особливістю таких атак, у порівнянні з атаками на циклову функцію БСШ (наприклад, диференціальним і лінійним криптоаналізом), є більша ефективність, що полягає в слабкій залежності від кількості ітерацій що використаються в шифрі.
Загальною рекомендацією є пропозиція уникати лінійних алгоритмів при формуванні циклових підключів, а також щоби процес вироблення підключів був важко оборотним. При цьому існуючий між цикловими підключами зв'язок повинен бути складним з точки зору складності аналізу.
Подальший аналіз показав що до кінця 90-х склалась ситуація, при якій в несекретних державних і комерційних установах продовжувалось використання морально та технічно застарілих шифрів. У той же час швидкий розвиток обчислювальної техніки й безлічі різних, високоефективних методів криптоаналізу блокових симетричних шифрів стали представляти для них потенційні погрози. Крім того криптографічні алгоритми, що були розробленими не підтвердили необхідного рівня безпеки, щоб стати заміною існуючих стандартів шифрування даних (наприклад, Skipjack) [219]. Вказане привело до однієї із найбільш важливих подій у сфері прикладної криптографії – оголошенні міжнародного конкурсу AES (Advanced Encryption Standard) [198, 204]. У січні 1997 року NIST США оголосив про початок конкурсу на новий стандарт шифрування 21-го століття. Він був спрямований на вибір на конкурсній основі нового стандарту блокового симетричного шифрування . У результаті виконання цього проекту за результатами голосування переможцем був оголошений алгоритм Rijndael [204], в подальшому на його основі у звуженій версії був прийнятий федеральний стандарт США FIPS-197, який на нинішній час отримав широке застосування в США та у світі.
В
проекті AES уперше була зібрана воєдино
безліч різних криптографічних алгоритмів
з різною архітектурою й піддані
цілеспрямованому, детальному аналізу.
Фактично були визначені вимоги, яким
повинні задовольняти перспективні
БСШ. В процесі проведення конкурсу були
також визначені нові вимоги до схем
розгортання ключів. У представлених
на конкурс БСШ схеми розгортання ключів
суттєво відрізняються від DES-подібних.
Крім того відсутність основоположних
принципів проектування схем розгортання
ключів привело до того, що розроблювачі
шифрів керуються суб'єктивним розумінням
побудови схем розгортання ключів. У
підсумку більша частина шифрів виявилися
уразливими до атак на схеми розгортання
ключів. Так, у проекті AES брали участь
БСШ Deal, Rijndael, SAFER+, DFC, MAGENTA, CRYPTON, HPC, LOKI97,
MARS, RC6, Serpent, Twofish, CAST, E2, FROG, [204].
Але більшість із названих БСШ були
уразливі до атак на схеми розгортання
ключів, в тому числі: SAFER+, CRYPTON, DFC, FROG,
HPC, MAGENTA . Для інших БСШ атаки на схеми
розгортання ключів були реалізовані
на неповну кількість ітерацій, але
виявилися найбільш ефективними в
порівнянні з атаками на циклову функцію
алгоритму. Так прикладом може служити
БСШ Rijndael, для якого знайдено 9 циклова
атака на зв'язаних ключах (версія
алгоритму з довжиною ключай кількістю ітерацій
)
Фергусоном і розширена Square-атака С. Люка
на 7-ми цикловий варіант алгоритму.
Наші дослідження БСШ Rijndael представлені статтею, де проводиться пошук схованих аномалій у розгорнутому ключі. Було підтверджене існування сильних лінійних зв'язків між бітами циклових підключів, однак використання циклової функції з високими криптографічними властивостями, дозволяє компенсувати ці вади вже після чотирьох ітерацій. У роботах [228, 229] показано, що в БСШ із «криптографічно слабкою» схемою розгортання ключів (на яку існує атака), необхідно використати підвищену кількість ітерацій. Крім того необхідно приділяти особливу увагу розробці циклової функції, що задовольняє вимогам високої криптостійкості. В процесі проекту також підтверджено що використання схеми формування циклових підключів з високими криптографічними властивостями, дозволить знизити рівень витрат на проектування циклової функції й зменшити кількість ітерацій [230]. Також показано, що криптографічно сильна схема розгортання ключів підвищує стійкість до лінійного й диференціальному криптоаналізу [231, 230].
По аналогії з проектом AES були розгорнуті та виконаними аналогічні проекти у Європі (NESSIE) і Японії (CRYPTREC). Проект NESSIE був початий в 2000 році під егідою Європейської комісії. Основними завданнями проекту NESSIE був відбір кращих десяти криптографічних примітивів.
Серед них особливе місце займали кандидати на стандарти БСШ. До кандидатів були пред'явлені підвищені вимоги [232]. Для БСШ введено три класи стійкості.
1. Високий рівень безпеки – довжина блоку lб=128 біт, довжина ключа lк=256 біт.
2. Нормальний рівень безпеки – довжина блоку lб=128 біт, довжина ключа lк=128 біт.
3. Задовільний рівень безпеки – довжина блоку lб=64 біт, довжина ключа lк=128 біт.
На першому етапі до конкурсу були допущені такі БСШ: CS, Hierocrypt-L1, IDEA, Khazad, Misty1, SAFER++ (задовільного рівня стійкості), Nimbus, Anubis, Camellia, Grand Cru, Hierocrypt-3, Noekeon, Q, RC6, SC2000, SAFER++, NUSH і SHACAL-1 (SHACAL-2) (нормального й високого рівнів стійкості).
За результатами подальших досліджень існуючих та перспективних БСШ прийнято міжнародний стандарт відносно блокових симетричних шифрів ISO/IEC18033 – 3[236]. Перелік та деякі характеристики БСШ цього стандарту наведено у таблиці 2.5. Усього визначено шість різних блокових шифрів[104 - 113 ].
Таблиця 2.5. Блокові симетричні шифри, що визначені в ISO/IEC 18033 – 3.
Довжина блока |
Назва алгоритму (пункт) |
Довжина ключа |
64 бітів
|
TDEA |
128 або 192 бітів |
MISTY1 |
128 бітів | |
CAST-128 | ||
128 бітів
|
AES |
128, 192 або 256 бітів
|
Camellia | ||
SEED |
128 бітів |