0Pricing
Cryptology Academy · Lekcja

XOR wewnątrz AES i szyfrów strumieniowych

Prześledź wykorzystanie XOR wewnątrz rzeczywistych algorytmów szyfrowania.

XOR wewnątrz AES i szyfrów strumieniowych to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 4 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

XOR jest fundamentalnym elementem każdego współczesnego szyfru. W tej lekcji prześledzimy zastosowanie XOR w operacji AddRoundKey algorytmu AES oraz w mieszaniu strumienia klucza szyfrów strumieniowych.

XOR w AES: AddRoundKey

AES składa się z 10–14 rund. Każda runda rozpoczyna się od AddRoundKey: stan o długości 16 bajtów jest poddawany operacji XOR z kluczem rundy o długości 16 bajtów. Jest to jedyny etap, który faktycznie wprowadza tajny klucz.

Wyprowadzanie kluczy rund AES

Pierwotny klucz 128-, 192- lub 256-bitowy jest rozwijany do 11, 13 lub 15 kluczy rund za pomocą harmonogramu klucza. Każdy etap AddRoundKey używa innego wyprowadzonego klucza rundy.

Dlaczego XOR działa wewnątrz AES

W AES operacja XOR zachodzi w ramach arytmetyki GF(2^8). Otaczające ją nieliniowe operacje (SubBytes, MixColumns) nadają XOR właściwości dyfuzji i konfuzji opisane przez Claude'a Shannona.

Strumień klucza szyfru strumieniowego

Szyfr strumieniowy generuje pseudolosowy strumień klucza na podstawie klucza i nonce: keystream = CSPRNG(key, nonce) ciphertext = plaintext XOR keystream ChaCha20 generuje strumień klucza w blokach po 64 bajty za pomocą funkcji quarter-round.

Runda ćwiartkowa ChaCha20

Funkcja mieszająca ChaCha20: a += b; d ^= a; d <<<= 16 c += d; b ^= c; b <<<= 12 a += b; d ^= a; d <<<= 8 c += d; b ^= c; b <<<= 7 XOR (^) i rotacja (<<<) to kluczowe operacje.

Nonce i licznik w szyfrach strumieniowych

ChaCha20 przyjmuje: klucz 256-bitowy + nonce 96-bitowy + licznik 32-bitowy. Różne wartości licznika generują różne bloki strumienia klucza. Ponowne użycie pary (key, nonce) jest katastrofalne — nigdy tego nie należy robić.

Tryb AES-CTR: szyfr blokowy jako szyfr strumieniowy

AES-CTR szyfruje kolejne wartości licznika za pomocą AES, a następnie wykonuje operację XOR wyniku z tekstem jawnym. W ten sposób AES, czyli szyfr blokowy, staje się szyfrem strumieniowym umożliwiającym generowanie danych o dowolnej długości.

XOR w trybach OFB i CFB

OFB: keystream = AES(AES(AES(IV)...)). Plaintext XOR keystream = ciphertext. CFB: ciphertext block = plaintext XOR AES(previous_ciphertext). W obu trybach XOR służy jako etap mieszania.

Konfuzja i dyfuzja dzięki XOR oraz S-Box

Konfuzja według Shannona: S-boxy (SubBytes) sprawiają, że zależność między kluczem a szyfrogramem staje się złożona. Dyfuzja: ShiftRows+MixColumns rozprzestrzenia wpływ każdego bajtu. XOR łączy oba te mechanizmy z kluczem.

Nigdy nie twórz własnej kryptografii

Zrozumienie roli XOR pokazuje, dlaczego amatorskie projekty szyfrów zawodzą: używają XOR bez warstw nieliniowych. Bez S-boxów i dyfuzji szyfry oparte na XOR są algebraicznie trywialne do złamania.

Szybkie sprawdzenie

Która operacja AES bezpośrednio wykonuje XOR stanu z kluczem rundy?

Podsumowanie

Poznali Państwo rolę XOR wewnątrz rzeczywistych szyfrów. Następnie zajmiemy się funkcjami skrótu — od MD5 po SHA-256.

Często zadawane pytania

Czy lekcja „XOR wewnątrz AES i szyfrów strumieniowych” jest bezpłatna?

Tak — pełny tekst „XOR wewnątrz AES i szyfrów strumieniowych” 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 „XOR wewnątrz AES i szyfrów strumieniowych”?

Prześledź wykorzystanie XOR wewnątrz rzeczywistych algorytmów szyfrowania. Ć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 4 z 4.

Ile czasu zajmuje lekcja „XOR wewnątrz AES i szyfrów strumieniowych”?

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. Powtórka operacji bitowych
  2. Szyfrowanie XOR i szyfr z kluczem jednorazowym
  3. Dlaczego sam XOR nie jest bezpieczny
  4. XOR wewnątrz AES i szyfrów strumieniowych
← Powrót do Cryptology Academy