Što je diferencijalna kriptoanaliza?

Diferencijalna kriptoanaliza je naziv za niz metoda kriptografskog napada na blok šifre korištenjem poznatog napada otvorenog teksta. Diferencijalna kriptoanaliza radi šifriranjem poznatog otvorenog teksta ili nešifriranog teksta, korištenjem odabranog ključa šifriranja kako bi se utvrdilo kako funkcionira proces šifriranja. Dva ulaza se biraju s konstantnom razlikom između njih, pri čemu se razlika između dva ulaza može odrediti različitim operacijama uključujući korištenje operacije eXclusive OR (XOR). Kada se ulazni par prođe kroz kod diferencijalne kriptoanalize, formira se izlazni par pomoću ključa šifre. Ulaz je poznat, pa kriptograf prati obrasce promjene u izlazu.

Nakon što je izlaz primljen, kriptograf dodjeljuje vjerojatnosti određenim ulazno-izlaznim parovima kako bi odredio koji je ključ šifre izazvao određene promjene u izlaznim parovima. Različiti ključevi šifre imaju različite vjerojatnosti pojavljivanja određenih izlaza za svaki ulaz. Ove vjerojatnosti omogućuju kriptografu da napravi informirana nagađanja o različitim aspektima ključa na temelju ulaznih i izlaznih uzoraka.

Ovu metodu su izvorno razvili Eli Bidham i Adi Shamir kasnih 1980-ih. Namjera mu je bila napad na blok šifre i provjeru slabosti u algoritmu standarda šifriranja podataka američkog Nacionalnog ureda za standarde (DES), koji se koristi kao Federalni standard za obradu informacija za šifriranje osjetljivih neklasificiranih podataka. Godine 1994. Don Coppersmith, jedan od IBM-ovih softverskih inženjera koji je pomogao dizajnirati DES, rekao je da je IBM već upoznat s diferencijalnom kriptoanalizom i da je radio na tome da DES bude otporan na napade.

Da bi se uspješno utvrdilo koji se ključ šifre koristi u ovom procesu, moraju biti ispunjeni određeni zahtjevi. Najuspješnije je kada kriptograf može sam odabrati otvoreni tekst i primiti izlazni šifrirani tekst. Diferencijalna kriptoanaliza je najprikladnija za iterativne blok šifre. Ove vrste šifri šifriraju otvoreni tekst koristeći istu transformaciju u nekoliko rundi koristeći potključ.

Dizajneri šifri i kriptografskih kodova rade kako bi osigurali da njihov kod nije ranjiv na ovu vrstu poznatog napada. Jedan od njih je korištenje ključeva za poruke i ograničenja količine šifriranog teksta primljenog pomoću jednog ključa poruke. To je slabost diferencijalne kriptoanalize zbog njezinog oslanjanja na velike količine otvorenog teksta.

Metoda diferencijalne kriptoanalize oslanja se na korištenje određenih tablica za odabir ulaznog para. Znajući to, sustav šifriranja se može zaštititi od napada na razne načine. Nije važno je li kod postavljen za odabir iz većeg broja tablica od očekivanog, za odabir iz svih različitih tablica ili za miješanje rezultata tablice čim se rezultati utvrde.