Related- key attack [ 1] är en typ av kryptografisk attack där en kryptoanalytiker väljer ett förhållande mellan ett par nycklar, men själva nycklarna förblir okända för honom. Data krypteras med båda nycklarna. I den kända klartextvarianten känner kryptoanalytikern till klartexten och chiffertexten för data krypterad med två nycklar. Angriparens mål är att hitta de faktiska hemliga nycklarna. Det antas att angriparen känner till eller väljer någon matematisk relation som länkar ihop nycklarna. Relationen har formen ( ) [2] , där är funktionen vald av angriparen och är de associerade nycklarna. För varje kryptering väljs förhållandet mellan nycklarna individuellt. Det finns många sätt att hitta detta förhållande korrekt [3] . Jämfört med andra attacker där angriparen bara kan manipulera klartexten och/eller chiffertexten, ger valet av relationen mellan de hemliga nycklarna en ytterligare grad av frihet för angriparen. Nackdelen med denna frihet är att sådana attacker kan vara svårare i praktiken. Men designers försöker vanligtvis skapa "ideala" primitiver som automatiskt kan användas utan ytterligare analys i den bredaste möjliga uppsättningen av protokoll eller driftsätt. Att motstå sådana attacker är således ett viktigt designmål för blockchiffer, och i själva verket var det ett av de uttalade designmålen för Rijndael- algoritmen .
De flesta krypteringsalgoritmer modifierar den ursprungliga nyckeln för senare användning. Denna modifiering kallas nyckelexpansion . Det finns exempel på algoritmer där nyckelexpansionsproceduren är extremt komplex jämfört med den faktiska krypteringen, bland dem är HPC- och FROG- algoritmerna värda att nämna . Namnet på proceduren bestäms av det faktum att den initiala krypteringsnyckeln vanligtvis har en storlek som är betydligt mindre än uppsättningen av undernycklar som används i omgångarna av algoritmen, det vill säga den utökade nyckeln.
Det visar sig att krypteringsalgoritmen logiskt kan delas in i två subalgoritmer: de faktiska krypteringstransformationerna och nyckelexpansionsproceduren. Det finns ett antal krav för nyckelexpansionsproceduren [4] :
Denna typ av attack föreslogs först av den israeliska vetenskapsmannen Eli Biham 1992 i artikeln New Types of Cryptanalytic Attacks Using Related Keys . Den länkade nyckelattacken som beskrivs av honom liknar en skjuvningsattack . Shift attack ( engelska slide attack ) - kryptografisk attack , som i det allmänna fallet är en attack baserad på vald klartext , som tillåter kryptoanalys av block med flera runda chiffer, oavsett antalet omgångar som används. Föreslagen av Alex Biryukov och David Wagner 1999 [5] . Skiftattacken använder två klartexter och uppfyller följande relation: , där är rundfunktionen och är undernyckeln till den första omgången . En relaterad nyckelattack använder en liknande relation mellan nycklar. Låt oss anta att den önskade krypteringsnyckeln K efter dess modifiering genom nyckelexpansionsproceduren ger en sekvens av undernycklar: , där är antalet rundor av krypteringsalgoritmen. Antag att det finns en nyckel vars expansion ger följande sekvens: , det vill säga sekvensen av undernycklar som skapas på basis av nyckeln skiftas cykliskt i förhållande till sekvensen för den önskade tangenten med 1 varv [6] .
Vilken av texterna som motsvarar respektive text från , vet kryptanalytikern inte i förväg. Men sannolikheten för att två slumpmässigt utvalda texter kommer att uppfylla det erforderliga förhållandet är . Då måste det obligatoriska paret hittas efter att ha analyserat inte mer än texter, i enlighet med födelsedagsparadoxen . Villkoret för texterna är inte strikt, det är en uppskattning och kommer endast att uppfyllas i genomsnitt [8] .
Nyckeln som hittas från ovanstående system är den nödvändiga undernyckeln . Beroende på nyckelgenereringsoperationen kan kunskap ge kryptoanalytikern många möjligheter till obehörig åtkomst till information. Till exempel är nyckelgenereringen av LOKI89 -algoritmen konstruerad på ett sådant sätt att den helt enkelt är den vänstra 32-bitarsdelen av nyckeln . Eftersom denna algoritm använder en 64-bitars nyckel räcker det efter beräkningen att bara räkna upp alternativen för att hitta den. [9]
Den runda funktionen för den attackerade algoritmen måste vara tillräckligt svag för att beräkna , vilket är fallet för de flesta moderna krypteringsalgoritmer. Dessutom kan attackens komplexitet reduceras avsevärt i förhållande till fallet som beskrivs ovan, allt beror på den valda klartextkrypteringsalgoritmen. Till exempel är beräkningar förenklade för algoritmer baserade på ett balanserat Feistel-nätverk .
DES ( data encryption s tandard ) är en algoritm för symmetrisk kryptering utvecklad av IBM och godkänd av den amerikanska regeringen 1977 som en officiell standard ( FIPS 46-3). Blockstorleken för DES är 64 bitar . Algoritmen är baserad på ett Feistel-nätverk med 16 cykler ( rundor ) och en nyckel på 56 bitar . Algoritmen använder en kombination av icke-linjära (S-boxar) och linjära (E, IP, IP-1 permutationer) transformationer.
DES-krypteringsalgoritmen är resistent mot en sådan attack. Under krypteringsprocessen för huvudkrypteringsfunktionen krävs det att man beräknar sexton 48-bitarsnycklar, som är resultatet av att konvertera 56-bitars originalnyckeln ( för mer information, se avsnittet "Nyckelgenerering" ). Antalet skift i nyckelberäkningsalgoritmen stämmer inte överens i alla omgångar. Typiskt skiftas nyckelregistren två bitar efter varje omgång och endast en bit efter den första, nionde och femtonde omgången. Men om du ändrar detta växlingsschema, ställ in växlingen till att vara densamma i alla omgångar, då blir det resulterande kryptosystemet sårbart för en attack med länkad nyckel. Den minst säkra att attackera är den modifierade DES, där nyckeln skiftas med två bitar efter varje steg [10] .
Tabellen beskriver antalet skift före varje omgång av nyckelgenerering och den modifierade skiftnummervarianten, som är sårbar för en länkad nyckelattack. För att knäcka en sådan variant av algoritmen skulle kryptoanalytikern bara behöva 2 17 valda klartexter för de valda nycklarna eller 2 33 kända klartexter för de valda nycklarna. För att bryta den modifierade DES är det nödvändigt att utföra 1,43*2 53 operationer, vilket är en liten vinst jämfört med den uttömmande sökningen, där antalet operationer är 2 56 [11] . 1998, med hjälp av en $250 000 EFF DES cracker superdator, knäcktes DES på mindre än tre dagar [12] . EFF DES-cracker använde en brute-force-sökning [13] för att spricka . Enorma krav på tid och datavolym tillåter inte att genomföra en attack på anslutna nycklar utan hjälp av dyr utrustning. Men inte desto mindre är attacken intressant av två anledningar:
Advanced Encryption Standard ( AES ), även känd som Rijndael (uttalas [rɛindaːl] (Randal [14] )) är en symmetrisk blockchifferalgoritm (blockstorlek 128 bitar, nyckel 128/192/256 bitar) antagen som en krypteringsstandard av USA:s regering enligt resultaten av AES-tävlingen . Denna algoritm har analyserats väl och används nu flitigt, vilket var fallet med dess föregångare DES . AES finns i tre smaker, var och en ger olika säkerhetsnivåer beroende på längden på den hemliga nyckeln. Nyckeln kan vara 128, 192 och 256 bitar lång. Sedan 2001, efter valet av AES som kryptografisk standard, har framstegen i dess kryptoanalys varit extremt låg [15] . De bästa resultaten erhölls under attacker baserade på relaterade nycklar under 2009. Alex Biryukov , tillsammans med Dmitry Khovratovich, gav den första kryptoanalytiska attacken med länkad nyckel på full-round AES-192 och AES-256, den utvecklade metoden är snabbare än brute force.
Den utvecklade attacken på AES-256 är lämplig för alla typer av nycklar och har en komplexitet på cirka 2 96. En attack mot AES-192 presenterades också. Båda attackerna minimerar antalet aktiva S-boxar i nyckelgenereringsalgoritmen. Denna operation tillämpas med en bumerangattack . Differentiella egenskaper för bumerangen etablerades genom att söka efter lokala kollisioner i chiffer [16] . Den huvudsakliga egenskapen hos AES-256, som är avgörande för de attacker som övervägs, är att krypteringsalgoritmen har 14 rundor och en 256-bitars nyckel som fördubblas i internt tillstånd. Därför består nyckelgenereringsalgoritmen av endast 7 omgångar, och varje omgång har i sin tur 8 S-boxar. På samma sätt för AES-192, på grund av att nyckeln blir en och en halv gånger större i det interna tillståndet, består nyckelgenereringsalgoritmen av endast 8, inte 12 omgångar. Varje omgång har endast 4 S-block.
Attack mot AES-256Det är nödvändigt att utföra följande steg 2 25,5 gånger [17] :
Varje struktur har alla möjliga alternativ för kolumn noll, rad noll och ett konstant värde i andra byte. Av de 272 texterna i varje struktur kan 2144 par jämföras. Av dessa par kommer 2 (144−8*9) = 2 72 att klara den första omgången. Således får vi 1 obligatorisk kvartett om 2 (96-72) = 2 24 strukturer och 3 nödvändiga kvartetter om 2 25,5 strukturer. Vi beräknar antalet kvartetter av de senaste 6 stegen, det blir cirka 2 (144-56-16) = 2 72 par. Nästa steg är att tillämpa ett 16-bitars filter, så vi får det totala antalet möjliga kvartetter 2 (72+25,5−6) = 2 91,5 [18] .
Attack mot AES-192Nyckelgenereringsalgoritmen i detta fall har den bästa spridningen. Därför använder bumerangattacken två delspår med 6 omgångar vardera. Låt oss analysera 2 73 strukturer med 2 48 texter enligt följande schema [19] :
Båda presenterade attackerna är huvudsakligen av teoretiskt intresse och utgör i praktiken inte ett verkligt hot mot applikationer som använder AES.
De beskrivna attackerna med relaterade nycklar ser inte praktiska ut. I många utvecklingar gynnar de inte mycket jämfört med uttömmande sökning, dessutom kräver de ett stort antal antaganden. Denna attack har länge ansetts vara ganska kraftfull, men rent teoretisk [20] . Men experter som John Kelsey och Bruce Schneier [20] tror nu att attacker med länkade nyckel kan ha praktiska tillämpningar. Vissa implementeringar av kryptografiska algoritmer eller nätverksprotokoll (till exempel autentiserings- eller nyckelutbytesprotokoll) kan redan vara mottagliga för en länkad nyckelattack [20] . En potentiell tillämpning är hashfunktionsanalys . Teoretiskt sett kan attacker med länkade nyckel vara farliga om symmetriska krypteringsalgoritmer används för att bygga hashfunktioner. För närvarande är ingen specifik applikation för hashfunktioner känd, men hashfunktionsdesigner bör ta hänsyn till att en sådan svaghet finns när de designar. I vilket fall som helst rekommenderas det starkt att ta hänsyn till kryptoanalys på associerade nycklar när man utvecklar krypteringsalgoritmer och deras implementering [21] . Det noteras i [20] att huvudvillkoret för attacken ser ganska konstigt ut: kryptoanalytikern kan skriva nyckeln, det vill säga modifiera den önskade okända nyckeln på det sätt som krävs, men kan inte läsa den. Vissa implementeringar av kryptografiska algoritmer eller nätverksprotokoll kan dock attackeras med associerade nycklar. I vilket fall som helst rekommenderas det starkt att ta hänsyn till kryptoanalys på länkade nycklar [20] när man utvecklar krypteringsalgoritmer och deras implementering. Det noteras också att attacker på relaterade nycklar kan vara mycket farliga om symmetriska krypteringsalgoritmer används för att bygga hashfunktioner.
Det finns andra potentiella sårbarheter som introduceras i krypteringsalgoritmen genom en dåligt utformad nyckelexpansionsprocedur, särskilt [22] :