AES (Advanced Encryption Standard) — szimmetrikus blokk-titkosítás áttekintése
Ismerje meg az AES-t: a NIST által szabványosított szimmetrikus blokk-titkosítás működését, alkalmazásait és biztonsági előnyeit programozóknak és felhasználóknak.
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.

A VeraCrypt egy olyan program, amely lehetőséget ad az AES használatára a titkosításhoz.
Történelem
Az AES egyfajta Rijndael (ejtsd: [rɛindaːl]) blokkláncfájl, amelyet belga programozók, Vincent Rijmen és Joan Daemen fejlesztettek ki.
A National Institute of Standards and Technology versenyt hirdetett egy nyilvánosan elérhető szimmetrikus kulcsú titkosítási algoritmus kifejlesztésére, és 1997-ben kezdte el fogadni a pályázatokat.
1998-ban tizenöt algoritmust választottak ki az első fordulóra az első AES konferencián. Miután a NIST észrevételeket kért, megtartotta a második AES-konferenciát, ahol a legjobb öt algoritmus a MARS, RC6, Rijndael, Serpent és Twofish lett.
2000-re és a harmadik AES-konferencia végére a NIST a Rijndael-t választotta az AES-javaslathoz. Az AES számára a NIST a Rijndael család három tagját választotta ki, mindegyik 128 bites blokkmérettel, de három különböző kulcshosszúsággal: 128, 192 és 256 bit.
A fejlett titkosítási szabványt (AES) 2001. november 26-án tették közzé szövetségi információfeldolgozási szabványként.
Részletek
Az AES 128 bites fix blokkmérettel és háromféle kulcsmérettel rendelkezik: 128, 192 vagy 256 bit.
"Az AES-algoritmus valamennyi kulcshosszúságának (azaz a 128, 192 és 256) kialakítása és erőssége elegendő a minősített információk védelméhez a TITKOS szintig. A szigorúan titkos információkhoz a 192 vagy 256 kulcshosszúságú kulcsok használata szükséges. Az AES-nek a nemzetbiztonsági rendszerek és/vagy információk védelmére szánt termékekben történő alkalmazását az NSA-nak a beszerzés és használat előtt felül kell vizsgálnia és tanúsítania kell."
Az AES gyors mind szoftveresen, mind hardveresen, viszonylag könnyen megvalósítható, és kevés memóriát igényel.
Standard
A fejlett titkosítási szabvány (AES) a következő dokumentumban van meghatározva:
- FIPS PUB 197: Fejlett titkosítási szabvány (AES)
- ISO/IEC 18033-3: Blokkoló kódolók
Kapcsolódó oldalak
- DES-X
- Adattitkosítási szabvány (DES)
- Triple DES (TDES)
Kérdések és válaszok
K: Mi az a fejlett titkosítási szabvány (AES)?
V: Az Advanced Encryption Standard egy szimmetrikus kulcsú, blokkos titkosítási algoritmus, amelyet adatok titkosítására használnak.
K: Mikor és ki választotta ki az AES-t?
V: Az AES-t a Nemzeti Szabványügyi és Technológiai Intézet (NIST) választotta ki 2001-ben.
K: Mit váltott fel az AES?
V: Az AES az adattitkosítási szabványt (DES) váltotta fel.
K: Mikor vált az AES a szimmetrikus kulcsú kriptográfiában használt egyik legnépszerűbb algoritmussá?
V: 2008-tól az AES a szimmetrikus kulcsú kriptográfiában használt egyik legnépszerűbb algoritmus lett.
K: Kinek van hozzáférése az AES-hez?
V: Az AES a programozók és a nagyközönség számára különböző szoftvercsomagokkal elérhető.
K: Milyen típusú titkosító algoritmus az AES?
V: Az AES egy szimmetrikus kulcsú, blokkos titkosító algoritmus.
K: Mi az AES elsődleges célja?
V: Az AES elsődleges célja az adatok titkosítása.
Keres