User Tools

Site Tools


aes

This is an old revision of the document!


AES

AES (Advanced Encryption Standard), također poznat pod svojim originalnim nazivom Rijndael, je sustav simetrične kriptografije temeljen na supstitucijsko-permutacijskim poljima.
 Shema supstitucijsko-permutacijskog polja AES koristi fiksiranu veličinu bloka od 128 bitova te veličinu ključa od 128, 192 ili 256 bitova. Provodi se nad matricom 4×4, odnosno nad pravokutnim nizom bajtova u 4 retka i 4 stupca. Na sličan način tretira se i ključ koji je pohranjen u 4 retka i N stupaca, gdje je N ovisan o veličini ključa te može biti u iznosu od 4,6 ili 8. AES pri enkripciji koristi operacije zamjene znakova, posmicanja redova, miješanja stupaca te dodavanja podključa.
 AES enkripcijski postupak

Funkcije koje AES koristi matematički su opisane u nastavku:
1) Zamjena znakova
znak = Sbox[znak]
2) Dodaj podključ

blok = blok ⊕ podključ[i]

3) Posmakni redove
Rotira (kružno posmiče) znakove ulijevo, i to u svim retcima osim prvog, za unaprijed poznati broj mjesta koji je ovisan o N.
4) Pomiješaj stupac bloka Množi se stupac po stupac bloka s fiksnim polinomom:
a(x) = 03Hx3 + 01Hx2 + 01Hx + 02H mod x4+1
Odnosno, za svaki stupac bloka računa se stupac novog stanja:

AES se koristi u raznim načinima kriptiranja koji određuju način na koji primjenjujemo AES kod kriptiranja poruka proizvoljne duljine, točnije kako se ulazni podatci dijele u blokove, kako se blokovi kriptiraju i kombiniraju te kako enkripcija upravlja problemima kao što su integritet podataka ili inicijalizacijski vektori.

Često korišteni AES načini kriptiranja su:
1) ECB (Electronic Codebook)

  • Svaki blok teksta kriptira se odvojeno s istim ključem
  • Identični blokovi jasnog teksta rezultiraju identičnim blokovima skrivenog teksta
  • Nije siguran za enkripciju većih količina ulaznih podataka zbog mogućnosti ponavljanja uzoraka
  • Korištenje ovog načina kriptaranja se ne preporuča

 ECB shema

2) CBC (Cipher Block Chaining)

  • Svaki blok jasnog teksta se XORa sa skrivenim tekstom prošle runde enkripcije
  • Potreban je inicijalizacijski vektor IV koji se mora izabrati nasumično
  • IV se šalje zajedno sa skrivenim tekstom
  • Potrebno nadopuniti poruku tako da je duljina višekratnik veličine bloka
  • Sigurna enkripcija pod razumnim pretpostavkama

 CBC shema

3) CFB (Cipher Feedback) i OFB (Output Feedback)

  • Slični protočnoj enkripciji, tj. jednokratnoj bilježnici
  • Dekripcija jednaka enkripciji
  • Valja svaki put koristiti različiti IV

 CFB/OFB shema

4) CTR (Counter Mode)

  • slični protočnoj enkripciji, tj. jednokratnoj bilježnici
  • na temelju ključa i IV se izračuna niz bitova koji se XOR-a s jasnim tekstom
  • može se paralelizirati
  • ne zahtijeva nadopunjavanje poruke (padding)

 CTR shema

Generalno se ne preporuča koristiti način kriptiranja ECB. IV se ne smije ponavljati i treba biti generiran slučajno, a ne smije se ponavljati stalno niti isti simetrični ključ.

Izvori

[1] Christof Paar, Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin Heidelberg, 2009.
[2] https://platforma.hacknite.hr/challenges
[3] Kriptografija i kriptoanaliza, predavanja, FER
[4] Budin, L.; Golub, M; Jakobović, D., Jelenković, L (2010.) (2013.), Operacijski sustavi, Element, Zagreb
[5] https://csrc.nist.gov/csrc/media/projects/cryptographic-standards-and-guidelines/documents/aes-development/rijndael-ammended.pdf

aes.1695631117.txt.gz · Last modified: 2025/06/03 10:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki