A kriptográfiában az Advanced Encryption Standard (AES) egy szimmetrikus kulcsú, blokkos titkosítási algoritmus, amelyet a National Institute of Standards and Technology (NIST) 2001-ben szabványosított (FIPS 197). Az AES-t széles körben választották az adatok titkosítására és általánosan használják világszerte; a fejlett titkosítási szabvány felváltotta az adattitkosítási szabványt (DES), amelyet már nem tartottak biztonságosnak a növekvő számítási teljesítmény mellett.
Az AES-t az európai Rijndael algoritmus alapján dolgozták ki Joan Daemen és Vincent Rijmen munkájaként. 2008 óta az AES az egyik legnépszerűbb algoritmus a szimmetrikus kulcsú kriptográfiában, és különböző szoftver- és hardvermegoldásokban elérhető programozók és a nagyközönség számára. Az AES nyílt, szabványosított és jellemzően licence-mentes, ezért széles körben alkalmazzák protokollokban és termékekben.
Műszaki jellemzők
- Blokkméret: 128 bit.
- Támogatott kulcsméretek: 128, 192 és 256 bit.
- Körök száma: Kulcshossztól függően 10 (AES‑128), 12 (AES‑192) vagy 14 (AES‑256) kör.
- Szerkezet: substitution–permutation network (SPN) — a körök SubBytes, ShiftRows, MixColumns és AddRoundKey műveletekből állnak.
- S‑box: nemlineáris helyettesítő tábla, amely Galois-mezőbeli (GF(2^8)) inverz és affinváltás alapján készült.
Működés röviden
Az AES blokkokat tömbszerűen kezeli (4×4 bájtos áll mátrixként), és minden kör több, jól definiált lépést hajt végre: SubBytes (helyettesítés S‑box segítségével), ShiftRows (sorok eltolása), MixColumns (oszlopok keverése polinomműveletekkel), valamint AddRoundKey (körkulcs XOR‑olása). A körkulcsokat a kulcskibővítő (key schedule) generálja a főkulcsból.
Üzemmódok és ajánlott használat
Az AES önmagában csak blokk-titkosító primitív; gyakorlati alkalmazáshoz üzemmódokat használnak. Néhány gyakori üzemmód:
- ECB: egyszerű, de nem ajánlott — ismétlődő blokkok mintázatot hagynak.
- CBC: elterjedt, de helyes IV-kezelést és üzenet-hitelesítést igényel.
- CTR: rugalmas és párhuzamosítható, de a számláló/nonce ismétlése veszélyes.
- GCM és CCM: hitelesített titkosítási módok (AEAD) — a modern alkalmazásokban (pl. TLS, IPsec, VPN, lemeztitkosítás) ezek használata ajánlott.
Ajánlás: mindig használjon hitelesített titkosítást (pl. AES‑GCM), kerülje az ECB‑t, és gondoskodjon a megfelelő kulcs- és nonce-kezelésről.
Biztonság és támadások
Az AES‑re nincs ismert praktikus kriptanalitikus törés a teljes kulcshosszok ellen — az ismert elméleti támadások (pl. biclique az AES‑128 ellen) csak csekély komplexitáscsökkenést hoztak és nem jelentenek gyakorlati veszélyt a megfelelő kulcshosszok mellett. Fontos azonban megjegyezni, hogy az implementációk sebezhetnek: oldalsávos támadások (időzítés, cache, elektromágneses sugárzás) képesek kulcsinformáció kiszivárogtatására, ezért a biztonságos, konzisztens (constant‑time) implementációk és hardvertámogatás (pl. AES‑NI) használata ajánlott.
Alkalmazások
- Továbbítási protokollok: TLS/SSL, SSH.
- Hálózati biztonság: IPsec, VPN.
- Vezeték nélküli hálózatok: WPA2 (AES‑CCMP).
- Lemez- és fájltitkosítás: BitLocker, LUKS, VeraCrypt.
- Alkalmazások és mobileszközök adatvédelme, beágyazott rendszerek és hardveres titkosítók.
Implementáció és teljesítmény
Az AES mind szoftveresen, mind hardveresen gyorsan futtatható. A modern processzorok (Intel/AMD) támogatják az AES‑NI utasításkészletet, amely jelentősen felgyorsítja a műveleteket és csökkenti az oldalsávos kockázatokat. Emellett sok könyvtár kínál biztonságos, jól tesztelt AES‑implementációkat; mindig használjon megbízható, karbantartott könyvtárakat és kövesse a kriptográfiai legjobb gyakorlatokat (pl. kulcsméretek, IV/nonce kezelése, hitelesítés).
Összefoglalás
Az AES a modern, széles körben elfogadott szimmetrikus kulcsú, blokkos titkosítási szabvány, amely biztonságos és hatékony megoldást nyújt sokféle alkalmazás számára. A helyes használat — megfelelő üzemmód, kulcskezelés és biztonságos implementáció — elengedhetetlen a tényleges védelemhez.

