2024-10-30
Bloki danych o stałej długości (np. 128, 192 lub 256 bitów) są przekształcane w serię substytucji, permutacji i operacji mieszania, które są stosowane do szyfrowania i odszyfrowania danych.Ponieważ szyfrowanie AES używa symetrycznego klucza, ten sam jest używany do szyfrowania i odszyfrowania.
Proces ten odbywa się w etapach:
1Kluczowa ekspansja.Początkowy klucz jest rozszerzany na 44, 52 lub 60 32-bitowych słów dla 128, 192 i 256-bitowych kluczy.Proces rozszerzania klucza polega na generowaniu dodatkowych kluczy okrągłych z początkowego klucza.
2Pierwsza runda.. Wprowadzony blok lub blok tekstu prostego jest mieszany z początkowym kluczem okrągłym przed przejściem do głównych rund szyfrowania AES.
3Każda runda szyfrowania AES składa się z czterech transformacji.:
Podbajty. Każdy bajt w bloku jest zastępowany przez odpowiedni bajt w predefiniowanym polu zastępczym zaprojektowanym w celu przeciwdziałania znanym atakom kryptograficznym.
Zmiany wierszy. Bajty w każdym wierszu bloku są przesunięte cyklicznie w lewo, z różnymi przesunięciami dla różnych wierszy.Ten krok zapewnia, że każda kolumna stanu wyjściowego operacji ShiftRows składa się z bajtów pochodzących z każdej kolumny stanu wejściowego.
MixColumnsKażda kolumna jest przekształcana za pomocą operacji mnożenia macierzy, która zapewnia dyfuzję i zwiększa bezpieczeństwo AES. Operacja ta dotyczy wszystkich czterech bajtów w kolumnie razem.
AddRoundKey. W rezultacie blok jest łączony z kluczem okrągłym pochodzącym z harmonogramu klucza.
4- Zakończenie.Po wszystkich głównych rundach odbywa się finałowa runda, obejmująca wszystkie kroki z wyjątkiem MixColumns.
5. Wydajność. Wynikłe bity są tekstem szyfrującym odpowiadającym bloku tekstu prostego.
Odszyfrowanie odbywa się z operacjami odwrotnymi w odwrotnej kolejności.
Wyślij zapytanie bezpośrednio do nas