Az adaptív módon megválasztott egyszerű szöveges támadás a támadások olyan típusa a kriptográfiai elemzésben , amely azt feltételezi, hogy a kriptoanalizátor többször is kiválaszthatja a nyílt szöveget , és közvetlenül a támadás során megszerezheti a megfelelő titkosított szöveget . A kriptoanalizátor célja, hogy a rendszer elfogott rejtjelezett szövegeiből információt tudjon kinyerni, és ideális esetben a kulcsot a nyílt szöveg és a fogadott rejtjelezett szöveg összehasonlításával tudja kivenni . Ez egy speciális esete a megfelelő szöveges támadásnak [1] .
Egy adaptívan megválasztott egyszerű szöveges támadás alkalmazható olyan esetekben, amikor a kriptoanalizátor hozzáfér egy titkosító eszközhöz , például egy intelligens kártyához , amely valamilyen titkosítási algoritmuson fut, olyan kulccsal , amelyet a felhasználó nem olvashat [2] .
Ezenkívül ezt a támadást széles körben használják nyilvános kulcsú kriptográfiai rendszerek feltörésére . Mivel a titkosítási szolgáltatások egy ilyen titkosítási rendszerben mindenki számára elérhetőek, minden olyan támadást, amely nem használ visszafejtési blokkot, adaptívan választott nyílt szövegen alapuló támadásnak nevezhetjük. Ezért a nyilvános kulcsú kriptorendszer megfelelő működéséhez meg kell követelni a rendszer stabilitását az ilyen támadásokkal szemben [3] .
A második világháború alatt a kriptaelemzők széles körben alkalmazták az (adaptív) választott sima szövegen, nyílt szövegeken és ezek kombinációján alapuló támadásokat [4] .
Így a Bletchley Park kriptaelemzői meg tudták határozni az üzenetek egyszerű szövegét attól függően, hogy mikor küldték el az üzeneteket. Például a napi időjárás-jelentést a német jeladók egy időben küldték el. Tekintettel arra, hogy a katonai jelentéseknek van egy bizonyos szerkezete, a kriptaelemzők képesek voltak megfejteni a többi információt az adott területen lévő időjárási adatok segítségével. [5]
Szintén a Bletchley Parkban találták ki a következő módszert, hogy bizonyos üzenetek küldésére kényszerítsék a németeket. A kriptoanalitikusok kérésére a Nagy-Britannia Királyi Légiereje az Északi-tenger bizonyos szakaszait bányászta , ezt a folyamatot "Gardening"-nak (angolul "kertészet" ) nevezték el. Majdnem azonnal ezután a németek titkosított üzeneteket küldtek az aknák ledobásának helyeinek nevével. [5]
Egy másik példa a Midway-i csatából származik. Az amerikai haditengerészet szakemberei elfogtak egy japán titkosított üzenetet, amelyet sikerült részben visszafejteni. Kiderült, hogy a japánok támadást terveztek az AF ellen, ahol az AF része volt annak a rejtjelezett szövegnek, amelyet az amerikai szakértők nem tudtak megfejteni. Aztán a kriptoanalitikusok megparancsolták a szigeten tartózkodó amerikai hadseregnek, hogy küldjenek hamis üzenetet a friss víz hiányáról. A japánok elfogták ezt az üzenetet, és továbbították feletteseiknek. Így a haditengerészet kriptaelemzői tudomást szereztek a tervezett támadásról [4]
Bruce Schneier szerint , feltételezve , hogy a kriptoanalitikus ismeri a titkosítási algoritmust , a kriptoanalízisnek 4 fő típusa van [1] :
Egyértelmű szövegeken és a megfelelő rejtjelezett szövegeken alapuló támadás esetén a kriptoanalizátor hozzáfér néhány szöveg-titkosszöveg párhoz [1] .
Kényelmesebb lehetőség a választott egyszerű szöveges támadás , amelyben a kriptoanalizátor először kiválaszthat bizonyos számú nyílt szöveget, majd beszerezheti a megfelelő titkosított szövegeket [1] .
Az adaptív-választott-plaintext támadás a választott egyszerű szöveges támadás módosított változata. Ennek a támadástípusnak az az előnye, hogy a kriptoanalizátor a kapott eredmények alapján új nyílt szöveget tud kiválasztani, míg egy illesztett egyszerű szöveges támadás esetén az összes szöveget a támadás megkezdése előtt kiválasztja [1] .
Az adaptív egyszerű szöveges támadások gyakran alkalmaznak differenciális kriptográfiai módszereket, amelyeket Adi Shamir munkái ír le , és lineáris kriptoanalízist . Az ilyen támadások általános módszerei a következők:
Először is kiválasztunk egy pár egyszerű szöveget illesztett különbséggel. A rendszer elküldi őket a titkosító eszközre. Rejtjelezett szövegeknek felelnek meg , amelyekben szintén van némi különbség. Így a statisztikákat a plaintext - titkosított szöveg alakpárokból gyűjtik össze . Ezt követően a nyílt szövegek közötti különbséget összehasonlítjuk a rejtjelezett szövegek közötti különbséggel , és az összegyűjtött adatok alapján feltételezzük a rendszer kulcsát [6]
Ebben az esetben valószínűségi lineáris kapcsolatot keresünk a nyílt szöveg, a rejtjelezett szöveg és a kulcs között. Először olyan arányszámokat állítunk össze, amelyek nagy valószínűséggel érvényesek, majd ezeket az arányokat a kiválasztott nyílt szövegek párjaival és a hozzájuk tartozó rejtjelezett szövegekkel használjuk [7] .
Tekintsük az RSA [8] titkosítási algoritmust .
Hagyja, hogy a kriptoanalitikus elkapjon valamilyen üzenetet , amelyet vissza akar fejteni, és ismeri a nyilvános kulcsot .
Ezután kiválaszt egy véletlen számot , kiszámítja az üzenetet , és elküldi a felhasználónak.
A visszafejtés után a felhasználó a következőket kapja:
A kapott szám teljesen véletlenszerűnek tűnhet a felhasználó számára, mivel a számmal való szorzás egy csoport permutációja . Ha az üzenetet véletlenszerű számkészletként ismeri fel, akkor ez a készlet visszakerül a feladóhoz, vagyis a felhasználó egy számot küld a támadónak . Egy ilyen munkaalgoritmust abból a feltevésből adódóan használnak, hogy a dekódolt szöveg, amelynek szerkezete véletlenszerű számhalmaz, nem használható hasznos információk megszerzésére [8] .
Így a kriptoanalitikus rendelkezésére állnak a számok, majd ezeket modulo elosztva a támadó megtudhatja az értéket [8] .
Vegyük például a titkosítást a DES algoritmussal [6] .
Tegyük fel, hogy hozzáférünk valamilyen programhoz, amely ezen algoritmus szerint működik, és minden paramétere ismert, kivéve a kulcsot .
Legyen és legyen párosított egyszerű szövegek különbséggel .
Ezek a titkosított szövegeknek felelnek meg, és eltéréssel - .
Mivel a -blokk kiterjesztésű permutációk ismertek, így ismertek .
A és értékei ismeretlenek, de megtaláljuk a különbséget.
Szóval .
Az utolsó kifejezés helyes, mivel a és az egyező bitek érvénytelenítik, míg a különböző bitek különbséget adnak annak ellenére, hogy .
A kulcs kiválasztásának folyamata azon alapul, hogy egy adott kulcsnál különböző valószínűséggel különbözőek fognak előfordulni.
Így a és kombinációi lehetővé teszik a és értékeinek bizonyos valószínűséggel való kitalálását . Ami ismert és , lehetővé teszi számunkra, hogy megtaláljuk a kulcsot .
Így a nyílt szövegek közötti eltérések kellően nagy valószínűséggel bizonyos eltéréseket okoznak a fogadott rejtjelezett szövegekben. Ezeket a különbségeket jellemzőknek nevezzük. A karakterisztikákat a következőképpen felépített táblázatok segítségével találjuk meg: lehetséges sorok , oszlopok - . Adott sor és oszlop metszéspontjában rögzítésre kerül, hogy a bemeneten, a kimeneten hányszor érkezett adat . Mivel az iterációk mindegyike független, a különböző jellemzők a valószínűségek szorzásával kombinálhatók. A valószínűségi eloszlás ismeretében nagy pontossággal lehet kulcsot választani [6] .
Vegyünk például egy titkosítást a DES algoritmussal [7] .
Legyen P a nyílt szöveg, C a titkosított szöveg, K a kulcs, F a titkosítási függvény, A, B, D a maszkok, amelyek maximalizálják a lineáris relációk követésének valószínűségét:
, ahol , a függvény bemenete az i-edik körben.
Ekkor a 16 körös DES egyenlete a következő [7] :
Ennek az egyenletnek a valószínűsége:
helyes feltevésekkel , hol
{2, 6, 10, 14}
{3, 9, 11}
{4, 8, 12}
{5, 7, 13, 15}
Más kulcsok esetében ez az egyenlet véletlenszerű lesz.
Az aktív S-boxban első körben hat bemeneti bitet rögzítünk. Ekkor ennek a függvénynek bármely kimeneti maszkja konstans 0 vagy 1 eltolással . Ezután tekintsük a következő [7] egyenletet :
A támadás során a titkos kulcs minden értékéhez egy számlálót vezetnek, amely nyomon követi, hogy az egyenlet bal oldala hányszor 0. N -pár esetén a T számlálóérték legtávolabbi kulcsot veszik a kulcsnak . helyes kulcsérték [7] .