Table of Contents
Standardul de criptare avansat (AES) este un algoritm de criptare utilizat pe scară largă care asigură securitatea datelor. Este utilizat în diferite aplicații, de la asigurarea comunicațiilor la protecția datelor stocate. Acest articol oferă o imagine de ansamblu practică a AES, inclusiv calcule de exemplu pentru a ajuta la înțelegerea funcționării sale.
Bazele AES
AES este un algoritm de criptare simetric, ceea ce înseamnă că aceeași cheie este utilizată atât pentru criptare, cât și pentru decriptare. Acesta funcționează pe blocuri fixe de date, de obicei 128 biți, și suportă dimensiuni cheie de 128, 192, sau 256 biți. Procesul de criptare implică mai multe runde de înlocuire, permutare, și amestecarea datelor pentru a produce un cifru securizat.
Procesul de criptare
Procesul de criptare AES constă în mai multe etape:
- Subbytes: substituție octet utilizând o cutie S predefinită.
- ShiftRows: Schimbă ciclic rândurile de stat.
- MixColumns: Amestecă coloanele pentru a difuza datele.
- Combină statul cu o cheie rotundă derivată din cheia principală.
Această secvenţă se repetă pentru mai multe runde în funcţie de dimensiunea cheii, runda finală omiţând pasul MixCulens.
Calculul de exemplu
Consideră criptarea unui bloc simplu de 128 biți cu o cheie de 128 de biți. Textul inițial este reprezentat în hexazecimal ca 001122334455667788aaaabbbccccddeeff. Cheia este 0001020300560708090a0b0c0d0e0f. Primul pas implică adăugarea cheii rotunde la text simplu, rezultând într-o nouă stare. Runda ulterioară aplică substituția, schimbarea, amestecarea și pașii cheie de adăugare, transformarea datelor în text cifru.
De exemplu, după prima operațiune AddroundKey, statul devine:
Textul simplu: 00112233445566778899aabbcccddeeff
Cheie rotundă: 0001020300506078090a0b0c0d0e0f
Starea rezultatului (hex): 00102030405060708090a0b0c0d0e0f
Acest proces continuă prin toate rundele, producând în cele din urmă cifrul criptat.