Nøgle-gættet angreb

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 21. marts 2015; checks kræver 24 redigeringer .

Valgt nøgleangreb er en af ​​metoderne til kryptoanalytisk  angreb , som overvåger driften af ​​en krypteringsalgoritme , der bruger flere hemmelige nøgler . En kryptoanalytiker har i starten kun information om et bestemt matematisk forhold, der forbinder nøglerne.

Beskrivelse

Ifølge Kerckhoffs-princippet har kryptanalytikeren alle de nødvendige oplysninger om det anvendte krypteringssystem, bortset fra et bestemt sæt hemmelige parametre kaldet nøglen. En kryptoanalytiker kender kun forholdet mellem et par nøgler. Den bruger chifferteksten og det givne forhold til at gætte begge nøgler. To typer af valgte nøgleangreb er kendt: den valgte nøgle og det kendte klartekstangreb, hvor kun relationen mellem nøgleparret er specificeret af kryptoanalytikeren, og det valgte nøgle- og klartekstangreb, hvor kryptoanalytikeren sætter både relationen mellem nøglepar og og selve klarteksten, som skal krypteres. [en]

Et angreb baseret på en valgt nøgle udføres på samme måde på alle kryptosystemer, inklusive den såkaldte "black box", hvor alle egenskaber er ukendte. Denne "sorte boks" bruger krypteringsfunktionen , som er valgt på samme måde for tilfældige permutationer af meddelelser. Bits af nøglen er valgt tilfældigt, således at kendskab til chifferteksten ikke kan fortælle os noget om chifferteksten for nøglen .

Angrebsalgoritmen baseret på den valgte nøgle på den "sorte boks" ud over standardoperationer kan på ethvert tidspunkt af beregningen kræve:

Algoritmen kan også have adgang til en tilfældig bitgenerator. I slutningen af ​​beregningen udlæses den estimerede nøgle . [2]

Således, hvis brugeren bruger en hemmelig nøgle og et offentligt kryptosystem ( public key cryptosystem ), så kan kryptoanalytikeren til enhver tid vælge en besked og en inversionsvektor og udføre kryptering eller dekryptering . Hovedanvendelsen af ​​et gættet nøgleangreb er at verificere systemer, men under visse omstændigheder kan dette angreb anvendes i praksis. Hvis en stream-chiffer bruges til at overføre en sessionsnøgle fra bruger til bruger , og kryptanalytikeren får kontrol over transmissionslinjen, så kan han ændre alle bits af nøglen efter hans smag og vil modtage den ændrede nøgle i stedet for . Derefter, når den starter transmissionen med den forkerte nøgle, vil den modtage en forvansket besked og starte gendannelsesproceduren. I mellemtiden vil kryptanalytikeren modtage teksten krypteret med nøglen. (God kryptobeskyttelse kan afværge sådanne angreb ved at bruge nye uafhængige sessionsnøgler eller ved at tilføje ikke-lineære fejldetektionsbits til sessionsnøglen, når der er behov for en gendannelsesprocedure. Historien viser dog, at god kryptobeskyttelse ikke altid følger dette, og det er ønskeligt at have et system, der ikke går ned under et sådant angreb) [3] .

Hovedtypen af ​​angreb baseret på en valgt nøgle

I denne del vil vi overveje et angreb, der ikke afhænger af en specifik svaghed i krypteringsfunktionen. Det er et man-in-the-middle-angreb ( MITM ). Denne type angreb giver dig mulighed for at reducere tiden for den avancerede søgning, afhængigt af antallet af tilladte nøgleinversioner [4] .

Sætning. Lad være  en blokcifre med en n-bit nøgle. Antag, at kryptoanalytikeren kan udføre inversioner og har hukommelsesord. Så vil han være i stand til at knække chifferen i ekstra trin [4] .

Bevis:

Analytikeren erstatter de sidste bits i nøglen på alle mulige måder. For eksempel krypterer det værdierne

,

hvor er brugerens private nøgle og enhver passende besked. Det opretter en hash-tabel ud fra værdierne [4] .

Den udfører derefter kryptering ved at ændre de første bits af nøglen og nulstille de sidste bits:

.

Efter alle beregninger kontrolleres hver værdi mod hash-tabellen [4] .

