Integral kryptoanalyse er en kryptoanalysemetode , der kombinerer en række angreb på symmetriske blokkryptografiske algoritmer . I modsætning til differentiel kryptoanalyse , som overvejer effekten af en algoritme på et par klartekster, involverer integreret kryptoanalyse studiet af at kortlægge et sæt klartekster til en chiffertekst . Anvendt første gang i 1997 af Lars Knudsen .
I videnskabelige artikler blev udtrykket " integral cryptanalysis " foreslået i 1999 i publikationen Integral cryptanalysis of SAFER + (engelsk) . Selve konceptet blev første gang udtrykt af Lars Knudsen , da han analyserede Square -chifferet i 1997. Af denne grund bruges udtrykket "Square-lignende angreb" eller blot "Square-angreb" ofte i litteraturen. For 2011 er der ingen revolutionerende fremskridt med hensyn til Square-angrebet inden for integreret kryptoanalyse.
Lad være en endelig abelsk gruppe . Så tager vi den 1. blok som et sæt af mulige chiffertekster (i det generelle tilfælde bestemmes det af det valgte alfabet og blokstørrelse), kan vi overveje en gruppe af følgende form med samme gruppeoperation: . Det således konstruerede sæt af n-dimensionelt rum er mængden af alle mulige chiffertekster. Derfor er rumelementet en bestemt chiffertekst, komponenterne i denne vektor er værdien af chiffertekstblokkene. Vi antager, at summen af vektorer er en vektor, hvis komponenter er lig med summen af de tilsvarende komponenter i vilkårene. Mængdeintegralet er summen af alle vektorer inkluderet i : .
Vellykket integreret krypteringsanalyse skulle reducere antallet af nøglegæt iterationer . For at gøre dette forsøger vi at gruppere klartekstvektorerne, så der, baseret på grupperingen, kan findes eventuelle mønstre. Det er praktisk at studere algoritmer baseret på følgende partition:
hvor er et fast tal, (vektor)
Følgende sætning [1] spiller en nøglerolle :
Lad være en endelig abelsk gruppe . Betegn , og rækkefølgen af g er lig med 1 eller 2. Definer . Så . Desuden,
Det er værd at bemærke et vigtigt resultat af sætningen: hvis ), så , siden
Vi bemærker en række notationer, der ofte bruges i publikationer om angreb baseret på integreret kryptoanalyse:
Overvej, hvordan integralerne over S ændres, hvis alle elementer i dette sæt føres til input fra Feistel-netværket. Lad S være et sæt af chiffertekster, hvor alle på nær én af de tilsvarende blokke er ens (de kan være forskellige fra hinanden). I eksemplet er chifferteksten 16 blokke arrangeret i 2 linjer. For chiffer som AES er det også vigtigt at overveje, at chifferteksten er givet af en matrix, da de bruger forskellige operationer for rækker og kolonner. Overvej effekten af Feistel-celler i trin:
Selv anvendeligt til det beskrevne eksempel er det muligt at reducere antallet af iterationer til udvælgelse betydeligt eller give yderligere information til forskellige typer kryptoanalyse.
Som med differentiel kryptoanalyse kan integralbaserede angreb klassificeres som en type angreb baseret på adaptivt valgt klartekst .
Lars Knudsen bemærkede også ligheden med det trunkerede differentialangreb , som har ideen om at overveje adfærden af ikke hele forskellen, som i differentiel kryptoanalyse, men dens dele. Desuden har integreret kryptoanalyse overlegenhed i sin evne til at overveje den tredje tilstand af resultatet - , mens angrebet af trunkerede differentialer kun skelner to.
For at angribe højordens differentialer kan du se, at i Galois-feltet ligner udtrykket for s -te ordens differentialet integralet [3] . Således kan man forsøge at generalisere nogle metoder til differentiel kryptoanalyse til integrale.
Det er bemærkelsesværdigt, at angrebene af trunkerede differentialer og højordens differentialer også først blev offentliggjort af Lars Knudsen i 1994, også på FSE-konferencen [4]
Angreb på AES - lignende cifre ( Rijndael , SQUARE , CRYPTON ) kan generaliseres ved det første trin - overvejelse af integraler efter 3. krypteringsrunde. Yderligere trin er forsøg på at forbedre angrebet ved at øge antallet af runder ved at bruge forskellige antagelser, der uundgåeligt øge antallet af iterationer af søgningen, og derved også kompleksiteten ved at bryde .
Nøglepunkterne for bytematrixkryptering er ikke-lineær transformation, rækkeskift, kolonnetransformation, tilføjelse af tekst (mellembytematrix) med rund nøglematrix.
Overvej en seksten- byte klartekst . Lad kryptanalytikeren råde over 256 chiffertekster med følgende egenskab: de er hentet fra byte-matricer, hvor alle på nær én bytes er ens i sættet af disse chiffertekster. På grund af deres antal kan vi sige, at en "ulige" byte vil antage alle mulige værdier på et givet sæt. Således kan vi gå til ovenstående notation:
Overvej tekstens tilstand efter hver runde:
Så efter første runde:
Efter anden runde:
Ved at bruge resultatet af sætningen beskrevet i teoriafsnittet får vi værdierne af integralerne i hver byte
Da der i sidste runde ikke er nogen kolonnetransformation (ifølge AES-specifikationen), og de resterende transformationer konverteres til , så ændres værdien af integralet ikke for fire-runde-skemaet som følge af den sidste runde. op til stadiet af binær addition med en rund nøgle. I dette tilfælde er der kun tilbage, at hver byte antager værdien af den tilsvarende byte af rundenøglen, får den estimerede tekst fra 3. runde og kontrollerer, om integralet af den tilsvarende blok er lig med nul. Hvis den er lig, kan den runde nøgle-byte betragtes som fundet.
Udvidelser efter antal runderSkemaet kan udvides til et syv-runders skema ved at overveje, hvad transformationen af integralet afhænger af en bestemt byte. Men selv i tilfælde af 7 runder er antallet af iterationer, der kræves, højt, i dette tilfælde søges forbindelserne mellem rundnøglerne ved at analysere kodegenereringsskemaet. [5]
Forbedringer af kryptografressourcerVæsentlig reducere den tid, det tager at søge efter nøgler, på grund af den særlige organisering af søgebetingelserne, ved hjælp af tre-byte vektorer, tillader indførelsen af den såkaldte partielle sum. En sådan modifikation af en seks-rund chiffer reducerer opregningskraften fra til . En anden tilgang er at bruge det faktum, at integralet over sæt med forskellige også forsvinder efter den eftertragtede tredje runde. Denne metode kræver en enorm mængde hukommelsesressourcer og besiddelse af en meget stor base af almindelig tekst - chiffertekst. [6]
Ved at bruge delvise summer er det muligt at implementere et hack af otte-runde-systemet, men kompleksiteten af dette hack er endnu større end den udtømmende opregning .
Det grundlæggende angreb på Square-chifferet er praktisk talt det samme som fire-runders angreb på AES, det giver dig også mulighed for at udvide antallet af runder. Måske er den eneste væsentlige forskel tilstedeværelsen af den første runde af kryptering og, som et resultat, to metoder til udvidelse (en mod den sidste runde, den anden mod den første). Udviklerne af chifferen var, mens de undersøgte det, i stand til at bygge et angreb på seks-runder kryptering .
Følgende resultater er blevet offentliggjort [7] :
Angreb | Antal åbne tekster | Tid | Hukommelsesomkostninger |
I 4 omgange | Få | ||
I 5 omgange på 1. måde | få | ||
Til 5 runder på 2. vej | |||
I 6 omgange |