Data Encryption StandardA Data Encryption Standard (röviden DES) egy szimmetrikus kulcsú blokkrejtjelezési algoritmus, amelyet az Amerikai Egyesült Államok Nemzeti Szabványügyi Hivatala (NBS, később NIST) szabványosított 1977-ben az FIPS PUB 46 dokumentumban. Az algoritmus eredetileg az IBM által kifejlesztett Lucifer rejtjelezésen alapul, és egy 56 bites kulccsal, 64 bites blokkmérettel dolgozik. A DES hosszú ideig az egyik legelterjedtebb titkosítási módszer volt, széles körben használták például bankrendszerekben, hitelkártya-feldolgozásban és védett kommunikációban. Bár a DES történelmileg fontos, ma már kriptográfiailag elavultnak számít, mivel a kulcshossza nem nyújt elegendő védelmet a kimerítő kulcstér-támadásokkal (brute force) szemben. TörténetA DES eredete az IBM által az 1970-es évek elején fejlesztett Lucifer algoritmusra vezethető vissza. Az IBM kutatói, köztük Horst Feistel, egy Feistel-struktúrára épülő blokkrejtjelezőt dolgoztak ki, amely többféle kulcsmérettel is működhetett. Az Amerikai Egyesült Államok Nemzeti Szabványügyi Hivatala (NBS, később NIST) 1973-ban és 1974-ben nyílt pályázatot írt ki egy szövetségi szabványú titkosítási eljárásra. Az IBM által benyújtott algoritmust elfogadták, de a Nemzetbiztonsági Ügynökség (NSA) javaslataira több változtatást eszközöltek rajta, különösen a kulcsméret (64 bit → 56 bit effektív kulcs) és a belső S-dobozok esetében. 1977-ben a DES hivatalos amerikai szövetségi szabvánnyá vált (FIPS PUB 46), és gyorsan elterjedt a kormányzati, pénzügyi és kereskedelmi alkalmazásokban. A kulcshossz már a kezdetektől viták tárgya volt, mivel 56 bit kevésnek tűnt az esetleges kimerítő kereséssel (brute force) szemben. A kételyeket erősítette az NSA részvétele is, ami miatt sok kriptográfus attól tartott, hogy a módosítások szándékosan gyengítették az algoritmust. Később azonban bebizonyosodott, hogy az S-dobozok átalakítása valójában növelte a DES ellenállását a lineáris és differenciális kriptanalízissel szemben, amelyek akkoriban még nem voltak nyilvánosan ismertek. MűködésA DES egy szimmetrikus kulcsú blokkrejtjelezési algoritmus, amely 64 bites blokkokban dolgozik, és 56 bites effektív kulcsot használ (a tényleges 64 bitből minden 8. bit paritásellenőrzésre szolgál). Az algoritmus egy 16 körös Feistel-hálózatot használ, amelyben minden kör az adat egyik felét módosítja a másik fele és az éppen aktuális körkulcs segítségével. A titkosítás folyamata a következő fő lépésekből áll:
A 16 körhöz szükséges körkulcsokat a fő kulcsból egy kulcsszármaztató algoritmus állítja elő, amely bitrotációkat és szelekciós mátrixokat alkalmaz. A visszafejtés ugyanazon a struktúrán alapul, de a körkulcsokat fordított sorrendben használja fel. BiztonságA DES-t a tervezésekor erős titkosítási algoritmusnak tartották, de mára kriptográfiailag elavultnak számít. Fő gyengesége az, hogy a kulcshossza mindössze 56 bit, ami túl rövid a modern számítási kapacitásokkal szemben.
A rövid kulcshossz lehetővé teszi a teljes kulcstér kimerítő átvizsgálását. 1998-ban az Electronic Frontier Foundation (EFF) megépítette a Deep Crack nevű hardvert, amely kevesebb mint három nap alatt képes volt feltörni egy DES-sel titkosított üzenetet. Azóta a szükséges számítási teljesítmény tovább csökkent.
A DES viszonylag ellenálló a klasszikus kriptanalízissel szemben, de a későbbiekben kifejlesztett módszerek, mint a lineáris és differenciális kriptanalízis, fokozatosan meggyengítették a biztonsági megítélését. Ezek a támadások képesek statisztikai módszerekkel visszafejteni a kulcsot, ha elegendő titkosított szöveg és a hozzá tartozó nyílt szöveg áll rendelkezésre.
A meet-in-the-middle támadások miatt a dupla DES (2DES) sem jelent megfelelő megoldást, mivel a két egymás után alkalmazott DES rejtjelezés hatékonyan visszafejthető 2⁵⁷ lépésben, ami csak alig jobb, mint az eredeti DES. Ezek miatt a DES-t a legtöbb szabványosító testület (pl. NIST) elavultnak nyilvánította, és kivezette a hivatalosan támogatott algoritmusok közül. Triple DESA Triple DES (röviden 3DES, néha TDEA – Triple Data Encryption Algorithm) a DES algoritmus továbbfejlesztett változata, amely három egymást követő DES műveletet alkalmaz a megnövelt biztonság érdekében. Célja a rövid kulcshossz és a brute-force támadások elleni védelem megerősítése, anélkül hogy teljesen új algoritmust kellene bevezetni. A 3DES három kulcsot és három DES műveletet használ az alábbi formában:
ahol P a nyílt szöveg, Eₖ a DES titkosítás, Dₖ pedig a DES visszafejtés kulccsal. Ezt a működési módot EDE (Encrypt–Decrypt–Encrypt) séma néven is ismerik. Az algoritmus támogatja a következő kulcsvariációkat:
A visszafelé kompatibilitás megőrzése érdekében, ha mindhárom kulcs azonos (k₁ = k₂ = k₃), a 3DES gyakorlatilag megegyezik a sima DES algoritmussal.
A 3DES szabványosítva lett az ANSI X9.52 és a FIPS PUB 46-3 dokumentumokban. Hosszú ideig használták pénzügyi rendszerekben, például az EMV-alapú bankkártyákban, valamint az IPsec, TLS és más biztonsági protokollokban. A 3DES-t a NIST 2017-ben fokozatos kivezetésre ítélte, és 2023-tól új rendszerekben már nem javasolja a használatát.
Bár a 3DES megnöveli a biztonságot az eredeti DES-hez képest, sebessége alacsony, és biztonsági szintje nem éri el a korszerű algoritmusokét, például az AES-ét. Emiatt mára már szintén elavultnak tekintik. Leválás és utódlásA DES-t hosszú ideig használták szövetségi, pénzügyi és ipari környezetekben, de a növekvő számítási kapacitások és a kulcshossz miatti biztonsági aggályok fokozatosan kiszorították. Bár a Triple DES egy ideig ideiglenes megoldást nyújtott, egy teljesen új algoritmus bevezetése vált szükségessé. 1997-ben az Amerikai Egyesült Államok Nemzeti Szabványügyi és Technológiai Intézete (NIST) pályázatot írt ki a DES utódjául szolgáló új titkosítási szabvány megalkotására. A verseny eredményeként 2001-ben elfogadták az AES algoritmust, amely azóta vált az új hivatalos szabvánnyá (FIPS PUB 197). A NIST 2005-ben az egyszeres DES-t hivatalosan kivonta a forgalomból, míg a 3DES használatát fokozatosan szűkítette le. 2017-ben a NIST bejelentette, hogy a 3DES új alkalmazásokban nem javasolt, és 2023-tól már nem engedélyezi az új használatát szövetségi rendszerekben sem. Az AES korszerűbb architektúrája, hosszabb kulcsméretei (128, 192, 256 bit) és nagyobb számítási hatékonysága miatt ma már gyakorlatilag teljes mértékben kiszorította a DES-t és annak továbbfejlesztett változatait. Kapcsolódó algoritmusok
Ezek az algoritmusok vagy a DES-re épültek, vagy annak helyettesítésére születtek, és fontos szerepet játszottak a modern kriptográfia fejlődésében. Források
|