AES (Advanced Encryption Standard), známý také pod původním názvem Rijndael, je standardizovaný algoritmus pro symetrické šifrování dat. Byl vybrán americkým institutem NIST v roce 2001 po mezinárodní soutěži jako náhrada za zastaralý standard DES (Data Encryption Standard).
Dnes je AES průmyslovým standardem používaným vládami, bankami a bezpečnostními protokoly po celém světě (např. v HTTPS, Wi-Fi WPA2/WPA3 nebo při šifrování disků).
AES je bloková šifra, což znamená, že data nezpracovává po jednotlivých bitech, ale dělí je do bloků o pevné délce.
Algoritmus pracuje s daty v podobě dvourozměrné matice bajtů (tzv. State). V každém cyklu (rundě) provádí čtyři základní transformace:
Každý bajt v matici je nahrazen jiným bajtem podle pevně dané převodní tabulky (S-box). Tato fáze zajišťuje nelinearitu šifry a odolnost proti lineární kryptoanalýze.
Řádky matice jsou cyklicky posunuty o určitý počet pozic (druhý řádek o jedna, třetí o dvě atd.). Tím se data „rozptýlí“ napříč blokem.
Lineární transformace, která kombinuje bajty v každém sloupci. Tato operace zajišťuje, že změna jednoho bajtu na vstupu se projeví v mnoha bajtech na výstupu (efekt laviny).
V této fázi je k matici dat pomocí operace XOR přičten podklíč odvozený z hlavního šifrovacího klíče.
AES je považován za extrémně bezpečný. Dosud nebyl nalezen žádný praktický útok, který by byl efektivnější než útok hrubou silou (brute-force).
Většina moderních procesorů (Intel, AMD, ARM) obsahuje instrukční sadu AES-NI. To umožňuje provádět šifrování přímo na úrovni hardwaru, což je mnohonásobně rychlejší než softwarové výpočty a zároveň bezpečnější proti útokům postranními kanály.
Protože AES šifruje bloky samostatně, musí se používat tzv. módy provozu, aby stejné bloky dat nevypadaly po zašifrování stejně:
Související pojmy: Symetrické šifrování, DES, Kryptoanalýza, Klíč, HTTPS.