Triple DES: wydłużenie życia DES
Poznają Państwo, jak 3DES przedłużył bezpieczeństwo DES dzięki wielokrotnym przebiegom szyfrowania oraz gdzie jest nadal używany.
Triple DES: wydłużenie życia DES to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Atak spotkania pośrodku na Double DES
Oczywistym rozwiązaniem problemu zbyt krótkiego klucza DES jest dwukrotne zastosowanie szyfru (Double DES): C = DES_K2(DES_K1(P)). Przy dwóch kluczach 56-bitowych nominalna przestrzeń kluczy ma rozmiar 2^112.
Atak spotkania pośrodku całkowicie niweczy tę korzyść: należy zaszyfrować wszystkie teksty jawne przy użyciu wszystkich 2^56 wartości K1, odszyfrować wszystkie szyfrogramy przy użyciu wszystkich 2^56 wartości K2, a następnie znaleźć pasujące wartości pośrednie. Atak wymaga zaledwie 2^56 pracy i 2^56 pamięci, więc Double DES nie zapewnia większego bezpieczeństwa niż pojedynczy DES.
Bezpieczeństwo 3DES z dwoma kluczami
3DES z dwoma kluczami wykorzystuje trzy operacje DES, ale tylko dwa klucze: C = DES_K1(DES^-1_K2(DES_K1(P))). Kolejność EDE (Encrypt-Decrypt-Encrypt) służy zapewnieniu zgodności wstecznej.
Bezpieczeństwo 3DES z dwoma kluczami wynosi około 112 bitów względem znanych ataków, choć ataki spotkania pośrodku nieco je zmniejszają. 3DES z dwoma kluczami jest używany w wielu starszych systemach bankowych i płatniczych.
3DES z trzema kluczami
3DES z trzema kluczami wykorzystuje trzy niezależne klucze K1, K2, K3: C = DES_K3(DES^-1_K2(DES_K1(P))). Nominalna długość klucza wynosi 3 x 56 = 168 bitów, ale efektywne bezpieczeństwo względem najlepszych znanych ataków to około 112 bitów.
3DES z trzema kluczami zapewnia wyższy poziom bezpieczeństwa niż 3DES z dwoma kluczami i był zalecany dla nowych zastosowań w standardach takich jak NIST SP 800-131A, zanim sam 3DES został wycofany.
Wyjaśnienie trybu EDE
Struktura Encrypt-Decrypt-Encrypt (EDE) szyfru Triple DES nie jest przypadkowa. Gdy K1 = K2 = K3, środkowe deszyfrowanie cofa pierwsze szyfrowanie, a końcowe szyfrowanie daje ten sam wynik co pojedynczy DES.
Ta zgodność wsteczna z pojedynczym DES miała kluczowe znaczenie dla stopniowej migracji. Istniejący sprzęt i oprogramowanie DES mogły współdziałać z systemami 3DES w okresie przejściowym, bez utraty danych.
Zgodność wsteczna z pojedynczym DES
Triple DES można sprowadzić do pojedynczego DES, ustawiając wszystkie trzy klucze na taką samą wartość. Oznacza to, że sprzęt 3DES może przetwarzać dane zaszyfrowane zarówno DES, jak i 3DES, korzystając z tych samych układów.
Było to szczególnie ważne dla systemów bankowych i płatniczych, które dysponowały infrastrukturą opartą na DES o wartości miliardów dolarów. 3DES umożliwił stopniowe przejście zachowujące zgodność wsteczną, bez konieczności jednoczesnej wymiany całego sprzętu.
3DES w bankowości i EMV
3DES nadal jest szeroko stosowany w infrastrukturze bankowej, mimo że nie jest zalecany do nowych zastosowań. Karty płatnicze EMV z chipem wykorzystują 3DES do uwierzytelniania karty i kryptografii transakcji.
SWIFT w komunikacji międzybankowej również używa 3DES do obsługi starszych kodów uwierzytelniania wiadomości. Ogromna skala wdrożonej infrastruktury finansowej sprawia, że 3DES będzie obecny w użyciu jeszcze przez wiele lat, mimo wycofywania go ze stosowania.
Wycofanie 3DES przez NIST (2023)
NIST oficjalnie wycofał 3DES ze stosowania w 2023 roku za pośrednictwem drugiej rewizji dokumentu SP 800-131A. Każde użycie 3DES jest obecnie uznawane za wycofywane, co oznacza, że nie należy go stosować w nowych systemach, a w starszych systemach należy od niego odchodzić.
Zalecanym następcą jest AES. AES działa szybciej, używa większych bloków (128 bitów zamiast 64), oferuje klucze o długości 128, 192 lub 256 bitów i nie ma znanych praktycznych słabości.
Atak urodzinowy Sweet32
Opublikowany w 2016 roku atak Sweet32 pokazał praktyczny atak na 3DES w HTTPS. Rozmiar bloku wynoszący 64 bity oznacza, że po przetworzeniu 2^32 bloków (około 32 GB danych) kolizje wynikające z paradoksu urodzin w trybie CBC zaczynają ujawniać informacje o tekstach jawnych.
W przypadku sesji HTTPS atak Sweet32 wymagał około 785 GB ruchu przesłanego z użyciem tego samego klucza, co można osiągnąć podczas długo trwającej uwierzytelnionej sesji. Atak skłonił twórców przeglądarek do nadania priorytetu AES-GCM i usunięcia 3DES z domyślnych zestawów szyfrów.
Wadę wydajnościową 3DES
Triple DES wykonuje trzy operacje DES na blok. Sam DES działa wolno na nowoczesnym sprzęcie, ponieważ zaprojektowano go z myślą o sprzęcie z lat 70., wykorzystującym inne schematy operacji bitowych niż współczesne procesory.
AES, zaprojektowany z myślą o wydajności programowej i wykorzystujący nowoczesny sprzęt z instrukcjami AES-NI, działa w oprogramowaniu od 10 do 100 razy szybciej niż 3DES. AES-NI we współczesnych procesorach Intel/AMD umożliwia szyfrowanie wielu gigabajtów na sekundę, podczas gdy 3DES z trudem osiąga 100 MB/s.
Rozmiar bloku pozostaje równy 64 bitom
Mimo zastosowania trzech operacji DES i dłuższych kluczy 3DES zachowuje 64-bitowy rozmiar bloku DES. Rozmiar bloku jest podstawowym parametrem struktury Feistela i nie można go zmienić bez przeprojektowania algorytmu.
Ten 64-bitowy rozmiar bloku jest główną przyczyną podatności Sweet32. W przypadku AES rozmiar bloku wynoszący 128 bitów sprawia, że ataki urodzinowe wymagałyby 2^64 bloków (~18 eksabajtów), co w praktyce jest niewykonalne obliczeniowo.
Ścieżka migracji NIST z 3DES do AES
Dokument NIST SP 800-131A zawiera szczegółowy przewodnik migracji z 3DES do AES. Zaleca on AES z kluczami o długości 128, 192 lub 256 bitów jako zamiennik dla wszystkich zastosowań 3DES — od zestawów szyfrów TLS po szyfrowanie przechowywanych danych.
Migracja jest dobrze wspierana: każda nowoczesna biblioteka kryptograficzna i platforma sprzętowa obsługuje AES, często z akceleracją sprzętową. Organizacjom zaleca się traktowanie migracji jako aktualizacji konfiguracji oprogramowania, a nie projektu wymiany sprzętu.
Quiz dotyczący wariantów kluczy 3DES
Proszę sprawdzić swoją wiedzę na temat konfiguracji Triple DES.
Najważniejsze informacje: Triple DES
Triple DES utworzono w celu przedłużenia żywotności DES z użyciem struktury EDE. Ataki typu meet-in-the-middle uniemożliwiają uzyskanie przez Double DES dwukrotnie większego poziomu bezpieczeństwa. 3DES z jednakowymi kluczami sprowadza się do pojedynczego DES, co umożliwia zgodność wsteczną.
NIST uznał 3DES za przestarzały (2023) z powodu podatności wynikającej z 64-bitowego rozmiaru bloku (Sweet32) oraz słabej wydajności w porównaniu z AES. Nadal występuje w infrastrukturze bankowej i EMV jako element starszych systemów.
Często zadawane pytania
Czy lekcja „Triple DES: wydłużenie życia DES” jest bezpłatna?
Tak — pełny tekst „Triple DES: wydłużenie życia DES” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Triple DES: wydłużenie życia DES”?
Poznają Państwo, jak 3DES przedłużył bezpieczeństwo DES dzięki wielokrotnym przebiegom szyfrowania oraz gdzie jest nadal używany. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?
Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Triple DES: wydłużenie życia DES”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?
Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Konstrukcja DES i szyfr Lucifer
- Jak złamano DES
- Triple DES: wydłużenie życia DES
- Lekcje z DES: czego się nauczyliśmy