Hvis den originale nøgle er knækket igennem , hvor består af de sidste bits, så vil indtastningen matche resultatet gennem kryptering i anden fase. Når et match er fundet, vil det være en kandidatnøgle. Adskillige falske alarmer er mulige, hvis flere nøgler matcher meddelelsen , men som i et matchet tekstangreb vil en eller to yderligere blokke af kendt klartekst næsten helt sikkert udelukke dem, med ringe indflydelse på kørselstiden [4] .

Konklusion: Ved at bruge et ubegrænset antal valgte nøgleangreb kan enhver blokchiffer med en n-bit nøgle brydes ved brug af ikke mere end in-memory beregninger [4] .

Bevis: Lad os vælge .

Bemærk: For et stort antal eksempler og en stor mængde tilgængelig hukommelse vil det være meget mere effektivt at bytte de to stadier i beviset for sætningen. Beregn og gem krypteringer i hukommelsen. For hver opgave skal du udføre inversioner og kontrollere tabellen for overholdelse. Der vil således blive brugt iterationer på hver ekstra opgave [4] .

Sårbarhed af blokkode til angreb baseret på valgt nøgle

Vi vil demonstrere mulighederne for denne type angreb på et kryptosystem, som har vist sig at være ekstremt modstandsdygtigt over for et matchet tekstangreb [3] .

Lad være  en hemmelig blokcifre med en nøglestørrelse af bits. Lad os definere en ny blokcifre .

hvis den første bit er 0 i andre tilfælde, hvor resultatet af inversionen af ​​den første bit er f.eks . legitim blokcifre: hvis den første bit af nøglen er 0 , i andre tilfælde

Hvis hovedkrypteringen har god n-bit beskyttelse, kræver det en avanceret søgning i nøglebitrummet at bryde chifferen med et tekstanalyseangreb . Med andre ord, hvis analytikeren ikke har information om chifferen , så kan han få de nødvendige oplysninger, hvis han krypterer eller dekrypterer med nøglerne eller [3] .

Selvom chifferen er svær at bryde med et valgt tekstangreb, er det meget nemt at bryde med et valgt nøgleangreb. Analytikeren har brug for to cifre: og for en passende besked . Hvis den første bit er nul, så

I andre tilfælde,

[3] .

Således modtager analytikeren straks alle bits af nøglen , undtagen den første, og kan fuldføre operationen, da han kender klarteksten [4] .

Eksempler på angreb

Angreb på LOKI89

I LOKI89-chifferet har hvert valg af to undernøgler , en fra en lige cyklus og en fra en ulige cyklus, en tilsvarende 64-bit nøgle. Da alle algoritmer til at opnå to undernøgler fra de to foregående er de samme, påvirker placeringen af ​​de cyklusser, hvori de to aktuelle undernøgler er placeret, ikke outputtet af de følgende undernøgler. Hvis vi fikser to undernøgler og nøgler og definerer den anden nøgle ved at vælge og , så vil værdierne af nøglens undernøgler være de samme som de følgende undernøgler af nøglen . I så fald . Dette forhold bevares for alle to nøgler valgt på denne måde: hvis informationen før den anden krypteringscyklus med nøglen er den samme som informationen før den første kryptering med nøglen , så er informationen og inputdata for funktionen de samme i begge operationer forskudt med én cyklus. I dette tilfælde, hvis klarteksten er krypteret med nøglen , så vil chifferteksten før den anden cyklus være . De modtagne data er de samme som dem, der blev fundet før den første krypteringscyklus med nøglen , hvis værdi vil være , og dermed i dette par

P ∗ = ( P R , P L ⊕ K L ⊕ R O L 12 ( K L ) ⊕ F ( P R ⊕ K R , K L ) ) {\displaystyle P^{*}=(P_{R},P_{L}\oplus K_{L}\oplus ROL12(K_{L})\oplus F(P_{R}\oplus K_{R},K_ {L}))} Du kan se, at højre side af udtrykket er den samme som venstre side af udtrykket , og forholdet mellem de to andre dele afhænger af tonearten. I et sådant par er der et lignende forhold mellem chiffertekster: C ∗ = ( C R ⊕ K L ⊕ R O L 12 ( K L ) ⊕ F ( C L ⊕ K R , K L ) , C L ) . {\displaystyle C^{*}=(C_{R}\oplus K_{L}\oplus ROL12(K_{L})\oplus F(C_{L}\oplus K_{R},K_{L}), C_{L}).} Graferne beskriver forholdet mellem undernøglerne til de to nøgler og forholdet mellem værdierne under krypteringsprocessen.

