Puncte:1

Criptanaliza diferențială - cum să extindeți atacul la runde înainte de ultima?

drapel cn

Să presupunem că avem un cifru bloc astfel încât ultima rundă a cifrului depinde de jumătate din cheie, iar penultima rundă utilizează cealaltă jumătate. Să presupunem, de asemenea, că am atacat ultima rundă folosind criptoanaliza diferențială și mi-am redus spațiul de căutare de la 2^8 la 2 opțiuni pentru fiecare octet al acelei jumătăți a cheii.

O modalitate de a încheia atacul ar fi să executați forța brută pe spațiul cheie rămas, dar aș dori să continui să folosesc criptoanaliza diferențială pentru a ataca și penultima rundă, pentru a obține o complexitate mai bună decât forța brută.

Ca un comentariu la acest Întrebare, utilizatorul „kelalaka” pare să sugereze faptul că putem folosi în continuare criptoanaliza diferențială pentru a recupera cheia folosită în penultima rundă, deoarece „probabilitățile vor fi mai bune”. Utilizatorul „kodlu”, în răspunsul la aceeași întrebare, spune: „Atunci rundele pot fi dezlipite una câte una ca în comentarii.”, dar apoi nu descriu cum se face.

Imi poate explica cineva cum sa extind atacul diferential pana in penultima runda, in cadrul specific pe care l-am mentionat sau chiar in general? („Programul cheii” pe care l-am dat nu este deosebit de important, ci este doar o modalitate de a spune că nu putem recupera cheia completă folosind doar ultima cheie de rundă)

kelalaka avatar
drapel in
Ei bine, ar trebui să fie clar. Cu cât mai rotund, cu atât succesul mai mic al atacului. Acesta este motivul pentru care designerii calculează și își stabilesc rundele așa cum au făcut designerii AES.Odată ce atacați până în ultima rundă, decriptați tot textul cifrat pentru ultima rundă, acum aveți perechi pentru a ataca penultima rundă cu o probabilitate cel puțin mai bună. Da, pentru AES-256 aveți nevoie de mai mult de o rundă pentru a recupera cheia completă..
kelalaka avatar
drapel in
Odată ce ultima rundă este ruptă, restul este rupt (în cazul atacului diferențial și liniar).
Puncte:1
drapel pl

Intuiția este cu siguranță că ultimele runde pot fi eliminate una câte una. Dacă un distinctor diferențial ne permite să recunoaștem $n$-a cheie rotundă, atunci cu siguranţă neuniformitatea diferenţială după $n-1$ rundele care ne-au permis să facem acest lucru vor fi și mai rele la rundă $n-2$, asa de clar același truc poate fi folosit pentru a recupera cheia rotundă pentru rundă $n-1$ si tot asa... nu?

Ca orice intuiție bună, această imagine a lucrurilor este incredibil de utilă și profund defectuoasă în același timp.

Obiecția cea mai relevantă din punct de vedere practic este probabil că în multe atacuri (diferențiale sau de altă natură) care atacă cifrurile rundă cu rundă, obținem doar informații parțiale despre subcheia țintă la fiecare pas. Cu alte cuvinte, când am epuizat toate informațiile pe care ni le oferă distincția noastră diferențială despre ultima subcheie, s-ar putea să mai rămână un număr destul de mare de candidați rezonabili. Acum, dacă avem un deosebitor, este adevărat că numărul acestor candidați va fi mai mic decât dacă ar fi trebuit să încercăm toate ultimele subchei, dar coborând rundele înapoi la sursă, este încă foarte posibil ca căutarea rezultată. arborele ajunge să fie mai mare decât numărul de posibilități pe care ar fi trebuit să le luăm în considerare dacă tocmai am făcut o căutare exhaustivă.

Cele două moduri obișnuite prin care atacurile pot rezolva această problemă sunt fie de a arăta că distincția este într-adevăr suficient de bună pentru a preveni explozia arborelui de căutare, fie de a arăta că, la un moment dat, nu trebuie să tratăm cheile rotunde ulterioare ca fiind independente de curentul nostru. ipoteza cheie a rundei finale, deoarece putem rula programul cheie în sens invers. În primul caz, putem într-adevăr să rezolvăm cifrul rotund, în timp ce în cel de-al doilea caz, ajungem la un set de chei principale candidate care este posibil mare, dar, pentru un atac de succes, tot mai mic decât setul de toate cheile principale. Aceste chei pot fi apoi testate împotriva altor informații cunoscute (cele mai cunoscute perechi text simplu-text cifrat) una câte una.

Presupunerea că putem rula programarea cheilor în sens invers odată ce cunoaștem un număr suficient de subchei este îndeplinită pentru majoritatea cifrurilor practice, dar cu siguranță nu este o lege a naturii. Ne-am putea imagina cu ușurință un cifr în care subcheile ar fi derivate din cheia principală printr-o funcție unidirecțională, caz în care atacurile ar trebui, într-adevăr, să recurgă fie la căutarea prin forță brută, fie să rezolve subcheile ca și cum ar fi independente.

Există diverse alte cazuri în care intuiția eșuează decât o tehnică care ne permite să rezolvăm $n$ rundele ne vor permite, de asemenea, să rezolvăm $n-1$ runde; de exemplu, în atacurile diferențiale, distincția obișnuia să rupă $n$ rundele pot depinde de o anumită diferență în rundă $n-1$ care trece la rotund $n-2$ în mod determinist, caz în care nu obținem informații noi când coborâm la rotunjire $n-2$, sau dependențele din programul cheie ar putea face ca neuniformitatea diferențială așteptată a unui cifr să crească în loc să scadă pe măsură ce se adaugă runde (deși, desigur, acest ultim caz se întâmplă doar în cazuri patologice).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.