A Data Encryption Standard (DES) egy szimmetrikus kulcsú algoritmus a digitális adatok titkosítására. Az 1970-es évek elején fejlesztették ki, majd 1977-ben szövetségi szabványként fogadták el az Egyesült Államokban. A DES egy blokk titkosítás, ami azt jelenti, hogy rögzített méretű blokkokban, különösen 64 bites blokkokban titkosítja az adatokat 56 bites kulccsal. . Történelmi jelentősége és széles körben elterjedt használata ellenére a DES-t sebezhetőnek találták a kriptográfiai támadások különféle formáival szemben, amelyek közül az egyik a "mele-in-the-middle" támadás.
Ahhoz, hogy megértsük a DES sebezhetőségét a meet-in-the-middle támadással szemben, először is fontos megérteni ennek a támadási módszernek az alapelveit. A meet-in-the-middle támadás a kriptoanalitikus támadások egyik fajtája, amely különösen hatékony az olyan titkosítási sémák ellen, amelyek több szakaszt vagy titkosítási réteget használnak, mint például a kettős vagy háromszoros titkosítás.
Kettős titkosítás esetén a nyílt szöveget kétszer titkosítják két különböző kulccsal. Például, ha a titkosítási függvényt E-vel, a visszafejtési funkciót pedig D-vel, a kulcsokat pedig K1-vel és K2-vel jelöljük, akkor az egyszerű szöveg P kettős titkosítása a következőképpen jelenik meg:
C = E(K2, E(K1, P))
Itt P-t először a K1 kulccsal titkosítják, hogy egy közbenső rejtjelszöveget állítsanak elő, amelyet azután ismét a K2 kulccsal titkosítanak, hogy megkapják a végső C rejtjelszöveget. A kettős titkosítás mögött meghúzódó ötlet a biztonság növelése azáltal, hogy a kriptográfiai rendszert ellenállóbbá teszi a nyers kódokkal szemben. erőszakos támadások.
A meet-in-the-middle támadás azonban kihasználja a kettős titkosítási séma egy gyenge pontját azáltal, hogy csökkenti a keresendő kulcsterületet. A támadás a következőképpen működik:
1. A támadó egy ismert egyszerű szöveg-titkosított szöveg párral (P, C) indul.
2. A támadó titkosítja a P egyszerű szöveget a K1 összes lehetséges értékével, az eredményeket a megfelelő kulcsértékekkel együtt egy táblázatban tárolja.
3. A támadó visszafejti a C rejtjelezett szöveget a K2 összes lehetséges értékével, és az eredményeket egy másik táblában tárolja a megfelelő kulcsértékekkel együtt.
4. A támadó ezután egyezéseket keres a titkosítási és visszafejtési lépések eredményei között. Egyezés akkor következik be, ha a P K1 jelölt kulccsal történő titkosításával előállított közbenső rejtjelezett szöveg megegyezik a C K2 jelölt kulccsal történő dekódolása által előállított közbenső rejtjelezett szöveggel.
Ha talál egyezést, a megfelelő K1 és K2 kulcsok valószínűleg a megfelelő kulcsok a kettős titkosításhoz. A "mell-in-the-middle" támadás hatékonyan csökkenti a kettős titkosítás feltörésének bonyolultságát 2^112-ről (ami két 56 bites kulcs elleni brute force támadás összetettsége lenne) 2^57-re, ami az összeg. a két különálló lépés bonyolultságáról (2^56 a P titkosítására és 2^56 a C visszafejtésére, de mivel mindegyik lépés független, a teljes bonyolultság csökken).
Ez a támadás azt mutatja, hogy a kettős titkosítás nem biztosítja az elvárt szintű biztonságnövelést. Ugyanez az elv alkalmazható a hármas titkosításra is, bár a támadás összetettsége növekszik több titkosítási réteg hozzáadásával.
A DES kontextusában a meet-in-the-middle támadás különösen jelentős, mivel a DES viszonylag rövid, 56 bites kulcshosszt használ. Ez lehetővé teszi a támadók számára, hogy elvégezzék a támadás végrehajtásához szükséges számításokat, különösen az évek során a számítási teljesítmény fejlődésével.
A DES elleni meet-in-the-middle támadás egy példája a következő lépéseket tartalmazza:
1. Tegyük fel, hogy egy támadó rendelkezik egy ismert P egyszerű szöveggel és a hozzá tartozó C titkosított szöveggel, mindkettő 64 bites.
2. A támadó előállítja az összes lehetséges 2^56 kulcsértéket a K1-hez, és minden kulccsal titkosítja a P-t, és az eredményeket egy táblázatban tárolja.
3. A támadó az összes lehetséges 2^56 kulcsértéket generálja a K2 számára, és minden kulccsal visszafejti a C kódot, az eredményeket egy másik táblában tárolva.
4. A támadó ezután összehasonlítja mindkét tábla bejegyzéseit, hogy megtalálja az egyezést. Ha talál egyezést, a megfelelő K1 és K2 kulcsok valószínűleg a megfelelő kulcsok a kettős titkosításhoz.
A „mele-in-the-middle” támadás rávilágít a kellően nagy kulcsterekkel és robusztus tervezési elvekkel rendelkező kriptográfiai algoritmusok használatának fontosságára az ilyen támadások elleni küzdelemhez. Míg a DES a maga idejében jelentős előrelépést jelentett, viszonylag rövid kulcshossza és különféle támadásokkal szembeni érzékenysége, beleértve a „mele-in-the-middle” támadást is, biztonságosabb algoritmusokra, például az Advanced Encryption Standard (AES) váltotta fel. .
Az AES például 128, 192 vagy 256 bites kulcshosszúságot használ, így sokkal nagyobb kulcsteret biztosít, és lényegesen nagyobb ellenállást biztosít a brute force támadásokkal és a középső támadásokkal szemben. Ezenkívül az AES összetettebb struktúrát alkalmaz több titkosítási körrel, amelyek mindegyike helyettesítési, permutációs és keverési műveleteket tartalmaz, így ellenállóbbá teszi a kriptoanalitikus támadásokkal szemben.
A meet-in-the-middle támadás egy erőteljes kriptoanalitikai technika, amely kihasználja a többlépcsős titkosítási sémák, például a dupla DES gyengeségeit. A támadás hatékonyan csökkenti a titkosítás feltörésének bonyolultságát azáltal, hogy megcélozza a titkosítási és visszafejtési folyamatok közbenső eredményeit. Ez a sérülékenység rámutat arra, hogy nagyobb kulcsterekkel és robusztusabb tervezési elvekkel rendelkező kriptográfiai algoritmusokra van szükség a titkosított adatok biztonságának biztosításához.
További friss kérdések és válaszok ezzel kapcsolatban Adattitkosítási szabvány (DES) – titkosítás:
- A DES protokollt az AES kriptoszisztémák biztonságának javítása érdekében vezették be?
- A kulcs mely bitjeit használják a paritásvizsgálathoz a DES-ben?
- Befolyásolható-e a rejtjelezett szöveg egyetlen bitje sok bites egyszerű szöveggel a DES-ben?
- A DES a diffúzió és a zűrzavar többféle kombinációjától függ?
- Hogyan használhatja az alkulcsokat a DES titkosítás?
- Tekinthető-e a permutáció a diffúzió példájának egy blokk titkosításban?
- Az S-boxok szakaszában a DES-ben, mivel az üzenet töredékét 50%-kal csökkentjük, van-e garancia arra, hogy nem veszítenek el adatok és az üzenet visszaállítható/visszafejthető marad?
- Mi a jelentősége a lavinahatásnak a DES titkosítási folyamatában?
- Hogyan járul hozzá a P permutáció az f függvény végső kimenetéhez a DES titkosításban?
- Mi a szerepe az S-boxoknak a DES titkosítási folyamatban?
További kérdések és válaszok a Data Encryption Standard (DES) – Titkosítás című részben