ORDNING

Et key-matched-plaintext-angreb, der er afhængigt af disse egenskaber, vælger en 32-bit værdi , klartekster , hvis højre side er , og hvis 32-bit venstre halvdel er tilfældigt valgt, og klartekster , hvis venstre side er , og hvis højre side er valgt tilfældigt. To ukendte tilknyttede nøgler bruges til at kryptere klartekstdata på systemet under undersøgelse: Nøglen bruges til at kryptere de første klartekster, og nøglen bruges til at kryptere de resterende klartekster. For hvert par af klartekster og det er garanteret , og med høj sandsynlighed er der to klartekster, sådan at . For et sådant par forbliver dataene de samme, hvis begge udførelser forskydes med én cyklus. Et sådant par kan let udvælges, hvis det findes, ved at kontrollere ligheden.Sandsynligheden for at bestå denne prøve tilfældigt er , så kun et par par vil kunne bestå den.

Par, der har disse egenskaber for almindelig tekst og chiffertekst, opfylder nøglekravene (1) og (2). For dette par er forholdet således opfyldt , hvor værdien er den eneste ukendte . Af alle de mulige værdier er det kun få, der opfylder ligningen. Ved at bruge differentiel krypterings- og optimeringsteknikker kan man finde en værdi i nogle få operationer. Når værdien er fundet , er det nemt at beregne ved hjælp af formlerne (1) og (2) for at få og .

Et lignende valgt-nøgle-kendt-klartekst-angreb bruger kendte klartekster krypteret med en ukendt nøgle og klartekster krypteret med en relateret nøgle . Et par med disse egenskaber kan let identificeres med 32 almindelige stykker almindelig tekst og 32 almindelige bidder af chiffertekst. Dette par kan bruges til at søge efter nøgler på samme måde som i et valgt nøgle og valgt klartekstangreb. [en]

Sammenligning med andre typer angreb

Ifølge Bruce Schneier er der 7 hovedmåder til kryptoanalytisk angreb [5] :

  1. Angreb kun ved hjælp af chiffertekst.
  2. En obduktion ved hjælp af klartekst.
  3. Et angreb med den valgte klartekst.
  4. Adaptivt angreb ved hjælp af klartekst.
  5. Angreb ved hjælp af den valgte chiffertekst.
  6. Åbning med den valgte tast.
  7. Bandit-krypteringsanalyse .

I tilfælde af et chiffertekst-baseret angreb har kryptoanalytikeren kun adgang til chifferteksten. Dette er den sværeste type angreb på grund af den lille mængde information, der er tilgængelig.

I et kendt klartekstangreb kender kryptanalytikeren både klarteksten og chifferteksten. Denne type angreb er mere effektiv end et chiffertekstbaseret angreb på grund af den større mængde kendt information om kryptosystemet.

Et valgt klartekstangreb er en mere kraftfuld type angreb end et kendt klartekstangreb. Muligheden for at forudvælge almindelig tekst giver flere muligheder for at udtrække systemnøglen. Det er også rigtigt, at hvis et kryptosystem er sårbart over for et kendt klartekstangreb, så er det også sårbart over for et valgt almindeligtekstangreb. [en]

Et matchet nøgleangreb er stærkere end et matchet tekstangreb. Den knækker øjeblikkeligt en specialfremstillet blokchiffer, der er sikker mod andre angreb. For enhver blokchiffer kan et valgt nøgleangreb fremskynde den avancerede søgeproces afhængigt af antallet af tilladte nøgleinversioner. For et ubegrænset gættet nøgleangreb kan mængden af ​​arbejde reduceres som en kvadratrod. Disse resultater er de bedst mulige for et generelt angreb, der ikke er afhængig af nogen bestemt blokchiffer.

Noter

  1. 1 2 3 Biham, 1993 .
  2. Winternitz & Hellman, 1987 .
  3. ↑ 1 2 3 4 Winternitz & Hellman, 1987 , s. 17
  4. ↑ 1 2 3 4 5 6 7 8 Winternitz & Hellman, 1987 , s. atten
  5. Schneier, 2003 .

Litteratur