Data Encryption Standard
A 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énet
[szerkesztés]A 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és
[szerkesztés]A 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:
- Kezdeti permutáció (IP) – a 64 bites bemeneti blokkot előre meghatározott módon átrendezi.
- 16 Feistel-kör – minden körben:
- a blokk bal és jobb fele megcserélődik,
- a jobb oldalt egy nemlineáris függvény (F-függvény) módosítja, amely:
- kulcsfüggő körkulccsal kombinálja,
- 48 bitre kiterjeszti az adatot,
- 8 darab S-dobozon futtatja át (nemlineáris leképezés),
- végül újabb permutációval zárul.
- Záró permutáció (IP⁻¹) – az eredeti IP inverze.
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ág
[szerkesztés]A 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.
- Brute-force támadások
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.
- Kriptanalízis
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.
- Két DES alkalmazása
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 DES
[szerkesztés]A 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:
- C = Eₖ₃(Dₖ₂(Eₖ₁(P)))
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:
- 3 kulcsos mód (k₁ ≠ k₂ ≠ k₃): 168 bit effektív kulcshossz
- 2 kulcsos mód (k₁ = k₃): 112 bit effektív kulcshossz
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.
- Felhasználás
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.
- Megjegyzés
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ás
[szerkesztés]A 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
[szerkesztés]- Lucifer – az IBM által kifejlesztett algoritmus, amely a DES közvetlen elődje volt.
- 3DES – a DES háromszoros alkalmazásával megnövelt biztonságú változata.
- FEAL – japán fejlesztésű rejtjelező algoritmus, amely a Feistel-struktúrát követi, és a DES egyszerűbb alternatívájának készült.
- Blowfish – Bruce Schneier által tervezett nyílt forráskódú blokkrejtjelező, amely a DES alternatívájaként jelent meg.
- AES – az Advanced Encryption Standard, amely hivatalosan leváltotta a DES-t és annak változatait.
- IDEA – az International Data Encryption Algorithm, amely szintén DES-alternatívaként használt algoritmus volt főként az 1990-es években.
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
[szerkesztés]- FIPS PUB 46-3, Data Encryption Standard (DES), National Institute of Standards and Technology, 1999.
- FIPS PUB 197, Advanced Encryption Standard (AES), National Institute of Standards and Technology, 2001.
- Bruce Schneier: Applied Cryptography, 2nd Edition, Wiley, 1996. ISBN 978-0471117094.
- Electronic Frontier Foundation: Cracking DES: Secrets of Encryption Research, Wiretap Politics & Chip Design, O'Reilly Media, 1998. ISBN 978-1565925205.
- RFC 1321 – The MD5 Message-Digest Algorithm (háttérként a DES használatát kiegészítő módokon)
- RFC 2451 – The ESP DES-CBC Cipher Algorithm With Explicit IV