Mis on diferentsiaalkrüptoanalüüs?

Diferentsiaalkrüptoanalüüs on plokkšifrite krüptograafilise rünnaku mitmesuguste meetodite nimetus, kasutades teadaolevat lihttekstirünnakut. Diferentsiaalkrüptoanalüüs krüpteerib teadaoleva lihtteksti või krüptimata teksti, kasutades valitud šifrivõtit, et teha kindlaks, kuidas krüpteerimisprotsess toimib. Valitakse kaks sisendit konstantse erinevusega, kus kahe sisendi vahelise erinevuse saab määrata erinevate toimingutega, sealhulgas eXclusive OR (XOR) toiminguga. Kui sisendpaar juhitakse läbi diferentsiaalkrüptoanalüüsi koodi, moodustatakse šifrivõtme abil väljundpaar. Sisend on teada, seega jälgib krüptograaf väljundi muutuste mustreid.

Kui väljund on vastu võetud, määrab krüptograaf teatud sisend-väljundpaaridele tõenäosused, et teha kindlaks, milline šifrivõti põhjustas väljundpaarides konkreetseid muutusi. Erinevatel šifrivõtmetel on iga sisendi puhul erinev tõenäosus teatud väljunditeks. Need tõenäosused võimaldavad krüptograafil sisend- ja väljundmustrite põhjal teha teadlikke oletusi võtme erinevate aspektide kohta.

Selle meetodi töötasid algselt välja 1980. aastate lõpus Eli Bidham ja Adi Shamir. Selle eesmärk oli rünnata plokkšifreid ja kontrollida nõrkade külgede tuvastamist USA riikliku standardibüroo andmete krüpteerimisstandardi (DES) algoritmis, mida kasutatakse föderaalse teabetöötlusstandardina tundlike salastamata andmete krüptimiseks. 1994. aastal ütles Don Coppersmith, üks IBMi tarkvarainseneridest, kes aitas DES-i kujundada, et IBM tunneb juba diferentsiaalkrüptoanalüüsi ja on teinud tööd selle nimel, et muuta DES rünnakutele vastupidavaks.

Selle protsessiga kasutatava šifrivõtme edukaks kindlaksmääramiseks peavad olema täidetud teatud nõuded. Kõige edukam on see, kui krüptograaf saab ise valida lihtteksti ja saada väljundi salateksti. Diferentsiaalkrüptoanalüüs sobib kõige paremini iteratiivsete plokkšifrite jaoks. Seda tüüpi šifrid krüpteerivad lihtteksti, kasutades sama teisendust mitmes voorus, kasutades alamvõtit.

Šifrite ja krüptograafiliste koodide kujundajad töötavad selle nimel, et nende kood ei oleks seda tüüpi teadaolevate rünnakute suhtes haavatav. Üks neist on sõnumiklahvide kasutamine ja ühe sõnumiklahviga vastuvõetava šifriteksti hulga piirangud. See on diferentsiaalkrüptoanalüüsi nõrkus, kuna see tugineb suurele hulgale lihttekstile.

Diferentsiaalkrüptoanalüüsi meetod tugineb konkreetsete tabelite kasutamisele sisendpaari valimiseks. Seda teades saab krüpteerimissüsteem end rünnaku eest kaitsta mitmel viisil. Pole tähtis, kas kood on seadistatud valima oodatust suurema arvu tabelite hulgast, valima kõigist erinevatest tabelitest või segama tabelitulemusi kohe pärast tulemuste kindlaksmääramist.