encyklopedia.space

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:

  1. „Encrypt” – szyfrowanie pierwszym kluczem K1 przy użyciu trybu ECB lub innego trybu pracy;
  2. „Decrypt” – odszyfrowanie wyniku drugiemu kluczowi K2 (co zapewnia efektywne „odwrócenie” pierwszej operacji);
  3. „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:

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.:

  • OpenSSL – funkcja EVP_des_ede3_cbc();
  • Crypto++ – klasa TripleDES;
  • JCA – algorytm DESede.

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.

Źródła

  1. FIPS 46‑3 – Data Encryption Standard
  2. ISO/IEC 18033‑3 – Kryptografia – Algorytmy szyfrowania symetrycznego
  3. NIST SP 800‑57 – Recommendation for Key Management
  4. RFC 2104 – HMAC: Keyed-Hashing for Message Authentication (część dyskusji o wrażliwościach 3DES)