У криптоаналізі методом зустрічі посередині або атакою «зустріч посередині» (англ. meet-in-the-middle attack) називається клас атак на криптографічні алгоритми, які асимптотично зменшують час повного перебору за рахунок принципу «розділяй і володарюй», а також збільшення об'єму необхідної пам'яті. Вперше цей метод був запропонований Уітфілдом Діффі і Мартіном Геллманом у 1977 році.
Початкові умови
Існують відкритий (незашифрований) і шифрований тексти. Криптосистема складається із циклів шифрування. Циклові ключі незалежні й не мають спільних бітів. Ключ системи являє собою поєднання із - циклових ключів . Завдання полягає в знаходженні ключа .
Розв'язок простого випадку
Простим прикладом є подвійне послідовне шифрування блочним алгоритмом двома різними ключами і . Процес шифрування виглядає так: де — це відкритий текст, — шифротекст, а — операція одноразового шифрування ключем . Відповідно, зворотна операція — розшифровка — виглядає так:
На перший погляд здається, що застосування подвійного шифрування багаторазово збільшує стійкість всієї схеми, оскільки перебирати тепер потрібно два ключі, а не один. У разі алгоритму DES стійкість збільшується з до . Однак це не так. Атакуючий може скласти дві таблиці:
- Всі значення для всіх можливих значень ,
- Всі значення для всіх можливих значень .
Потім йому достатньо лише знайти збіги у цих таблицях, тобто такі значення і , що . Кожен збіг відповідає набору ключів, який задовольняє умови, оскільки
Для даної атаки потрібно операцій шифрування-розшифрування (лише удвічі більше, ніж для перебору одного ключа) і пам'яті. Додаткові оптимізації — використання хеш-таблиць, обчислення тільки для половини ключів (для DES повний перебір, насправді, вимагає лише операцій) — можуть знизити ці вимоги. Головний результат атаки полягає в тому, що послідовне шифрування двома ключами збільшує час перебору лише удвічі.
Розв'язок у загальному вигляді
Позначимо перетворення алгоритму як , де — Відкритий текст, а — шифротекст. Його можна уявити як композицію , де — циклове перетворення на ключі . Кожен ключ являє собою двійковий вектор довжини , а загальний ключ системи — вектор довжини
1. Заповнення пам'яті. Перебираються всі значення , тобто, перші циклові ключі. На кожному такому ключі зашифруємо відкритий текст - (тобто, проходимо циклів шифрування замість ). Будемо вважати якоюсь адресою пам'яті і за цією адресою запишемо значення . Необхідно перебрати всі значення .
2. Визначення ключа.
Перебираються всі можливі . На отриманих ключах розшифровується шифротекст — . Якщо за адресою не пусто, то дістаємо звідти ключ і отримуємо кандидата в ключі .
Однак, потрібно зауважити, що перший же отриманий кандидат не обов'язково є справжнім ключем. Так, для даних і виконується , але на інших значеннях відкритого тексту шифротексту , отриманого з на істинному ключі, рівність може порушуватися. Все залежить від конкретних характеристик криптосистеми. Але іноді буває достатньо отримати такий "псевдоеквівалентний" ключ. В іншому ж разі після завершення процедур буде отримана деяка множина ключів , серед яких знаходиться істинний ключ.
Якщо розглядати конкретне застосування, то шифротекст і відкритий текст можуть бути великого обсягу (наприклад, графічні файли) і являти собою досить велике число блоків для блокового шифру. В такому разі для прискорення процесу можна зашифровувати і розшифровувати не весь текст, а лише його перший блок (що набагато швидше), і потім, отримавши безліч кандидатів, шукати в ньому справжній ключ, перевіряючи його на інших блоках.
Атака з розбиттям ключової послідовності на 3 частини
У деяких випадках буває важко розділити біти послідовності ключів на частини, що належать до різних ключів. В такому разі застосовують алгоритм [en], запропонований Богдановим і Річбергером в 2011 році на основі звичайного методу зустрічі посередині. Даний алгоритм застосовується в разі відсутності можливості поділу послідовності ключових бітів на дві незалежні частини, як необхідно в звичайному алгоритмі методу зустрічі посередині. Складається з двох фаз: фази виділення і перевірки ключів.
Фаза виділення ключів
На початку даної фази шифр ділиться на 2 підшифра і як і в загальному випадку атаки, однак допускаючи можливе використання деяких бітів одного підшифра в іншому. Так, якщо , то ; при цьому біти ключа , що використовуються в позначимо , а в - . Тоді ключову послідовність можна розділити на 3 частини:
- - перетин множин і ,
- - ключові біти, які є тільки в ,
- - ключові біти, які є тільки в .
Далі проводиться атака методом зустрічі посередині за наступним алгоритмом:
- Для кожного елемента із
- Вирахувати проміжне значення , де — відкритий текст, а — деякі ключові біти із и , тобто, — результат проміжного шифрування відкритого тексту на ключі .
- Вирахувати проміжне значення
- , де — закритий текст, а — деякі ключові біти із и , тобто,. — результат проміжного шифрування відкритого тексту на ключ
- Порівняти і . У разі збігу отримаємо кандидата в ключі
Фаза перевірки ключів
Для перевірки ключів отримані кандидати перевіряють на декількох парах відомих відкритих-/закритих текстів. Зазвичай для перевірки потрібно не дуже велика кількість таких пар текстів.
Приклад
Як приклад наведемо атаку на сімейство шифрів KTANTAN, яка дозволила зменшити обчислювальну складність отримання ключа з (атака повним перебором) до .
Підготовка атаки
Кожен з 254 раундів шифрування з використанням KTANTAN використовує 2 випадкових біта ключа з 80-бітного набору. Це робить складність алгоритму залежною тільки від кількості раундів. Приступаючи до атаки, автори помітили наступні особливості:
- В раундах з 1 по 111 не були використані наступні біти ключа: .
- В раундах з 131 по 254 не були використані наступні біти ключа: .
Це дозволило розділити біти ключа на наступні групи:
- - загальні біти ключа: ті 68 біт, що не згадані вище.
- - біти, що використовуються тільки в першому блоці раундів (з 1 по 111),
- - біти, які використовуються тільки у другому блоці раундів (з 131 по 254).
Перша фаза: виділення ключів
Виникала проблема обчислення описаних вище значень і , так як в розгляді відсутні раунди з 112 по 130, однак тоді було проведено [en]: автори атаки помітили збіг 8 біт в і , перевіривши їх звичайною атакою методом зустрічі посередині на 127 раунді. У зв'язку з цим у даній фазі порівнювалися значення саме цих 8 біт в підшифрах і . Це збільшило кількість кандидатів у ключі, але не складність обчислень.
Друга фаза: перевірка ключів
Для перевірки кандидатів в ключі алгоритму KTANTAN32 було потрібно в середньому ще дві пари відкритого-/закритого текстів для виділення ключа.
Результати
- KTANTAN32: обчислювальна складність підбору ключа скоротилася до з використанням трьох пар відкритого-/закритого тексту.
- KTANTAN48: обчислювальна складність підбору ключа скоротилася до з використанням двох пар відкритого-/закритого тексту.
- KTANTAN64: обчислювальна складність підбору ключа скоротилася до з використанням двох пар відкритого-/закритого тексту.
Тим не менш, це не найкраща атака на сімейство шифрів KTANTAN. У 2011 році була здійснена атака, яка скорочувала обчислювальну складність алгоритму до з використанням чотирьох пар відкритого-/закритого тексту.
Багатовимірний алгоритм
Багатовимірний алгоритм методу зустрічі посередині застосовується при використанні великої кількості циклів шифрування різними ключами на блокових шифрах. Замість звичайної «зустріч посередині» в даному алгоритмі використовується поділ криптотексту кількома проміжними точками.
Припускається, що атакується текст, зашифрований деяку кількість разів блоковим шифром:
Алгоритм
- Обчислюється:
-
- зберігається разом з d .
-
-
- зберігається разом з d .
-
- Для кожного можливого проміжного стану обчислюється:
-
- при кожному збігу з елементом з в зберігаються і ..
-
-
- зберігається разом з в .
-
- Для кожного можливого проміжного стану обчислюється:
-
- при кажному совпадінні з елементом із проверяеться совпадіння з , пвсля чого в зберігаються и .
-
- зберігається разом з в .
-
- Для кожного можливого проміжного стану обчислюється:
- при кажному совпадінні з елементом із провіряється совпадіння с , після чого в зберігаються и .
- и при кажному совпадінні с , проверяється совпадіння с
Далі знайдена послідовність кандидатів тестується на іншій парі відкритого-/закритого тексту для підтвердження істинності ключів. Слід зауважити рекурсивність в алгоритмі: підбір ключів для стану відбувається на основі результатів для стану . Це вносить елемент експоненційної складності в даний алгоритм.
Складність
Часова складність даної атаки становить
Щодо використання пам'яті, легко помітити, що із збільшенням на кожен накладається все більше обмежень, що зменшує кількість записуваних в нього кандидатів. Це означає, що значно менше .
Верхня межа обсягу використаної пам'яті:
-
- де - загальна довжина ключа.
Складність використання даних залежить від ймовірності "проходження" помилкового ключа. Ця ймовірність дорівнює , де - довжина першого проміжного стану, яка найчастіше дорівнює розміру блоку. Враховуючи кількість кандидатів в ключі після першої фази, складність дорівнює .
В результаті отримуємо , де - розмір блоку.
Кожен раз, коли послідовність кандидатів у ключі тестується на новій парі відкритого-/закритого тексту, кількість ключів, які успішно проходять перевірку, множиться на імовірність проходження ключа, яка дорівнює .
Частина атаки повним перебором (перевірка ключів на нових парах відкритого-/закритого текстів) має часову складність , в котрій, очевидно, наступні доданки дедалі швидше прагнуть до нуля.
У підсумку, складність даних за аналогічними судженнями обмежена приблизно парами відкритого-/закритого ключа.
Примітки
- Diffie, Whitfield; Hellman, Martin E. (June 1977). . Computer. 10 (6): 74—84. doi:10.1109/C-M.1977.217750. Архів оригіналу за 14 травня 2009. Процитовано 29 липня 2018.
- Andrey Bogdanov and Christian Rechberger. "A 3-Subset Meet-in-the-Middle Attack: Cryptanalysis of the Lightweight Block Cipher KTANTAN" [ 7 листопада 2018 у Wayback Machine.]
- Christophe De Cannière, Orr Dunkelman, Miroslav Knežević. «KATAN & KTANTAN — A Family of Small and Efficient Hardware-Oriented Block Ciphers» [ 20 квітня 2018 у Wayback Machine.]
- Lei Wei, Christian Rechberger, Jian Guo, Hongjun Wu, Huaxiong Wang, and San Ling. "Improved Meet-in-the-Middle Cryptanalysis of KTANTAN" [ 7 листопада 2018 у Wayback Machine.]
- Zhu, Bo; Guang Gong (2011). . eCrypt. Архів оригіналу за 29 липня 2018. Процитовано 29 липня 2018.
Література
- Moore, Stephane (16 листопада 2010). Meet-in-the-Middle Attacks (PDF): 2.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U kriptoanalizi metodom zustrichi poseredini abo atakoyu zustrich poseredini angl meet in the middle attack nazivayetsya klas atak na kriptografichni algoritmi yaki asimptotichno zmenshuyut chas povnogo pereboru za rahunok principu rozdilyaj i volodaryuj a takozh zbilshennya ob yemu neobhidnoyi pam yati Vpershe cej metod buv zaproponovanij Uitfildom Diffi i Martinom Gellmanom u 1977 roci Pochatkovi umoviIsnuyut vidkritij nezashifrovanij i shifrovanij teksti Kriptosistema skladayetsya iz h displaystyle h cikliv shifruvannya Ciklovi klyuchi nezalezhni j ne mayut spilnih bitiv Klyuch K displaystyle K sistemi yavlyaye soboyu poyednannya iz h displaystyle h ciklovih klyuchiv k1 k2 kh displaystyle k 1 k 2 k h Zavdannya polyagaye v znahodzhenni klyucha K displaystyle K Rozv yazok prostogo vipadkuProstim prikladom ye podvijne poslidovne shifruvannya blochnim algoritmom dvoma riznimi klyuchami K1 displaystyle K 1 i K2 displaystyle K 2 Proces shifruvannya viglyadaye tak s ENCK2 ENCK1 p displaystyle s ENC K 2 ENC K 1 p de p displaystyle p ce vidkritij tekst s displaystyle s shifrotekst a ENCKi displaystyle ENC K i operaciya odnorazovogo shifruvannya klyuchem Ki displaystyle K i Vidpovidno zvorotna operaciya rozshifrovka viglyadaye tak p ENCK1 1 ENCK2 1 s displaystyle p ENC K 1 1 ENC K 2 1 s Na pershij poglyad zdayetsya sho zastosuvannya podvijnogo shifruvannya bagatorazovo zbilshuye stijkist vsiyeyi shemi oskilki perebirati teper potribno dva klyuchi a ne odin U razi algoritmu DES stijkist zbilshuyetsya z 256 displaystyle 2 56 do 2112 displaystyle 2 112 Odnak ce ne tak Atakuyuchij mozhe sklasti dvi tablici Vsi znachennya m1 ENCK1 p displaystyle m 1 ENC K 1 p dlya vsih mozhlivih znachen K1 displaystyle K 1 Vsi znachennya m2 ENCK2 1 s displaystyle m 2 ENC K 2 1 s dlya vsih mozhlivih znachen K2 displaystyle K 2 Potim jomu dostatno lishe znajti zbigi u cih tablicyah tobto taki znachennya m1 displaystyle m 1 i m2 displaystyle m 2 sho ENCK1 p ENCK2 1 s displaystyle ENC K 1 p ENC K 2 1 s Kozhen zbig vidpovidaye naboru klyuchiv K1 K2 displaystyle K 1 K 2 yakij zadovolnyaye umovi oskilki s ENCk2 ENCk1 p ENC 1k2 s ENC 1k2 ENCk2 ENCk1 p ENC 1k2 s ENCk1 p displaystyle begin aligned s amp mathit ENC k 2 mathit ENC k 1 p mathit ENC 1 k 2 s amp mathit ENC 1 k 2 mathit ENC k 2 mathit ENC k 1 p mathit ENC 1 k 2 s amp mathit ENC k 1 p end aligned Dlya danoyi ataki potribno 257 displaystyle 2 57 operacij shifruvannya rozshifruvannya lishe udvichi bilshe nizh dlya pereboru odnogo klyucha i 257 displaystyle 2 57 pam yati Dodatkovi optimizaciyi vikoristannya hesh tablic obchislennya tilki dlya polovini klyuchiv dlya DES povnij perebir naspravdi vimagaye lishe 255 displaystyle 2 55 operacij mozhut zniziti ci vimogi Golovnij rezultat ataki polyagaye v tomu sho poslidovne shifruvannya dvoma klyuchami zbilshuye chas pereboru lishe udvichi Rozv yazok u zagalnomu viglyadiPoznachimo peretvorennya algoritmu yak Ek a b displaystyle E k a b de a displaystyle a Vidkritij tekst a b displaystyle b shifrotekst Jogo mozhna uyaviti yak kompoziciyu Ek1Ek2 Ekh a b displaystyle E k 1 E k 2 E k h a b de Eki displaystyle E k i ciklove peretvorennya na klyuchi Eki displaystyle E k i Kozhen klyuch ki displaystyle k i yavlyaye soboyu dvijkovij vektor dovzhini n displaystyle n a zagalnij klyuch sistemi vektor dovzhini n h displaystyle n times h 1 Zapovnennya pam yati Perebirayutsya vsi znachennya k k1 k2 kr displaystyle k k 1 k 2 k r tobto pershi r displaystyle r ciklovi klyuchi Na kozhnomu takomu klyuchi k displaystyle k zashifruyemo vidkritij tekst a displaystyle a Ek a Ek1Ek2 Ekr a S displaystyle E k a E k 1 E k 2 E k r a S tobto prohodimo r displaystyle r cikliv shifruvannya zamist h displaystyle h Budemo vvazhati S displaystyle S yakoyus adresoyu pam yati i za ciyeyu adresoyu zapishemo znachennya k displaystyle k Neobhidno perebrati vsi znachennya k displaystyle k 2 Viznachennya klyucha Perebirayutsya vsi mozhlivi k kr 1 kr 2 kh displaystyle k k r 1 k r 2 k h Na otrimanih klyuchah rozshifrovuyetsya shifrotekst b displaystyle b Ek 1 b Ekh 1 Ekr 1 1 b S displaystyle E k 1 b E k h 1 E k r 1 1 b S Yaksho za adresoyu S displaystyle S ne pusto to distayemo zvidti klyuch k displaystyle k i otrimuyemo kandidata v klyuchi k k k displaystyle k k k Odnak potribno zauvazhiti sho pershij zhe otrimanij kandidat k displaystyle k ne obov yazkovo ye spravzhnim klyuchem Tak dlya danih a displaystyle a i b displaystyle b vikonuyetsya Ek a b displaystyle E k a b ale na inshih znachennyah vidkritogo tekstu a displaystyle a shifrotekstu b displaystyle b otrimanogo z a displaystyle a na istinnomu klyuchi rivnist mozhe porushuvatisya Vse zalezhit vid konkretnih harakteristik kriptosistemi Ale inodi buvaye dostatno otrimati takij psevdoekvivalentnij klyuch V inshomu zh razi pislya zavershennya procedur bude otrimana deyaka mnozhina klyuchiv k k displaystyle k k sered yakih znahoditsya istinnij klyuch Yaksho rozglyadati konkretne zastosuvannya to shifrotekst i vidkritij tekst mozhut buti velikogo obsyagu napriklad grafichni fajli i yavlyati soboyu dosit velike chislo blokiv dlya blokovogo shifru V takomu razi dlya priskorennya procesu mozhna zashifrovuvati i rozshifrovuvati ne ves tekst a lishe jogo pershij blok sho nabagato shvidshe i potim otrimavshi bezlich kandidativ shukati v nomu spravzhnij klyuch pereviryayuchi jogo na inshih blokah Ataka z rozbittyam klyuchovoyi poslidovnosti na 3 chastiniU deyakih vipadkah buvaye vazhko rozdiliti biti poslidovnosti klyuchiv na chastini sho nalezhat do riznih klyuchiv V takomu razi zastosovuyut algoritm en zaproponovanij Bogdanovim i Richbergerom v 2011 roci na osnovi zvichajnogo metodu zustrichi poseredini Danij algoritm zastosovuyetsya v razi vidsutnosti mozhlivosti podilu poslidovnosti klyuchovih bitiv na dvi nezalezhni chastini yak neobhidno v zvichajnomu algoritmi metodu zustrichi poseredini Skladayetsya z dvoh faz fazi vidilennya i perevirki klyuchiv Faza vidilennya klyuchiv Na pochatku danoyi fazi shifr dilitsya na 2 pidshifra f displaystyle f i g displaystyle g yak i v zagalnomu vipadku ataki odnak dopuskayuchi mozhlive vikoristannya deyakih bitiv odnogo pidshifra v inshomu Tak yaksho b Ek a displaystyle b E k a to Ek f g displaystyle E k f g pri comu biti klyucha k displaystyle k sho vikoristovuyutsya v f displaystyle f poznachimo kf displaystyle k f a v g displaystyle g kg displaystyle k g Todi klyuchovu poslidovnist mozhna rozdiliti na 3 chastini A0 displaystyle A 0 peretin mnozhin kf displaystyle k f i kg displaystyle k g A1 displaystyle A 1 klyuchovi biti yaki ye tilki v kf displaystyle k f A2 displaystyle A 2 klyuchovi biti yaki ye tilki v kf displaystyle k f Dali provoditsya ataka metodom zustrichi poseredini za nastupnim algoritmom Dlya kozhnogo elementa iz A0 displaystyle A 0 Virahuvati promizhne znachennya i f kf a displaystyle i f k f a de a displaystyle a vidkritij tekst a kf displaystyle k f deyaki klyuchovi biti iz A0 displaystyle A 0 i A1 displaystyle A 1 tobto i displaystyle i rezultat promizhnogo shifruvannya vidkritogo tekstu na klyuchi kf displaystyle k f Virahuvati promizhne znachennya j g 1 kg b displaystyle j g 1 k g b de b displaystyle b zakritij tekst a kg displaystyle k g deyaki klyuchovi biti iz A0 displaystyle A 0 i A2 displaystyle A 2 tobto j displaystyle j rezultat promizhnogo shifruvannya vidkritogo tekstu na klyuch kg displaystyle k g Porivnyati i displaystyle i i j displaystyle j U razi zbigu otrimayemo kandidata v klyuchiFaza perevirki klyuchiv Dlya perevirki klyuchiv otrimani kandidati pereviryayut na dekilkoh parah vidomih vidkritih zakritih tekstiv Zazvichaj dlya perevirki potribno ne duzhe velika kilkist takih par tekstiv Priklad Yak priklad navedemo ataku na simejstvo shifriv KTANTAN yaka dozvolila zmenshiti obchislyuvalnu skladnist otrimannya klyucha z 280 displaystyle 2 80 ataka povnim pereborom do 275 170 displaystyle 2 75 170 Pidgotovka ataki Kozhen z 254 raundiv shifruvannya z vikoristannyam KTANTAN vikoristovuye 2 vipadkovih bita klyucha z 80 bitnogo naboru Ce robit skladnist algoritmu zalezhnoyu tilki vid kilkosti raundiv Pristupayuchi do ataki avtori pomitili nastupni osoblivosti V raundah z 1 po 111 ne buli vikoristani nastupni biti klyucha k32 k39 k44 k61 k66 k75 displaystyle k 32 k 39 k 44 k 61 k 66 k 75 V raundah z 131 po 254 ne buli vikoristani nastupni biti klyucha k3 k20 k41 k47 k63 k74 displaystyle k 3 k 20 k 41 k 47 k 63 k 74 Ce dozvolilo rozdiliti biti klyucha na nastupni grupi A0 displaystyle A 0 zagalni biti klyucha ti 68 bit sho ne zgadani vishe A1 displaystyle A 1 biti sho vikoristovuyutsya tilki v pershomu bloci raundiv z 1 po 111 A2 displaystyle A 2 biti yaki vikoristovuyutsya tilki u drugomu bloci raundiv z 131 po 254 Persha faza vidilennya klyuchiv Vinikala problema obchislennya opisanih vishe znachen i displaystyle i i j displaystyle j tak yak v rozglyadi vidsutni raundi z 112 po 130 odnak todi bulo provedeno en avtori ataki pomitili zbig 8 bit v i displaystyle i i j displaystyle j perevirivshi yih zvichajnoyu atakoyu metodom zustrichi poseredini na 127 raundi U zv yazku z cim u danij fazi porivnyuvalisya znachennya same cih 8 bit v pidshifrah i displaystyle i i j displaystyle j Ce zbilshilo kilkist kandidativ u klyuchi ale ne skladnist obchislen Druga faza perevirka klyuchiv Dlya perevirki kandidativ v klyuchi algoritmu KTANTAN32 bulo potribno v serednomu she dvi pari vidkritogo zakritogo tekstiv dlya vidilennya klyucha Rezultati KTANTAN32 obchislyuvalna skladnist pidboru klyucha skorotilasya do 275 170 displaystyle 2 75 170 z vikoristannyam troh par vidkritogo zakritogo tekstu KTANTAN48 obchislyuvalna skladnist pidboru klyucha skorotilasya do 275 044 displaystyle 2 75 044 z vikoristannyam dvoh par vidkritogo zakritogo tekstu KTANTAN64 obchislyuvalna skladnist pidboru klyucha skorotilasya do 275 584 displaystyle 2 75 584 z vikoristannyam dvoh par vidkritogo zakritogo tekstu Tim ne mensh ce ne najkrasha ataka na simejstvo shifriv KTANTAN U 2011 roci bula zdijsnena ataka yaka skorochuvala obchislyuvalnu skladnist algoritmu do 272 9 displaystyle 2 72 9 z vikoristannyam chotiroh par vidkritogo zakritogo tekstu Bagatovimirnij algoritmBagatovimirnij algoritm metodu zustrichi poseredini zastosovuyetsya pri vikoristanni velikoyi kilkosti cikliv shifruvannya riznimi klyuchami na blokovih shifrah Zamist zvichajnoyi zustrich poseredini v danomu algoritmi vikoristovuyetsya podil kriptotekstu kilkoma promizhnimi tochkami Pripuskayetsya sho atakuyetsya tekst zashifrovanij deyaku kilkist raziv blokovim shifrom C ENCkn ENCkn 1 ENCk1 P displaystyle C ENC k n ENC k n 1 ENC k 1 P P DECk1 DECk2 DECkn C displaystyle P DEC k 1 DEC k 2 DEC k n C Algoritm Obchislyuyetsya sC1 ENCf1 kf1 P displaystyle sC 1 ENC f 1 k f 1 P kf1 K displaystyle forall k f 1 in K sC1 displaystyle sC 1 zberigayetsya razom z k1 displaystyle k 1 d H1 displaystyle H 1 dd dd sCn 1 DECbn 1 kbn 1 C displaystyle sC n 1 DEC b n 1 k b n 1 C kbn 1 K displaystyle forall k b n 1 in K sCn 1 displaystyle sC n 1 zberigayetsya razom z kbn 1 displaystyle k b n 1 d Hbn 1 displaystyle H b n 1 dd dd Dlya kozhnogo mozhlivogo promizhnogo stanu s1 displaystyle s 1 obchislyuyetsya sC1 DECb1 kb1 s1 displaystyle sC 1 DEC b 1 k b 1 s 1 kb1 K displaystyle forall k b 1 in K pri kozhnomu zbigu sC1 displaystyle sC 1 z elementom z H1 displaystyle H 1 v T1 displaystyle T 1 zberigayutsya kb1 displaystyle k b 1 i kf1 displaystyle k f 1 dd dd sC2 ENCf2 kf2 s1 displaystyle sC 2 ENC f 2 k f 2 s 1 kf2 K displaystyle forall k f 2 in K sC2 displaystyle sC 2 zberigayetsya razom z kf2 displaystyle k f 2 v H2 displaystyle H 2 dd dd Dlya kozhnogo mozhlivogo promizhnogo stanu s2 displaystyle s 2 obchislyuyetsya sC2 DECb2 kb2 s2 displaystyle sC 2 DEC b 2 k b 2 s 2 kb2 K displaystyle forall k b 2 in K pri kazhnomu sovpadinni sC2 displaystyle sC 2 z elementom iz H2 displaystyle H 2 proveryaetsya sovpadinnya z T1 displaystyle T 1 pvslya chogo v T2 displaystyle T 2 zberigayutsya kb2 displaystyle k b 2 i kf2 displaystyle k f 2 dd sC3 ENCf3 kf3 s2 displaystyle sC 3 ENC f 3 k f 3 s 2 kf3 K displaystyle forall k f 3 in K sC3 displaystyle sC 3 zberigayetsya razom z kf3 displaystyle k f 3 v H3 displaystyle H 3 dd dd Dlya kozhnogo mozhlivogo promizhnogo stanu s1 displaystyle s 1 obchislyuyetsya sCn DECbn kbn sn displaystyle sC n DEC b n k b n s n kbn K displaystyle forall k b n in K pri kazhnomu sovpadinni sCn displaystyle sC n z elementom iz Hn displaystyle H n proviryayetsya sovpadinnya s Tn 1 displaystyle T n 1 pislya chogo v Tn displaystyle T n zberigayutsya kbn displaystyle k b n i kfn displaystyle k f n sCn 1 ENCfn 1 kfn 1 sn displaystyle sC n 1 ENC f n 1 k f n 1 s n kfn 1 K displaystyle forall k f n 1 in K i pri kazhnomu sovpadinni sCn 1 displaystyle sC n 1 s Hn 1 displaystyle H n 1 proveryayetsya sovpadinnya s Tn displaystyle T n dd Dali znajdena poslidovnist kandidativ testuyetsya na inshij pari vidkritogo zakritogo tekstu dlya pidtverdzhennya istinnosti klyuchiv Slid zauvazhiti rekursivnist v algoritmi pidbir klyuchiv dlya stanu sj displaystyle s j vidbuvayetsya na osnovi rezultativ dlya stanu sj 1 displaystyle s j 1 Ce vnosit element eksponencijnoyi skladnosti v danij algoritm Skladnist Chasova skladnist danoyi ataki stanovit 2 kf1 2 kbn 1 2 s1 2 kb1 2 kf2 2 s2 2 kb2 2 kf3 displaystyle 2 k f 1 2 k b n 1 2 s 1 cdot 2 k b 1 2 k f 2 2 s 2 cdot 2 k b 2 2 k f 3 Shodo vikoristannya pam yati legko pomititi sho iz zbilshennyam i displaystyle i na kozhen Ti displaystyle T i nakladayetsya vse bilshe obmezhen sho zmenshuye kilkist zapisuvanih v nogo kandidativ Ce oznachaye sho T2 T3 Tn displaystyle T 2 T 3 T n znachno menshe T1 displaystyle T 1 Verhnya mezha obsyagu vikoristanoyi pam yati 2 kf1 2 kbn 1 2 k s n displaystyle 2 k f 1 2 k b n 1 2 k s n de k displaystyle k zagalna dovzhina klyucha dd Skladnist vikoristannya danih zalezhit vid jmovirnosti prohodzhennya pomilkovogo klyucha Cya jmovirnist dorivnyuye 1 2l displaystyle 1 2 l de l displaystyle l dovzhina pershogo promizhnogo stanu yaka najchastishe dorivnyuye rozmiru bloku Vrahovuyuchi kilkist kandidativ v klyuchi pislya pershoyi fazi skladnist dorivnyuye 2 k l displaystyle 2 k l V rezultati otrimuyemo 2 k 2b displaystyle 2 k 2b de b displaystyle b rozmir bloku Kozhen raz koli poslidovnist kandidativ u klyuchi testuyetsya na novij pari vidkritogo zakritogo tekstu kilkist klyuchiv yaki uspishno prohodyat perevirku mnozhitsya na imovirnist prohodzhennya klyucha yaka dorivnyuye 1 2 b displaystyle 1 2 b Chastina ataki povnim pereborom perevirka klyuchiv na novih parah vidkritogo zakritogo tekstiv maye chasovu skladnist 2 k b 2 k 2b 2 k 3b displaystyle 2 k b 2 k 2b 2 k 3b v kotrij ochevidno nastupni dodanki dedali shvidshe pragnut do nulya U pidsumku skladnist danih za analogichnimi sudzhennyami obmezhena priblizno k n displaystyle left lceil k n right rceil parami vidkritogo zakritogo klyucha PrimitkiDiffie Whitfield Hellman Martin E June 1977 Computer 10 6 74 84 doi 10 1109 C M 1977 217750 Arhiv originalu za 14 travnya 2009 Procitovano 29 lipnya 2018 Andrey Bogdanov and Christian Rechberger A 3 Subset Meet in the Middle Attack Cryptanalysis of the Lightweight Block Cipher KTANTAN 7 listopada 2018 u Wayback Machine Christophe De Canniere Orr Dunkelman Miroslav Knezevic KATAN amp KTANTAN A Family of Small and Efficient Hardware Oriented Block Ciphers 20 kvitnya 2018 u Wayback Machine Lei Wei Christian Rechberger Jian Guo Hongjun Wu Huaxiong Wang and San Ling Improved Meet in the Middle Cryptanalysis of KTANTAN 7 listopada 2018 u Wayback Machine Zhu Bo Guang Gong 2011 eCrypt Arhiv originalu za 29 lipnya 2018 Procitovano 29 lipnya 2018 LiteraturaMoore Stephane 16 listopada 2010 Meet in the Middle Attacks PDF 2