3DES (Triple Data Encryption Standard)
3DES, znany również jako Triple DES lub TDEA (ang. Triple Data Encryption Algorithm), jest symetrycznym algorytmem szyfrowania blokowego opartym na podwójnym zastosowaniu algorytmu DES. Został opracowany jako odpowiedź na rosnące zagrożenia związane z krótkim kluczem 56‑bitowym używanym w pierwotnym DES.
Historia
W latach 1990–1999 kryptografowie z NBS (obecnie NIST) rozpoczęli prace nad wzmocnieniem bezpieczeństwa DES. W 1998 roku opublikowano standard FIPS 46‑3, który formalnie definiował 3DES jako zamiennik DES w zastosowaniach wymagających wyższego poziomu ochrony.
Podstawy techniczne
3DES działa na 64‑bitowych blokach danych, tak jak oryginalny DES, ale wykorzystuje klucz o długości 112 lub 168 bitów (dwa lub trzy 56‑bitowe klucze, przy czym każdy jest rozszerzany do 64 bitów przez tzw. parzystość). Algorytm przebiega w trzech kolejnych fazach:
- „Encrypt” – szyfrowanie pierwszym kluczem K1 przy użyciu trybu ECB lub innego trybu pracy;
- „Decrypt” – odszyfrowanie wyniku drugiemu kluczowi K2 (co zapewnia efektywne „odwrócenie” pierwszej operacji);
- „Encrypt” – ponowne szyfrowanie trzecim kluczem K3.
W najczęściej stosowanej konfiguracji K1 = K3 (tzw. „2‑key 3DES”), algorytm zapewnia 112‑bitową siłę klucza, natomiast w wersji K1 ≠K2 ≠K3 („3‑key 3DES”) – 168‑bitową.
Bezpieczeństwo
Podstawową zaletą 3DES jest jego odporność na ataki brute‑force, które przy kluczu 56 bitowym DES stały się wykonalne już pod koniec lat 90. Dzięki zwiększonej długości klucza 3DES jest odporny na praktyczne ataki wyczerpujące przy współczesnych zasobach obliczeniowych. Jednak pewne słabości pozostały:
- Wciąż istnieje ryzyko ataku meet‑in‑the‑middle przy wersji 2‑key, co redukuje efektywną siłę klucza do ok. 112 bitów.
- Algorytm jest podatny na ataki związane z tak zwanym „padding oracle”, jeśli nie zastosuje się odpowiedniego trybu (np. CBC) i prawidłowego wypełnienia.
- Z powodu niewielkiej wydajności (trzy kolejne przebiegi DES) 3DES jest coraz częściej zastępowany szybszymi algorytmami, takimi jak AES.
W 2017 roku NIST zalecił wycofanie 3DES z zastosowań wymagających wysokiego poziomu ochrony po 2023 r. (§ 800‑57).
Zastosowania
Mimo wycofywania, 3DES pozostaje wykorzystywany w niektĂłrych starszych systemach finansowych:
- Standard ISO 8583 dla komunikacji płatniczej;
- Protokoły TLS 1.0 i SSL (przed wycofaniem w wersjach wyższych);
- Systemy kart płatniczych (np. EMV) w trybie 3‑key 3DES.
Standardy i specyfikacje
3DES jest opisany w następujących dokumentach:
- FIPS 46‑3 – Federalny Standard Szyfrowania;
- ISO/IEC 18033‑3 – Kryptografia – Algorytmy szyfrowania symetrycznego;
- PCI‑DSS – Standard bezpieczeństwa danych w branży kart płatniczych (zalecenia dotyczące migracji z 3DES).
PorĂłwnanie z innymi algorytmami
| Cecha | 3DES | AES |
|---|---|---|
| Rozmiar bloku | 64 bity | 128 bity |
| Długość klucza | 112 / 168 bity | 128 / 192 / 256 bity |
| Liczba operacji kryptograficznych | 3 × DES | 1 × AES (różne rundy) |
| Zastosowanie w nowych systemach | Ograniczone, wycofywane | Standard de facto |
Implementacje i narzędzia
Wiele bibliotek kryptograficznych oferuje gotowe funkcje 3DES, m.in.:
Podsumowanie
3DES jest ważnym etapem w ewolucji kryptografii symetrycznej, łączącym prostotę klasycznego DES z większą siłą klucza. Choć jego wydajność i bezpieczeństwo nie dorównują współczesnym standardom, pozostaje istotnym elementem historii szyfrowania oraz częścią wielu istniejących (choć stopniowo modernizowanych) systemów informatycznych.