Ce este criptoanaliza diferențială?

Criptanaliza diferențială este numele unei varietăți de metode de atac criptografic asupra cifrurilor bloc folosind un atac de text simplu cunoscut. Criptanaliza diferențială funcționează prin criptarea textului simplu cunoscut sau a textului necriptat, folosind o cheie de criptare aleasă pentru a determina cum funcționează procesul de criptare. Două intrări sunt selectate cu o diferență constantă între ele, unde diferența dintre cele două intrări poate fi determinată prin operații diferite, inclusiv prin utilizarea operației eXclusive OR (XOR). Când perechea de intrare este rulată prin codul de criptoanaliza diferenţială, se formează o pereche de ieşire folosind o cheie de cifră. Intrarea este cunoscută, astfel încât criptograful urmărește modelele de schimbare în ieșire.

Odată ce ieșirea este primită, criptograful atribuie probabilități anumitor perechi de intrare-ieșire pentru a determina care cheie de cifră a cauzat modificări specifice în perechile de ieșire. Diferite chei de cifrare au probabilități diferite ca anumite ieșiri să apară pentru fiecare intrare. Aceste probabilități permit criptografului să facă presupuneri informate cu privire la diferite aspecte ale cheii pe baza modelelor de intrare și de ieșire.

Această metodă a fost dezvoltată inițial la sfârșitul anilor 1980 de Eli Bidham și Adi Shamir. Acesta a fost destinat să atace cifrurile bloc și să verifice punctele slabe ale algoritmului standard de criptare a datelor (DES) al Biroului Național de Standarde al SUA, folosit ca standard federal de procesare a informațiilor pentru a cripta datele sensibile neclasificate. În 1994, Don Coppersmith, unul dintre inginerii de software IBM care a ajutat la proiectarea DES, a declarat că IBM era deja familiarizat cu criptoanaliza diferențială și a lucrat pentru ca DES să fie rezistent la atacuri.

Pentru a determina cu succes ce cheie de criptare este utilizată în acest proces, trebuie îndeplinite anumite cerințe. Are cel mai mare succes atunci când criptograful poate alege el însuși textul simplu și primește text cifrat. Criptanaliza diferențială este cea mai potrivită pentru cifrurile bloc iterative. Aceste tipuri de cifruri criptează textul simplu folosind aceeași transformare în mai multe runde folosind o subcheie.

Designerii de cifruri și coduri criptografice lucrează pentru a se asigura că codul lor nu este vulnerabil la acest tip de atac cunoscut. Una dintre acestea este utilizarea cheilor pentru mesaje și limitările privind cantitatea de text cifrat primit folosind o singură cheie pentru mesaje. Aceasta este o slăbiciune a criptoanalizei diferențiale din cauza dependenței sale de cantități mari de text simplu.

Metoda criptoanalizei diferenţiale se bazează pe utilizarea unor tabele particulare pentru a alege perechea de intrare. Știind acest lucru, un sistem de criptare se poate proteja împotriva atacului în diferite moduri. Nu contează dacă codul este configurat pentru a selecta dintr-un număr mai mare de tabele decât era de așteptat, pentru a selecta din toate tabele diferite sau pentru a amesteca rezultatele tabelului de îndată ce rezultatele sunt determinate.