Kako funkcionira algoritam šifriranja Rijndael?
Poznat i pod kraticom AES
Siguran prijenos strogo povjerljivih informacija bez pristupa neovlaštenih osoba oduvijek je bio izazov. Rani „tajni jezici” – poput jednostavnih pomaka slova – uz modernu računalnu snagu trivijalno se razbijaju. Danas podatke štitimo kriptografskim postupcima, koji su matematički precizno definirani i čija je sigurnost javno provjerena.
Takvi postupci koriste ključ, koji poznaju samo pošiljatelj i primatelj. Šifriranje i dešifriranje pritom slijede algoritam šifriranja – jasno opisan matematički postupak.
Password Depot šifrira Vaše povjerljive podatke algoritmom Rijndael, koji je standardiziran kao AES (Advanced Encryption Standard).
U nastavku objašnjavamo algoritam i smještamo ga u tehnički kontekst.
Advanced Encryption Standard (AES) – standardizirana varijanta algoritma Rijndael
Američki National Bureau of Standards (danas NIST) standardizirao je 1977. godine DES; taj je standard 2005. povučen, jer više nije bio dovoljno siguran (NIST-ova objava). Kao nasljednika NIST je 2001. odabrao Rijndael i iz njega standardizirao Advanced Encryption Standard (AES) (FIPS 197).
Važno: AES je podskup obitelji Rijndael. AES definira veličinu bloka na 128 bita i dopušta ključeve od 128, 192 ili 256 bita (Napomena NIST-a, FIPS 197 (PDF)).
AES je odobren za zaštitu informacija američkih državnih tijela do razine TOP SECRET (vidi CNSSP‑15 Fact Sheet kao i aktualni CNSA‑2.0‑FAQ NSA-e).
Kako funkcionira Rijndael/AES (kratak pregled)
Rijndael je supstitucijsko-permutacijska mrežna šifra. Temeljne ideje su supstitucije na razini bajta, linearne transformacije i XOR operacije.
Tijek na razini bloka (128-bitni „state“)
- Proširenje ključa (Key Schedule): Iz ključa se izvodi Nr + 1 ključeva rundi (npr. 11 kod AES-128, 13 kod AES-192, 15 kod AES-256). Izvor: FIPS 197.
- Početna runda: AddRoundKey – blok otvorenog teksta (kao matrica 4×4 bajta) povezuje se putem XOR-a s prvim ključem runde.
- Runde 1 … Nr:
- SubBytes: Svaki bajt zamjenjuje se preko S-Box-a (multiplikativni inverz u GF(28) plus afina transformacija s konstantom
0x63). Izvor: FIPS 197. - ShiftRows: redci matrice stanja ciklički se pomiču.
- MixColumns: stupci se množenjem matrica preko GF(28) miješaju.
- AddRoundKey: XOR s odgovarajućim ključem runde.
- SubBytes: Svaki bajt zamjenjuje se preko S-Box-a (multiplikativni inverz u GF(28) plus afina transformacija s konstantom
Napomena: U posljednjoj rundi izostavlja se MixColumns. Broj rundi iznosi 10/12/14 za ključeve od 128/192/256 Bit (FIPS 197).
AES se može implementirati u softveru, firmveru ili hardveru (FIPS 197). Za praktičnu primjenu Načini rada upotrebljavaju se, npr. CBC, CTR ili GCM (autentificirana enkripcija). Preporuke možete pronaći u NIST SP 800–38A i NIST SP 800–38D (GCM/GMAC).
Važno za razumijevanje: AES je simetrična šifra za enkripciju podataka. Razmjena ključeva obično se provodi asimetričnim postupcima ((EC)DH/RSA). Međutim, AES može sigurno zapakirati ključeve („Key Wrap“) – usp. NIST SP 800–38F.
Službena specifikacija
Referencu možete pronaći ovdje: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf
Brute-Force napadi
Brute-Force znači da napadač isprobava sve moguće ključeve. Klasični postupci poput DES sa samo 56-bitnim ključevima danas se na taj način praktično mogu probiti – zato je NIST 2005. službeno povukao (NIST).
Suvremeni postupci poput AES s ključevima duljine 128/192/256 bita, nasuprot tome, imaju astronomski velik prostor ključeva. U praksi je manje presudan sam algoritam, a više izvođenje ključa iz lozinki i kvaliteta glavne lozinke.
Password Depot dodatno otežava brute-force napade pomoću funkcije odgode: nakon pogrešnog unosa glavne lozinke program ostaje zaključan nekoliko sekundi.
Zaključak: Uz pravilnu implementaciju, odgovarajuće načine rada (npr. GCM) i dovoljnu duljinu ključa, AES se iz današnje perspektive smatra vrlo dugoročno sigurnim.
Više o brute-force napadima.
Dodatni izvori
- FIPS 197 – Advanced Encryption Standard (AES)
- FIPS 197 – PDF (izvorna specifikacija)
- NIST: AES je podskup Rijndaela (veličina bloka 128 bita)
- NIST SP 800–38A – načini rada (ECB/CBC/CFB/OFB/CTR)
- NIST SP 800–38D – GCM/GMAC (autentificirana enkripcija)
- NIST SP 800–38F – AES Key Wrap
- CNSSP–15 Fact Sheet – primjena AES-a za tajne/strogo tajne informacije
- NSA: CNSA 2.0 FAQ – aktualni zahtjevi
- NIST: povlačenje DES-a (pozadina)
Razumijevanje brute-force napada
Saznajte zašto je duljina lozinke presudna i kako se zaštititi.
Više o brute-force napadima