Integrální kryptoanalýza je metoda kryptoanalýzy , která kombinuje řadu útoků na symetrické blokové kryptografické algoritmy. Na rozdíl od diferenciální kryptoanalýzy , která zvažuje účinek algoritmu na pár holých textů, integrální dešifrování zahrnuje studium mapování souboru holých textů do ciphertextu . Poprvé ji použil v roce 1997 Lars Knudsen .
Ve vědeckých článcích byl termín „ integrální kryptoanalýza “ navržen v roce 1999 v publikaci Integral cryptanalysis of SAFER + (anglicky) . Samotný koncept poprvé vyslovil Lars Knudsen při analýze čtvercové šifry v roce 1997. Z tohoto důvodu se v literatuře často používá termín „útoky podobné čtverci“ nebo jednoduše „útok čtvercový“. Pro rok 2011 nedošlo k žádnému převratnému pokroku ohledně útoku Square na poli integrální kryptoanalýzy.
Nechť je konečná abelovská grupa . Poté, když vezmeme 1. blok jako množinu možných šifrových textů (obecně je určen zvolenou abecedou a velikostí bloku), můžeme uvažovat skupinu následujícího tvaru se stejnou skupinovou operací: . Takto vytvořená množina n-rozměrného prostoru je množinou všech možných šifrových textů. V souladu s tím je prostorovým prvkem určitý šifrový text, složky tohoto vektoru jsou hodnotou bloků šifrového textu. Předpokládáme, že součet vektorů je vektor, jehož složky se rovnají součtům odpovídajících složek členů. Množinový integrál je součtem všech vektorů obsažených v : .
Úspěšná integrální kryptoanalýza by měla snížit počet iterací odhadu klíče . Abychom toho dosáhli, snažíme se seskupit vektory otevřeného textu tak, aby na základě seskupení bylo možné najít jakékoli vzory. Je vhodné studovat algoritmy založené na následujícím oddílu:
kde je pevné číslo, (vektor)
Klíčovou roli hraje následující věta [1] :
Nechť je konečná abelovská grupa . Označte a řád g se rovná 1 nebo 2. Definujte . Pak . dále
Za zmínku stojí důležitý výsledek věty: if ), then , since
Všimli jsme si řady notací, které se často používají v publikacích o útocích založených na integrální kryptoanalýze:
Zvažte, jak se změní integrály přes S , pokud jsou všechny prvky této množiny přivedeny na vstup Feistelovy sítě. Nechť S je množina šifrových textů, ve kterých jsou všechny odpovídající bloky kromě jednoho stejné (mohou se od sebe lišit). V příkladu je šifrový text 16 bloků uspořádaných do 2 řádků. U šifer, jako je AES , je také důležité vzít v úvahu, že šifrový text je dán maticí, protože používají různé operace pro řádky a sloupce. Zvažte účinek Feistelových buněk ve fázích:
I v případě popsaného příkladu je možné výrazně snížit počet iterací pro výběr nebo poskytnout další informace pro různé typy kryptoanalýz.
Stejně jako u diferenciální kryptoanalýzy lze integrální útoky klasifikovat jako typ útoku založený na adaptivně zvoleném otevřeném textu .
Lars Knudsen si také všiml podobnosti s zkráceným diferenciálním útokem , který má myšlenku zvažovat chování ne celého rozdílu, jako v diferenciální kryptoanalýze, ale jeho částí. Integrální kryptoanalýza má navíc převahu ve své schopnosti zohlednit třetí stav výsledku - , zatímco útok zkrácených diferenciálů rozlišuje pouze dva.
Pro útok na diferenciály vyšších řádů můžete vidět, že v Galoisově poli je výraz pro diferenciál s -tého řádu podobný integrálu [3] . Lze se tedy pokusit zobecnit některé metody diferenciální kryptoanalýzy na integrální.
Je pozoruhodné, že útoky zkrácených diferenciálů a diferenciálů vyšších řádů také poprvé publikoval Lars Knudsen v roce 1994, rovněž na konferenci FSE [4].
Útoky na šifry podobné AES ( Rijndael , SQUARE , CRYPTON ) lze zobecnit prvním krokem - zvážením integrálů po 3. kole šifrování Dalšími kroky jsou pokusy o vylepšení útoku zvýšením počtu kol za použití různých předpokladů, které nevyhnutelně zvýšit počet iterací hledání, a tím i složitost prolomení .
Klíčovými body šifrování bajtové matice jsou nelineární transformace, posun řádků, transformace sloupců, přidání textu (střední bajtová matice) s maticí kulatého klíče.
Zvažte šestnáctibajtový prostý text . Nechť má kryptoanalytik k dispozici 256 šifrových textů s následující vlastností: získávají se z bajtových matic, ve kterých jsou všechny bajty kromě jednoho stejné v množině těchto šifrových textů. Vzhledem k jejich počtu můžeme říci, že „nerovný“ bajt nabude všech možných hodnot na dané množině. Můžeme tedy přejít k výše uvedené notaci:
Zvažte stav textu po každém kole:
Takže po prvním kole:
Po druhém kole:
Pomocí výsledku věty popsané v části teorie získáme hodnoty integrálů v každém bajtu
Protože v posledním kole nedochází k transformaci sloupců (podle specifikace AES) a zbývající transformace jsou převedeny na , pak se pro čtyřkolové schéma v důsledku posledního kola hodnota integrálu nezmění až do fáze binárního sčítání kulatým klíčem. V tomto případě zbývá pouze, aby každý bajt převzal hodnotu odpovídajícího bajtu kruhového klíče, získal odhadovaný text 3. kola a zkontroloval, zda je integrál odpovídajícího bloku roven nule. Pokud je rovno, pak lze bajt kulatého klíče považovat za nalezený.
Rozšíření podle počtu kolSchéma lze rozšířit na sedmikolové schéma tím, že zvážíme, jaká transformace integrálu závisí na konkrétním bytu. Avšak i v případě 7 kol je počet požadovaných iterací vysoký, v tomto případě se vazby mezi okrouhlými klíči hledají analýzou schématu generování kódu. [5]
Vylepšení zdrojů kryptografůVýrazně zkrátit dobu hledání klíčů, díky speciální organizaci vyhledávacích podmínek, pomocí tříbajtových vektorů, umožňuje zavedení tzv. částečného součtu. Taková úprava pro šestikolovou šifru snižuje výkon výčtu z na . Jiný přístup je využít toho, že integrál nad množinami s různými po kýženém třetím kole také zaniká. Tato metoda vyžaduje obrovské množství paměťových zdrojů a vlastnictví velmi rozsáhlé základny otevřeného textu – šifrovaného textu. [6]
Pomocí dílčích součtů je možné implementovat hack osmikolového systému, ale složitost tohoto hacku je ještě větší než u vyčerpávajícího výčtu .
Základní útok na čtvercovou šifru je prakticky stejný jako čtyřkolový útok na AES, navíc umožňuje rozšířit počet kol. Snad jediným podstatným rozdílem je přítomnost prvního kola šifrování a ve výsledku dva způsoby rozšíření (jeden směrem k poslednímu kolu, druhý směrem k prvnímu). Vývojáři šifry, když ji zkoumali, dokázali postavit útok na šestikolové šifrování .
Byly zveřejněny následující výsledky [7] :
Záchvat | Počet otevřených textů | Čas | Náklady na paměť |
Na 4 kola | Málo | ||
Na 5 kol 1. způsobem | málo | ||
Na 5 kol 2. způsobem | |||
Na 6 kol |