Jak funguje AES?
Základní provoz
Systém AES může být popsán jako iterativní a symetrický šifrovaný blok. AES používá strukturu smyček k tomu, aby opakovaně prováděla přeuspořádání dat nebo permutace. Smyčka nahrazuje jednu datovou jednotku za jinou pro vstupní data. Šifrovací rutina používá pro šifrování a dešifrování dat stejný klíč a použije tento klíč na datové bloky s pevnou délkou.
Klíčový program
Rutina šifrování AES ukládá primární šifrovací klíč do pole. Matrix je skupina objektů se stejnými atributy, které mohou být řešeny jednotlivě. Tato matice se skládá ze čtyř řad, z nichž každý obsahuje čtyři, šest nebo osm bajtů, v závislosti na velikosti klíče. Za scénáři šifrovací rutina používá tuto matici pro generování tabulky, známého jako klíčový program, který obsahuje několik klíčů. Tyto klíče se nazývají kruhové klíče, které je odlišují od původního klíče.
Stavová matice
AES používá šifrovací klíč, který může mít délku 128, 192 nebo 256 bitů, a je použit v datových jednotkách nazývaných bloky, z nichž každý je dlouhý 128 bitů. Algoritmus AES začíná kopírováním každého 16bitového bloku do dvourozměrného pole nazvaného State, čímž vznikne pole 4x4 bajtů. Algoritmus provádí exkluzivní operaci "O", která vrátí hodnotu "true", pokud je pravdivý jeden z operandů. Toto je známé jako "AddRoundKey" a je mezi prvními čtyřmi řádky klíčového programu a matice státu.
Matematické operace
Po exkluzivní počáteční operaci "O" algoritmus šifrování AES vstupuje do hlavní smyčky, kde opakovaně provádí čtyři různé matematické operace v matici státu: "SubBytes", "ShiftRows", "MixColumns" a "AddRoundKey", Tyto operace používají kombinaci přidání, násobení, rotace a nahrazení za účelem šifrování každého bajtu ve státní matrice. Hlavní smyčka běží 10, 12 nebo 14 krát v závislosti na velikosti šifrovacího klíče. Po dokončení provedení algoritmus zkopíruje stavovou matici na výstup ve formě šifrovaného textu.