Kryptoanaliza liniowa i tablice aproksymacji
Tworzyć tablice aproksymacji liniowej i statystycznie odzyskiwać bity klucza
Kryptoanaliza liniowa i tablice aproksymacji to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 2 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.
Czym jest kryptoanaliza liniowa?
Kryptoanaliza liniowa (Matsui, 1993) to atak ze znanym tekstem jawnym, który znajduje aproksymacje liniowe (XOR określonych bitów) szyfru zachodzące z prawdopodobieństwem p ≠ 1/2. Przy użyciu wielu par tekst jawny–szyfrogram obciążenie statystyczne ujawnia bity klucza.
Aproksymacja liniowa
Aproksymacja liniowa dla S-boxu: suma wybranych bitów wejściowych XOR suma wybranych bitów wyjściowych = 0 (mod 2) z prawdopodobieństwem p. Wyraża się ją jako: P[a·x XOR b·y = 0] = 1/2 + ε, gdzie a,b to maski bitowe, a ε to bias (obciążenie) (|ε| >> 0 jest pożądane).
Tabela aproksymacji liniowych (LAT)
LAT zlicza, dla każdej maski wejściowej a i maski wyjściowej b, liczbę wejść x, dla których (a·x) XOR (b·S(x)) = 0. Odjęcie 2^{n-1} daje bias. Dobry S-box ma |max_bias| = 1 (prawdopodobieństwo 1/2 ± 1/2^{n/2}) — jest możliwie płaski.
Lemat Piling-Up
Dla niezależnych aproksymacji liniowych w wielu rundach biasy mnożą się: ε_total = 2^{r-1} * ε_1 * ε_2 * ... * ε_r. Każda aproksymacja rundy zmniejsza efektywny bias o połowę. Po wielu rundach całkowity bias zbliża się do 0, co wymaga wykładniczo większej liczby par do wykrycia.
Metodyka ataku
Aby zaatakować szyfr z r rundami, znajdź ścieżkę liniową ε obejmującą r-1 rund. Zbierz N = 1/ε^2 znanych tekstów jawnych. Dla każdego kandydata na bajt klucza ostatniej rundy k' częściowo odszyfruj ostatnią rundę za pomocą XOR i sprawdź, czy aproksymacja liniowa zachodzi częściej niż N/2 razy. Prawidłowy k' wykazuje właściwy bias.
Atak Matsui na DES
W 1993 roku Matsui zaatakował 16-rundowy DES, używając 14-rundowej aproksymacji liniowej z biasem 2^{-21.4}. Wymagało to 2^{43} znanych tekstów jawnych. W fazie 1 odzyskano 26 bitów klucza, a pozostałe 30 znaleziono przez przeszukiwanie wyczerpujące. Był to pierwszy praktyczny atak szybszy niż brute force na całym DES.
Odporność AES
S-box AES ma maksymalną wartość LAT |ε| = 4/256 = 1/64 dla pojedynczego S-boxu. Strategia Wide Trail ogranicza liczbę aktywnych S-boxów w każdej 4-rundowej ścieżce do ≥ 25. Całkowity bias ≤ (1/64)^{25/2} ≈ 2^{-75}. Wymaga to 2^{150} znanych tekstów jawnych — jest niewykonalne.
Liniowa a różnicowa
Różnicowa: znane lub wybrane pary tekstów jawnych; wykorzystuje różnice wyjściowe. Liniowa: znane teksty jawne; wykorzystuje statystyczne aproksymacje liniowe. W praktycznych atakach oba podejścia wykorzystują wybrane teksty jawne. Oba są kryteriami projektowymi: S-boxy muszą być odporne na oba rodzaje ataków (niska maksymalna wartość DDT i niska maksymalna wartość LAT).
Wielokrotna kryptoanaliza liniowa
Używaj jednocześnie wielu aproksymacji liniowych, aby zmniejszyć złożoność danych. Nyberg i Leander rozszerzyli metodę Matsui: połączenie M aproksymacji zmniejsza ilość danych o czynnik log(M). Metodę zastosowano do PRESENT, SIMON i innych szyfrów lekkich.
Ataki korelacyjne na szyfry strumieniowe
Aproksymacja liniowa zastosowana do szyfrów strumieniowych polega na znalezieniu korelacji między strumieniem klucza a funkcją liniową wyjścia LFSR. Taka korelacja, jeśli jest niezerowa, umożliwia szybsze niż wyczerpujące odzyskanie klucza. Zainspirowało to projektowanie nieliniowych funkcji łączących w szyfrach strumieniowych.
Ataki całkowe/kwadratowe
Kryptoanaliza całkowa (Knudsen-Wagner): wybierz zbiór tekstów jawnych, w którym określone bajty przyjmują wszystkie 256 wartości, a pozostałe są stałe. Po kilku rundach XOR wszystkich wyjść na określonych pozycjach wynosi 0 (jest zrównoważony). Metoda wykorzystuje strukturę AES i skutecznie łamie AES o zmniejszonej liczbie rund.
Szybkie sprawdzenie
Co głosi lemat Piling-Up na temat łączenia aproksymacji liniowych?
Podsumowanie
Kryptoanaliza liniowa znajduje obciążone aproksymacje liniowe S-boxów. AES jest odporny dzięki zoptymalizowanemu pod kątem LAT S-boxowi i konstrukcji Wide Trail. Matsui złamał DES, używając 14-rundowej ścieżki i 2^43 znanych tekstów jawnych. Dalej: ataki urodzinowe i znajdowanie kolizji.
Często zadawane pytania
Czy lekcja „Kryptoanaliza liniowa i tablice aproksymacji” jest bezpłatna?
Tak — pełny tekst „Kryptoanaliza liniowa i tablice aproksymacji” 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 „Kryptoanaliza liniowa i tablice aproksymacji”?
Tworzyć tablice aproksymacji liniowej i statystycznie odzyskiwać bity klucza Ć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 2 z 4.
Ile czasu zajmuje lekcja „Kryptoanaliza liniowa i tablice aproksymacji”?
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
- Podstawy kryptoanalizy różnicowej
- Kryptoanaliza liniowa i tablice aproksymacji
- Ataki urodzinowe i kolizyjne
- Meet-in-the-middle i kompromisy czas–pamięć