0Pricing
Cryptology Academy · Lekcja

Koncepcje szyfrów strumieniowych i PRNG

Poznać sposób generowania strumienia klucza z ziarna przez szyfry strumieniowe

Koncepcje szyfrów strumieniowych i PRNG to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 1 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.

Wprowadzenie

Szyfry strumieniowe generują pseudolosowy strumień klucza na podstawie klucza i nonce, a następnie szyfrują dane bajt po bajcie. W tej lekcji zrozumiesz, jak działają strumienie klucza i co decyduje o bezpieczeństwie szyfru strumieniowego.

Model szyfru strumieniowego

KeyGen(K, Nonce) → strumień klucza K1, K2, K3, ... Ci = Pi XOR Ki Pi = Ci XOR Ki Szyfrowanie i odszyfrowywanie są identyczne: polegają na wykonaniu operacji XOR ze strumieniem klucza. Strumień klucza musi być pseudolosowy i nigdy nie może być użyty ponownie.

PRNG a CSPRNG

PRNG (Pseudorandom Number Generator): deterministyczne dane wyjściowe, które wyglądają jak losowe. NIE jest bezpieczny kryptograficznie — przechodzi testy statystyczne, ale przy dostatecznej liczbie próbek jego dane wyjściowe można przewidzieć. CSPRNG: bezpieczny kryptograficznie — jego dane wyjściowe są obliczeniowo nierozróżnialne od losowych, nawet przy nieograniczonej mocy obliczeniowej.

Wymagania bezpieczeństwa

Bezpieczny strumień klucza szyfru strumieniowego musi być: 1. Obliczeniowo nierozróżnialny od losowego 2. Inny dla każdej pary (klucz, nonce) 3. Niemożliwy do przewidzenia na podstawie częściowych danych wyjściowych 4. Nieodwracalny — nie można wyprowadzić klucza ze strumienia klucza

Generatory liniowe kongruencyjne (niebezpieczne)

LCG: s(n+1) = (a × s(n) + c) mod m. Są używane w wielu implementacjach rand(). Są całkowicie niebezpieczne w kryptografii — znajomość kilku danych wyjściowych pozwala matematycznie odtworzyć wszystkie przyszłe i przeszłe dane wyjściowe.

Rozmiar ziarna a bezpieczeństwo

Bezpieczeństwo strumienia klucza szyfru strumieniowego jest ograniczone bezpieczeństwem jego ziarna (klucza). Klucz 128-bitowy zapewnia 128-bitowy poziom bezpieczeństwa niezależnie od ilości wygenerowanego strumienia klucza. Ziarno jest źródłem entropii.

Synchroniczne a samosynchronizujące się

Synchroniczne: strumień klucza jest niezależny od tekstu jawnego i szyfrogramu (RC4, ChaCha20). Samosynchronizujące się: strumień klucza zależy od poprzedniego szyfrogramu (tryb CFB). Utrata bitów powoduje utratę synchronizacji szyfrów synchronicznych.

Architektura generowania strumienia klucza

Większość współczesnych szyfrów strumieniowych wykorzystuje następujący schemat: 1. Klucz + nonce → stan początkowy 2. Wielokrotne zastosowanie funkcji permutacji do stanu 3. Wyprowadzenie części bitów stanu jako strumienia klucza 4. Zwiększenie licznika dla następnego bloku AES-CTR działa zgodnie z tym schematem.

Projekt eSTREAM

Projekt eSTREAM (2004–2008) doprowadził do standaryzacji szyfrów strumieniowych. Finaliści dla oprogramowania: HC-128, Rabbit, Salsa20/12, SOSEMANUK. Salsa20 dał początek ChaCha20, który jest obecnie dominującym szyfrem strumieniowym.

Ponowne użycie strumienia klucza: wada krytyczna

Najpoważniejszy błąd w przypadku szyfrów strumieniowych: nigdy nie używaj ponownie pary (klucz, nonce). C1 XOR C2 = P1 XOR P2. Wiele pakietów WEP z tą samą wartością IV (równoważną parze klucz+nonce) umożliwiło ich całkowite odszyfrowanie.

Szyfr strumieniowy a szyfr blokowy w trybie CTR

AES-CTR to szyfr blokowy używany jako szyfr strumieniowy. Dedykowane szyfry strumieniowe (ChaCha20) są często szybsze w oprogramowaniu. Przy prawidłowym użyciu kluczy i wartości nonce mają podobne właściwości bezpieczeństwa.

Szybkie sprawdzenie

Jaka jest podstawowa podatność wynikająca z ponownego użycia pary (klucz, nonce) w szyfrze strumieniowym?

Podsumowanie

Podstawy szyfrów strumieniowych są już jasne. Następnie szczegółowo omówimy RC4 — jego działanie i poważne słabości, które doprowadziły do wycofania tego szyfru.

Często zadawane pytania

Czy lekcja „Koncepcje szyfrów strumieniowych i PRNG” jest bezpłatna?

Tak — pełny tekst „Koncepcje szyfrów strumieniowych i PRNG” 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 „Koncepcje szyfrów strumieniowych i PRNG”?

Poznać sposób generowania strumienia klucza z ziarna przez szyfry strumieniowe Ć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 1 z 4.

Ile czasu zajmuje lekcja „Koncepcje szyfrów strumieniowych i PRNG”?

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

  1. Koncepcje szyfrów strumieniowych i PRNG
  2. RC4: konstrukcja, słabości i ataki na WEP
  3. Konstrukcja Salsa20 i ChaCha20
  4. ChaCha20-Poly1305 AEAD w TLS 1.3
← Powrót do Cryptology Academy