Integral kryptoanalys är en kryptoanalysmetod som kombinerar ett antal attacker på symmetriska blockkrypteringsalgoritmer . Till skillnad från differentiell kryptoanalys , som tar hänsyn till effekten av en algoritm på ett par klartexter, involverar integrerad kryptoanalys studiet av att kartlägga en uppsättning klartexter till en chiffertext . Ansöktes första gången 1997 av Lars Knudsen .
I vetenskapliga artiklar föreslogs termen " integral cryptanalysis " 1999 i publikationen Integral cryptanalysis of SAFER + (engelska) . Själva konceptet uttrycktes först av Lars Knudsen när han analyserade Square -chifferet 1997. Av denna anledning används ofta termen "Kvadratisk-liknande attacker" eller helt enkelt "Square-attack" i litteraturen. För 2011 finns det inga revolutionerande framsteg när det gäller Square-attacken inom området integrerad kryptoanalys.
Låt vara en ändlig abelsk grupp . Sedan, med det första blocket som en uppsättning möjliga chiffertexter (i det allmänna fallet bestäms det av det valda alfabetet och blockstorleken), kan vi överväga en grupp av följande form, med samma gruppoperation: . Uppsättningen av n-dimensionell rymd som på så sätt konstrueras är mängden av alla möjliga chiffertexter. Följaktligen är rymdelementet en viss chiffertext, komponenterna i denna vektor är värdet på chiffertextblocken. Vi antar att summan av vektorer är en vektor vars komponenter är lika med summan av motsvarande komponenter i termerna. Mängdintegralen är summan av alla vektorer som ingår i : .
Framgångsrik integrerad kryptoanalys bör minska antalet nyckelgissningsiterationer . För att göra detta försöker vi gruppera klartextvektorerna så att alla mönster kan hittas baserat på grupperingen. Det är bekvämt att studera algoritmer baserade på följande partition:
var är ett fast tal, (vektor)
Följande sats [1] spelar en nyckelroll :
Låt vara en ändlig abelsk grupp . Beteckna , och ordningen på g är lika med 1 eller 2. Definiera . Sedan . Vidare,
Det är värt att notera ett viktigt resultat av satsen: om ), då , sedan
Vi noterar ett antal notationer som ofta används i publikationer om attacker baserade på integrerad kryptoanalys:
Tänk på hur integralerna över S förändras om alla element i denna uppsättning matas till Feistel-nätverkets ingång. Låt S vara en uppsättning chiffertexter där alla utom ett av motsvarande block är samma (de kan skilja sig från varandra). I exemplet är chiffertexten 16 block ordnade på 2 rader. För chiffer som AES är det också viktigt att tänka på att chiffertexten ges av en matris, eftersom de använder olika operationer för rader och kolumner. Tänk på effekten av Feistel-celler i steg:
Även tillämpligt på det beskrivna exemplet är det möjligt att avsevärt minska antalet iterationer för urval eller tillhandahålla ytterligare information för olika typer av kryptoanalys.
Precis som med differentiell kryptoanalys kan integralbaserade attacker klassificeras som en typ av attack baserad på adaptivt vald klartext .
Lars Knudsen noterade också likheten med den trunkerade differentiella attacken , som har idén att överväga beteendet hos inte hela skillnaden, som i differentiell kryptoanalys, utan dess delar. Dessutom har integrerad kryptoanalys överlägsenhet i sin förmåga att överväga resultatets tredje tillstånd - , medan attacken av trunkerade differentialer bara skiljer två.
För att attackera differentialer av hög ordning , kan du se att i Galois-fältet liknar uttrycket för differentialen av s - ordningen integralen [3] . Således kan man försöka generalisera vissa metoder för differentiell kryptoanalys till integral.
Det är anmärkningsvärt att attackerna av trunkerade differentialer och differentialer av hög ordning också först publicerades av Lars Knudsen 1994, också på FSE-konferensen [4]
Attacker på AES - liknande chiffer ( Rijndael , SQUARE , CRYPTON ) kan generaliseras genom det första steget - övervägande av integraler efter den 3:e omgången av kryptering. Ytterligare steg är försök att förbättra attacken genom att öka antalet omgångar, med olika antaganden som oundvikligen öka antalet iterationer av sökningen, och därmed också komplexiteten i att bryta .
Nyckelpunkterna för bytematriskryptering är icke-linjär transformation, radförskjutning, kolumntransformation, tillägg av text (mellanbytematris) med rund nyckelmatris.
Tänk på en klartext på sexton bytes . Låt kryptoanalytikern ha till sitt förfogande 256 chiffertexter med följande egenskap: de erhålls från bytematriser där alla utom en byte är lika i uppsättningen av dessa chiffertexter. På grund av deras antal kan vi säga att en "ojämn" byte kommer att anta alla möjliga värden på en given uppsättning. Således kan vi gå till ovanstående notation:
Tänk på tillståndet för texten efter varje omgång:
Så, efter första omgången:
Efter andra omgången:
Med hjälp av resultatet av satsen som beskrivs i teoriavsnittet får vi värdena för integralerna i varje byte
Eftersom det i den sista omgången inte förekommer någon kolumntransformation (enligt AES-specifikationen), och de återstående transformationerna konverteras till , så ändras inte värdet på integralen för fyrrundsschemat, som ett resultat av den sista omgången upp till stadiet av binär addition med en rund nyckel. I det här fallet återstår bara att varje byte antar värdet av motsvarande byte för rundtangenten, hämtar den uppskattade texten för den 3:e omgången och kontrollerar om integralen för motsvarande block är lika med noll. Om den är lika, kan den runda nyckelbyten anses hittad.
Expansioner efter antal omgångarSchemat kan utökas till ett schema med sju omgångar genom att överväga vad transformationen av integralen beror på en viss byte. Men även i fallet med 7 omgångar är antalet iterationer som krävs högt, i det här fallet letas länkarna mellan rundningsnycklarna genom att analysera kodgenereringsschemat. [5]
Förbättringar av kryptografresurserAvsevärt minska tiden det tar att söka efter nycklar, på grund av den speciella organisationen av sökvillkoren, med hjälp av tre-byte vektorer, tillåter införandet av den så kallade partiella summan. En sådan modifiering för ett sexrunda chiffer minskar kraften i uppräkningen från till . Ett annat tillvägagångssätt är att använda det faktum att integralen över set med olika också försvinner efter den eftertraktade tredje ronden. Denna metod kräver en enorm mängd minnesresurser och innehav av en mycket stor bas av klartext - chiffertext. [6]
Med hjälp av delsummor är det möjligt att implementera ett hack av systemet med åtta rundor, men komplexiteten i detta hack är ännu större än den för uttömmande uppräkning .
Den grundläggande attacken på Square-chifferet är praktiskt taget densamma som attacken i fyra rundor på AES, den låter dig också utöka antalet omgångar. Den kanske enda betydande skillnaden är närvaron av den första omgången av kryptering och, som ett resultat, två metoder för expansion (en mot den sista omgången, den andra mot den första). Utvecklarna av chifferet, medan de undersökte det, kunde bygga en attack på sex-runders kryptering .
Följande resultat har publicerats [7] :
Ge sig på | Antal öppna texter | Tid | Minneskostnader |
För 4 omgångar | Få | ||
För 5 omgångar på 1:a sättet | få | ||
För 5 omgångar på 2:a sättet | |||
För 6 omgångar |