A differenciális kriptoanalízis a szimmetrikus blokkrejtjelek ( és más kriptográfiai primitívek , különösen a hash függvények és az adatfolyam-rejtjelek ) kriptográfiai elemzésének módszere.
A differenciális kriptoanalízis a titkosított értékek közötti különbségek transzformációjának tanulmányozásán alapul a különböző titkosítási körökben . Különbségként általában a bitenkénti összegzés modulo 2 műveletét használják , bár vannak támadások a modulo különbség kiszámításával . Ez egy statisztikai támadás. Alkalmazható a DES , FEAL és néhány más titkosítás feltörésére, amelyeket általában a 90-es évek eleje előtt fejlesztettek ki. A modern titkosítások ( AES , Camellia stb.) köreinek számát a biztonság figyelembevételével számították ki , beleértve a differenciális kriptoanalízist is.
A differenciális kriptoanalízist 1990 -ben Eli Biham és Adi Shamir izraeli szakértők javasolták az olyan kriptorendszerek feltörésére, mint a DES. Munkájuk során kimutatták, hogy a DES algoritmus meglehetősen ellenállónak bizonyult ezzel a kriptográfiai módszerrel szemben, és az algoritmus szerkezetének legkisebb változása sebezhetőbbé teszi.
1994-ben az IBM Don Coppersmith cikke [1] közölt arról, hogy a differenciális kriptoanalízis módszerét az IBM már 1974-ben ismerte, és a DES fejlesztésének egyik célja az volt, hogy védekezzenek ezzel a módszerrel szemben. Az IBM-nek megvoltak a titkai. Coppersmith elmagyarázta:
A tervezés során kihasználtak bizonyos kriptoanalitikai módszereket, különösen a "differenciális kriptoanalízis" módszert, amely a nyílt szakirodalomban nem jelent meg. Az NSA - val folytatott megbeszélések után úgy döntöttek, hogy a tervezési folyamat feltárása egy differenciális kriptoanalízis módszerét is feltárja, amelynek ereje számos rejtjel ellen használható. Ez viszont csökkentené az USA előnyét más országokkal szemben a kriptográfia területén.
A DES kriptográfiailag ellenállónak bizonyult a differenciális kriptoanalízissel szemben, ellentétben néhány más rejtjellel. Így például a FEAL titkosítás sebezhetőnek bizonyult . Egy 4 körös FEAL-4 akár 8 kiválasztott sima szöveggel is feltörhető , és még a 31 körös FEAL is sebezhető a támadásokkal szemben.
1990-ben Eli Biham és Adi Shamir differenciális kriptoanalízis segítségével olyan módszert talált a DES megtörésére , amely hatékonyabb volt, mint a nyers erő. Olyan rejtjelezett szövegpárokkal dolgozva, amelyek nyílt szövegei bizonyos különbségeket mutatnak, a tudósok elemezték ezeknek a különbségeknek az alakulását, ahogy a nyílt szövegek áthaladnak a DES szakaszain .
A differenciális kriptográfiai elemzés alapvető módszere az adaptívan választott sima szöveges támadás , bár van egy kiterjesztése a nyílt szöveges támadásra is . A támadás végrehajtásához egyértelmű szövegpárokat használnak, amelyeket egy bizonyos különbség köt össze. A DES és a DES-szerű rendszerek esetében kizárólagos VAGY (XOR) ként van definiálva . A visszafejtéshez csak a megfelelő rejtjelezett szövegpárok értékére van szükség.
A diagram a Feistel függvényt mutatja . Legyen és egy olyan bemenetpár, amelyek különböznek egymástól . A hozzájuk tartozó kimenetek ismertek és egyenlők a és -vel , a különbség köztük . A kiterjesztéssel és -blokkkal való permutáció is ismert tehát, és szintén ismert . és ismeretlenek, de tudjuk, hogy különbségük , mert különbségek c és semlegesítik. Az áramkör egyetlen nemlineáris eleme a -blokkok. Minden -blokkhoz tárolhat egy táblázatot, melynek sorai a -blokk bemenetén lévő különbségek , az oszlopok a kimeneti különbségek, a metszéspontban pedig a bemeneti és kimeneti párok száma. különbségeket, és hol tárolják ezeket a párokat.
A kerek kulcs megnyitása azon alapul, hogy egy adott értéknél nem minden érték egyformán valószínű, de a és kombinációja lehetővé teszi számunkra, hogy a és az értékeket feltételezzük . Az ismert és ez lehetővé teszi számunkra, hogy meghatározzuk . Az utolsó fordulóhoz szükséges összes információ kivételével az utolsó titkosított szövegpár tartalmazza.
Az utolsó ciklus kerek kulcsának meghatározása után lehetővé válik a rejtjelezett szövegek részleges visszafejtése, majd a fenti módszerrel az összes kerek kulcs megtalálásához.
Az i-edik körben kapott rejtjelezett szövegek lehetséges eltéréseinek meghatározásához körkarakterisztikákat használunk .
Az N-fordulós karakterisztika egy sor , amely egyszerű szöveges különbségekből, rejtjelezett szövegbeli különbségekből és az egyes elmúlt körök közbenső titkosítási eredményeiben mutatkozó különbségekből áll.
A karakterisztikához egy olyan valószínűséget rendelünk, amely megegyezik annak valószínűségével, hogy egy véletlenszerű kulcsú titkosítás eredményeként eltérő nyílt szövegpárnak kerek különbségei és titkosított szövegbeli eltérései vannak, amelyek megegyeznek a jellemzőben megadottakkal. A jellemzőnek megfelelő nyitott szövegpárt "helyesnek" nevezzük . Azokat a nyitott szövegpárokat, amelyek nem felelnek meg a jellemzőnek, "helytelennek" nevezik .
Vegyük az utolsó előtti ciklus kimenetén lévő szövegek különbségének értékét, amelyet az utolsó kör lehetséges alkulcsának meghatározásához használunk . Ilyen esetben a "helyes" szövegpár határozza meg a helyes kulcsot, míg a "rossz" pár egy véletlenszerű kulcsot.
Egy támadás során általában több jellemzőt használnak egyszerre. A struktúrákat általában a memória megőrzésére használják.
Minden kulcsopcióhoz létrehozhat számlálókat, és ha valamelyik pár ezt az opciót javasolja érvényes kulcsnak, akkor növeljük a megfelelő számlálót. A legnagyobb számlálónak megfelelő kulcs nagy valószínűséggel helyes.
Számítási sémánk szerint a helyes S párok számának az N számláló átlagos értékéhez viszonyított arányát jel-zaj viszonynak nevezzük , és jelöljük .
A megfelelő kulcs megtalálásához és annak biztosításához, hogy a megfelelő párok jelen vannak, a következőket kell tennie:
A szükséges párok számát a következők határozzák meg:
Legyen a kulcsméret k bit, akkor számlálók kellenek. Ha egy:
akkor az N számláló átlagos értéke :
Ha a jellemző valószínűsége, akkor a helyes S párok száma egyenlő:
Ekkor a jel/zaj arány :
Vegye figyelembe, hogy tervezési sémánk esetében a jel-zaj arány nem függ a párok teljes számától. A szükséges érvényes párok száma általában a jel-zaj arány függvénye . Kísérletileg megállapítottam, hogy ha S/N=1-2 , akkor 20-40 helyes pár előfordulása szükséges. Ha jóval nagyobb az arány, akkor akár 3-4 helyes pár is elég lehet. Végül, amikor ez sokkal alacsonyabb, a szükséges párok száma óriási.
S/N | Szükséges párok száma |
---|---|
kevesebb mint 1 | Veliko |
1-2 | 20-40 |
több mint 2 | 3-4 |
A körök számának növekedésével a kriptoanalízis bonyolultsága növekszik, de kisebb marad, mint a kimerítő keresés bonyolultsága, ha a ciklusok száma kevesebb, mint 16.
Függőség a körök számától | |
---|---|
A körök száma | A támadás összetettsége |
Az S-boxok kialakítása is jelentősen befolyásolja a differenciális kriptoanalízis hatékonyságát. A DES S-boxok különösen a támadásokkal szembeni ellenállásra vannak optimalizálva.
Míg a teljes 16 körös DES-t eredetileg úgy tervezték, hogy ellenálljon a differenciális kriptoanalízisnek, a támadás sikeresnek bizonyult a DES-szerű rejtjelek széles csoportja ellen [2] .
A differenciális kriptoanalízis a hash függvények ellen is alkalmazható .
Miután az 1990-es évek elején megjelentek a differenciális kriptoanalízisről szóló munkák, a későbbi titkosításokat úgy tervezték, hogy ellenálljanak ennek a támadásnak.
A differenciális kriptoanalízis módszere nagyrészt elméleti vívmány. Gyakorlati alkalmazását a magas idő- és adatmennyiségigények korlátozzák.
Mivel a differenciális kriptográfiai elemzés elsősorban választott egyszerű szöveges támadási módszer, a gyakorlatban nehezen kivitelezhető. Használható ismert sima szöveggel történő támadásra, de egy teljes 16 körös DES esetén ez még kevésbé hatékony, mint egy brute-force támadás.
A módszer nagy mennyiségű memóriát igényel a jelölt kulcsok tárolásához. A módszer hatékonysága erősen függ a feltört algoritmus S-boxainak szerkezetétől is.