0Pricing
Cryptology Academy · Lekcja

Struktura AES: rundy i macierz stanu

Prześledź działanie SubBytes, ShiftRows, MixColumns i AddRoundKey.

Struktura AES: rundy i macierz stanu 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.

Wprowadzenie

AES jest siecią podstawieniowo-permutacyjną działającą na macierzy bajtów 4×4 nazywanej stanem. W każdej rundzie wykonywane są cztery operacje przekształcające stan.

Macierz stanu

AES umieszcza 16 bajtów tekstu jawnego w siatce 4×4 nazywanej stanem: [b0 b4 b8 b12] [b1 b5 b9 b13] [b2 b6 b10 b14] [b3 b7 b11 b15] Wszystkie operacje przekształcają tę macierz.

Liczba rund

AES-128: 10 rund. AES-192: 12 rund. AES-256: 14 rund. W każdej rundzie wykonywane są SubBytes, ShiftRows, MixColumns i AddRoundKey (z wyjątkiem rundy końcowej, w której pomija się MixColumns).

SubBytes: podstawienie nieliniowe

SubBytes zastępuje każdy bajt jego wartością w S-boxie AES — stałej tablicy wyszukiwania zawierającej 256 wpisów, skonstruowanej na podstawie odwracania w GF(2^8). To źródło nieliniowości i konfuzji AES.

S-box AES

S-box odwzorowuje 0x00→0x63, 0x01→0x7C, ... Każdy bajt wejściowy jest odwzorowywany na unikatowy bajt wyjściowy. Odwrotny S-box wykonuje odwrotne odwzorowanie podczas deszyfrowania. Żaden bajt nie jest odwzorowywany na samego siebie (0x63 jest odwzorowywane przez odwrotny S-box na 0x00).

ShiftRows: permutacja wierszy

ShiftRows wykonuje cykliczne przesunięcie każdego wiersza stanu: Wiersz 0: bez przesunięcia. Wiersz 1: w lewo o 1. Wiersz 2: w lewo o 2. Wiersz 3: w lewo o 3. Dzięki temu bajty są rozpraszane między różne kolumny na potrzeby kolejnego kroku MixColumns.

MixColumns: dyfuzja kolumn

MixColumns traktuje każdą 4-bajtową kolumnę jako wielomian nad GF(2^8) i mnoży ją przez stałą macierz. Każdy bajt wyjściowy zależy od wszystkich 4 bajtów wejściowych, zapewniając dyfuzję.

AddRoundKey

AddRoundKey wykonuje operację XOR między stanem a 16-bajtowym kluczem rundy wyprowadzonym z klucza pierwotnego. Jest to jedyny krok, w którym używany jest tajny klucz, i jedyny krok zapewniający poufność.

Struktura rundy

Początkowo: AddRoundKey Rundy 1..N-1: SubBytes → ShiftRows → MixColumns → AddRoundKey Runda końcowa: SubBytes → ShiftRows → AddRoundKey (bez MixColumns) Podczas deszyfrowania wykonywane są operacje odwrotne w odwrotnej kolejności.

Strategia Wide-Trail

Projektanci AES zastosowali strategię Wide-Trail, aby dowieść odporności na analizę różnicową i liniową. Po 4 rundach każdy atak musi przeanalizować 2^128 możliwości.

Sprzętowa obsługa AES

Nowoczesne procesory (Intel, AMD, ARM) zawierają instrukcje AES-NI: AESENC, AESENCLAST i AESDEC. Pojedyncza instrukcja procesora wykonuje jedną rundę AES, dzięki czemu AES działa niezwykle szybko w sprzęcie.

Szybkie sprawdzenie

Która operacja AES zapewnia nieliniowość (konfuzję) zapobiegającą atakom algebraicznym?

Podsumowanie

Struktura AES jest już jasna! Następnie omówimy rozszerzanie klucza — sposób przekształcania klucza 128-bitowego w 11 kluczy rund.

Często zadawane pytania

Czy lekcja „Struktura AES: rundy i macierz stanu” jest bezpłatna?

Tak — pełny tekst „Struktura AES: rundy i macierz stanu” 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 „Struktura AES: rundy i macierz stanu”?

Prześledź działanie SubBytes, ShiftRows, MixColumns i AddRoundKey. Ć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 „Struktura AES: rundy i macierz stanu”?

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 szyfrowania symetrycznego
  2. Struktura AES: rundy i macierz stanu
  3. Rozszerzanie klucza AES i rozmiary kluczy
  4. Praktyczne szyfrowanie plików za pomocą AES
← Powrót do Cryptology Academy