Data Encryption Standard (tsz. Data Encryption Standards)
A DES fejlesztése az IBM „Lucifer” nevű projektjére vezethető vissza, amelyet az 1970-es évek elején dolgoztak ki. A Lucifer egy bonyolult blokktitkosító volt, amelyet az IBM továbbfejlesztett, majd az NSA-val (National Security Agency) együttműködve egyszerűsítettek és optimalizáltak. 1977-ben hivatalosan is elfogadták a DES-t, mint szövetségi titkosítási szabványt (FIPS PUB 46).
A DES egyik fő célja az volt, hogy biztosítsa az adatok védelmét a nem engedélyezett hozzáférés ellen, különösen nyilvános hálózatokon keresztül történő kommunikáció során.
A DES egy blokktitkosító algoritmus, ami azt jelenti, hogy az adatokat fix méretű blokkokban dolgozza fel. A DES esetében ez a blokk 64 bit, azaz 8 bájt. A titkosításhoz egy 56 bites kulcsot használ, noha a tényleges kulcsméret 64 bit, de ebből 8 bit csak paritásellenőrzésre szolgál.
A DES szimmetrikus, vagyis ugyanazt a kulcsot használja a titkosításhoz és a visszafejtéshez. Ez azt jelenti, hogy a két félnek biztonságosan kell megosztaniuk egymással a titkosító kulcsot.
A DES egy Feistel-struktúrájú algoritmus, amely 16 körös feldolgozási cikluson megy keresztül. A Feistel-struktúra lényege, hogy minden körben a bemeneti adat két részre oszlik (bal és jobb oldal), és a jobb oldal módosítja a bal oldalt egy bonyolult függvény segítségével, majd a két oldal szerepet cserél.
A 56 bites kulcsból 16 darab 48 bites alkulcs generálódik, amelyeket a 16 kör során használnak. A kulcsgenerálás során a kulcsot különböző permutációknak és biteltolásoknak vetik alá, hogy minden körben más és más kulcsot kapjanak.
A DES szívét az f-függvény alkotja, amely a következő részekből áll: - Bővítés (Expansion): A 32 bites bemenetet 48 bitre bővítik. - XOR a kulccsal: A 48 bites bővített adatot XOR-olják az adott kör kulcsával. - S-dobozok (S-boxes): A 48 bites eredményt nyolc 6 bites részre osztják, amelyeken ún. S-dobozokon mennek keresztül – ezek a nemlineáris leképezések 6 bitet 4 bitre konvertálnak. - Permutáció (P-box): Az S-box kimeneteket újra összefűzik és egy újabb permutáción viszik át.
Bár a DES a maga idejében biztonságosnak számított, ma már elavultnak tekinthető, főként a rövid kulcshossz miatt. A 56 bites kulcs viszonylag könnyen feltörhető modern számítógépekkel brute-force (nyers erő) módszerrel.
A DES biztonsági hiányosságai miatt több utódot is kidolgoztak:
Habár ma már a DES-t nem ajánlják biztonságos célokra, a kriptográfiában betöltött szerepe vitathatatlan: - Oktatási célokra még ma is használják a DES-t, mivel jól illusztrálja a blokktitkosítás működését. - Szoftverek és protokollok közül sok – például korai VPN-megoldások, banki rendszerek – valaha DES-t használtak. - Az algoritmus tervezési struktúrája (Feistel-struktúra, S-boxok) számos más modern algoritmusban is megjelenik.
A DES az egyik legismertebb és legtöbbet használt klasszikus titkosítási algoritmus volt. Noha napjainkban már nem biztonságos a rövid kulcshossz miatt, a DES fontos történelmi lépcsőfok volt a modern kriptográfia fejlődésében. Megértése hozzájárul a titkosítási eljárások mélyebb megértéséhez, és alapot biztosít a korszerűbb algoritmusok, például az AES tanulmányozásához. Öröksége a mai napig jelen van a titkosítási technológiákban, és kiemelt szerepet játszott a digitális adatvédelem történetében.