SubBytes
Krok AES, który zamienia każdy bajt stanu na inny za pomocą stałego S-boksa — jedyna operacja nieliniowa w całym szyfrze.
S-boks nie jest dowolną tablicą. Każdy bajt traktuje się jako element GF(28), zastępuje jego odwrotnością multiplikatywną, a następnie przepuszcza przez przekształcenie afiniczne. Konstrukcję wybrano, ponieważ najlepsza charakterystyka różnicowa zachodzi z prawdopodobieństwem 4/256, a najlepsze przybliżenie liniowe jest niewiele lepsze, i na tym polega cała obrona AES przed kryptoanalizą różnicową i liniową. Bez SubBytes AES byłby układem równań liniowych, a te rozwiązuje się przed obiadem.
Ironia polega na tym, że matematycznie elegancka tablica stała się słabym punktem implementacji. Oprogramowanie szuka S-boksa w pamięci, a odczyty z pamięci indeksowane tajnymi danymi wyciekają przez pamięć podręczną. Dlatego istnieje AES-NI, które od 2010 roku wykonuje ten krok sprzętowo.