V kryptografii je Advanced Encryption Standard (AES) algoritmus blokovej šifry so symetrickým kľúčom, ktorý bol vybraný Národným inštitútom pre štandardy a technológie (NIST) v roku 2001. Bol vybraný na šifrovanie údajov. Bežne sa používa na celom svete. Pokročilý šifrovací štandard nahradil štandard DES (Data Encryption Standard).

Od roku 2008 je AES jedným z najpopulárnejších algoritmov používaných v kryptografii so symetrickým kľúčom. Je dostupný pre programátorov a širokú verejnosť pomocou rôznych softvérových balíkov.

Základné vlastnosti

  • Veľkosť bloku: 128 bitov (fixná).
  • Dĺžka kľúča: 128, 192 alebo 256 bitov (označované ako AES-128, AES-192, AES-256).
  • Štruktúra: substitučná–permutatívna sieť (SPN), pôvodne navrhnutá tímom Vincenta Rijmena a Joan Daemena pod názvom Rijndael.
  • Počet kôl: závisí od dĺžky kľúča — 10 kôl pre 128-bit, 12 pre 192-bit a 14 pre 256-bit.

Ako AES funguje (stručne)

AES spracúva 128-bitový blok ako štvoricu riadkov a štyroch stĺpcov (stav). Každé kolo pozostáva z niekoľkých fáz:

  • SubBytes: nelineárna substitúcia bajtov cez S-box.
  • ShiftRows: cyklické posuny riadkov v stave.
  • MixColumns: lineárna transformácia miesiacich stĺpcov (okrem posledného kola).
  • AddRoundKey: XOR s rozšíreným kľúčom pre dané kolo.

Toto opakovanie vytvára silnú difúziu a zamiešanie pôvodných dát s kľúčom.

Režimy prevádzky

AES je len algoritmus blokovej šifry; na reálne šifrovanie dát sa používa v režimoch prevádzky. Medzi najčastejšie patria:

  • ECB (Electronic Codebook): jednoduchý, ale neodporúča sa pre opakujúce sa dáta (netvorí zamaskovanie vzorov).
  • CBC (Cipher Block Chaining): bežne používaný, vyžaduje náhodný IV pre každú správu.
  • CTR (Counter): prevádza blokovú šifru na prúdovú, paralelizovateľný.
  • GCM (Galois/Counter Mode): poskytuje autentifikáciu aj dôvernosť (AEAD) a je veľmi populárny v sieťových protokoloch.

Bezpečnosť a známe útoky

  • AES považovaný za bezpečný pri správnom použití a primeranej správe kľúčov. Pri dĺžke kľúča 128 bitov je priamy hrubou silou (brute-force) prakticky nepriechodný.
  • Existujú teoretické útoky na redukovaný počet kôl alebo špecifické varianty, ale plná verzia AES zostáva bezpečná proti praktickým kryptanalytickým útokom.
  • Reálne riziká sú často implementačné útoky — bočné kanály (timing, power, cache), zlé generovanie IV, zle spravované kľúče alebo použitie nevhodných režimov (napr. ECB).

Použitie v praxi

  • Šifrovanie sieťovej komunikácie: TLS/SSL (pre zabezpečenie webu), IPsec, VPN.
  • Šifrovanie uložených dát: šifrovanie diskov (BitLocker, LUKS), súborov a databáz.
  • Mobilné a embedded zariadenia: vďaka efektívnosti a podpore hardvérového akcelerátora (napr. AES-NI) beží rýchlo aj na bežnom hardvéri.

Implementačné odporúčania

  • Používajte mód so zaručenou autentifikáciou (napr. AES-GCM alebo AES-CCM) namiesto samotného šifrovania bez autentifikácie.
  • Generujte pre každú správu jedinečný a/nebo náhodný IV/nonce (podľa režimu).
  • Dbajte na bezpečné ukladanie a rotáciu kľúčov; použite dedikované HSM alebo KMS tam, kde je to možné.
  • Zabezpečte implementácie proti bočným kanálom (constant-time operácie, maskovanie, vyhýbanie sa tabuľkovej implementácii bez ochrany).
  • Využívajte overené kryptografické knižnice a aktívne aktualizujte softvér.

Záver

AES zostáva štandardom pre symetrické šifrovanie vďaka svojej bezpečnosti, rýchlosti a širokej podpore v hardvéri aj softvéri. Správne nasadenie (vo vhodnom režime, s autentifikáciou a korektnou správou kľúčov a IV) zabezpečí vysokú úroveň ochrany dát v rôznych aplikáciách.