Differentiel kryptoanalyse er en metode til kryptoanalyse af symmetriske blokcifre (og andre kryptografiske primitiver , især hash-funktioner og stream-cifre ).
Differentiel krypteringsanalyse er baseret på undersøgelsen af transformationen af forskellene mellem krypterede værdier i forskellige runder af kryptering . Som en forskel bruges som regel operationen af bitvis summering modulo 2 , selvom der er angreb med beregningen af differencen modulo . Det er et statistisk angreb. Anvendelig til at knække DES , FEAL og nogle andre cifre, som regel udviklet tidligere end begyndelsen af 90'erne. Antallet af runder af moderne ciphers ( AES , Camellia , etc.) blev beregnet under hensyntagen til sikkerhed , herunder differentiel kryptoanalyse.
Differentiel kryptoanalyse blev foreslået i 1990 af de israelske eksperter Eli Biham og Adi Shamir for at bryde kryptosystemer som DES. I deres arbejde viste de, at DES-algoritmen viste sig at være ret modstandsdygtig over for denne kryptoanalysemetode, og enhver mindste ændring i strukturen af algoritmen gør den mere sårbar.
I 1994 publicerede IBMs Don Coppersmith en artikel [ 1 ] hvori det blev fastslået, at metoden til differentiel kryptoanalyse var kendt af IBM allerede i 1974, og et af målene med udviklingen af DES var at beskytte mod denne metode. IBM havde sine hemmeligheder. Coppersmith forklarede:
Designet udnyttede visse kryptoanalytiske metoder, især metoden "differentiel kryptoanalyse", som ikke er blevet offentliggjort i den åbne litteratur. Efter diskussioner med NSA blev det besluttet, at afsløring af designprocessen også ville afsløre en metode til differentiel kryptoanalyse, hvis kraft kunne bruges mod mange cifre. Dette vil igen reducere USA's fordel i forhold til andre lande inden for kryptografi.
DES viste sig at være kryptografisk modstandsdygtig over for differentiel kryptoanalyse, i modsætning til nogle andre chiffer. Så for eksempel viste FEAL -chifferet sig at være sårbart . En 4-runders FEAL-4 kan knækkes med så lidt som 8 valgte klartekster , og selv en 31-runders FEAL er sårbar over for angreb.
I 1990 fandt Eli Biham og Adi Shamir , ved hjælp af differentiel kryptoanalyse, en måde at bryde DES på, som var mere effektiv end brute force. Ved at arbejde med par af chiffertekster , hvis klartekster har visse forskelle, har videnskabsmænd analyseret udviklingen af disse forskelle, efterhånden som klarteksterne passerer gennem stadierne af DES .
Den grundlæggende metode til differentiel kryptoanalyse er det adaptivt valgte klartekstangreb , selvom det har en udvidelse til klartekstangreb . For at udføre angrebet bruges par af klartekster forbundet med en vis forskel. For DES og DES-lignende systemer er det defineret som eksklusive ELLER (XOR) . Ved dekryptering er det kun nødvendigt med værdien af de tilsvarende chiffertekstpar.
Diagrammet viser Feistel-funktionen . Lad og vær et par input, der adskiller sig med . De udgange, der svarer til dem, er kendte og lig med og , forskellen mellem dem er . Permutationen med forlængelse og -blok er derfor også kendt og er også kendt . og er ukendte, men vi ved, at deres forskel er , fordi forskelle c og neutraliseres. De eneste ikke-lineære elementer i kredsløbet er -blokke. For hver -blok kan du gemme en tabel, hvis rækker er forskellene ved input af -blokken, kolonnerne er forskellene ved output, og i skæringspunktet - antallet af par, der har givet input og output forskelle, og et sted at opbevare disse par selv.
Åbning af den runde nøgle er baseret på det faktum, at for en given værdi er ikke alle værdier lige sandsynlige, men kombinationen af og giver os mulighed for at antage værdierne og . For kendt og dette giver os mulighed for at bestemme . Med undtagelse af alle de nødvendige oplysninger for den sidste runde er indeholdt i det sidste par chiffertekster.
Efter at have bestemt rundnøglen for den sidste cyklus, bliver det muligt delvist at dekryptere chifferteksterne og derefter bruge ovenstående metode til at finde alle rundnøglerne.
For at bestemme de mulige forskelle mellem de chiffertekster, der modtages i den i-te runde, bruges runde karakteristika .
N-runde-karakteristikken er en tupel , der er sammensat af klartekstforskelle , chiffertekstforskelle og et sæt forskelle i mellemliggende krypteringsresultater for hver tidligere runde.
Karakteristikken tildeles en sandsynlighed svarende til sandsynligheden for, at et tilfældigt par af klartekster med en forskel som følge af kryptering med tilfældige nøgler har runde forskelle og chiffertekstforskelle, der matcher dem, der er angivet i karakteristikken. Et par åbne tekster svarende til karakteristikken kaldes "korrekt" . Par åbne tekster, der ikke svarer til karakteristikken, kaldes "forkerte" .
Lad os tage værdien af forskellen mellem tekster ved udgangen af den næstsidste cyklus, brugt til at bestemme den mulige undernøgle til sidste runde, . I et sådant tilfælde bestemmer det "korrekte" tekstpar den rigtige nøgle, mens det "forkerte" par bestemmer en tilfældig nøgle.
I et angreb bruges flere karakteristika normalt samtidigt. Strukturer bruges almindeligvis til at bevare hukommelsen.
For alle nøglemuligheder kan du oprette tællere, og hvis et par foreslår denne mulighed som en gyldig nøgle, vil vi øge den tilsvarende tæller. Den nøgle, der svarer til den største tæller, har stor sandsynlighed for at være korrekt.
For vores beregningsskema vil forholdet mellem antallet af korrekte par S og gennemsnitsværdien af tælleren N blive kaldt signal-til-støj-forholdet og vil blive betegnet med .
For at finde den rigtige nøgle og sikre, at de korrekte par er til stede, skal du:
Antallet af nødvendige par bestemmes af:
Lad nøglestørrelsen være k bit, så skal vi bruge tællere. Hvis en:
så er gennemsnitsværdien af tælleren N :
Hvis er sandsynligheden for karakteristikken, så er antallet af korrekte par S lig med:
Så er signal-til-støj-forholdet :
Bemærk, at for vores designskema afhænger signal-til-støj-forholdet ikke af det samlede antal par. Antallet af nødvendige gyldige par er generelt en funktion af signal-til-støj-forholdet . Det blev eksperimentelt fastslået, at hvis S/N=1-2 , er 20-40 forekomster af korrekte par nødvendige. Hvis forholdet er meget højere, så kan selv 3-4 rigtige par være nok. Endelig, når det er meget lavere, er antallet af nødvendige par enormt.
S/N | Antal par påkrævet |
---|---|
mindre end 1 | Veliko |
1-2 | 20-40 |
mere end 2 | 3-4 |
Med en stigning i antallet af runder øges kompleksiteten af kryptoanalyse, men den forbliver mindre end kompleksiteten af udtømmende søgning, når antallet af cyklusser er mindre end 16.
Afhængighed af antallet af runder | |
---|---|
Antal runder | Kompleksiteten af angrebet |
Designet af S-bokse påvirker også i væsentlig grad effektiviteten af differentiel kryptoanalyse. DES S-bokse er især optimeret til angrebsmodstand.
Mens fuld 16-rund DES oprindeligt blev designet til at være modstandsdygtig over for differentiel kryptoanalyse, viste angrebet sig vellykket mod en bred gruppe af DES-lignende ciphers [2] .
Differentiel kryptoanalyse er også anvendelig mod hash-funktioner .
Efter udgivelsen af værker om differentiel kryptoanalyse i begyndelsen af 1990'erne, blev efterfølgende cifre designet til at være modstandsdygtige over for dette angreb.
Metoden til differentiel kryptoanalyse er stort set en teoretisk præstation. Dens anvendelse i praksis er begrænset af høje krav til tid og datamængde.
Da differentiel krypteringsanalyse primært er en valgt almindelig tekstangrebsmetode, er det vanskeligt at implementere i praksis. Det kan bruges til at angribe med kendt klartekst, men i tilfælde af en fuld 16-rund DES gør dette det endnu mindre effektivt end et brute-force angreb.
Metoden kræver en stor mængde hukommelse til at gemme kandidatnøgler. Metodens effektivitet afhænger også stærkt af strukturen af den hackede algoritmes S-bokse.