Advanced Encryption Standard (AES) és una especificació per al xifratge de dades electròniques establerta per l'Institut Nacional d'Estàndards i Tecnologia (NIST) dels Estats Units l'any 2001. AES s'utilitza àmpliament avui en dia, ja que és molt més fort que DES i triple DES tot i ser més difícil. per implementar.
Punts a recordar
- AES és un xifrat de blocs.
- La mida de la clau pot ser de 128/192/256 bits.
- Xifra les dades en blocs de 128 bits cadascun.
Això vol dir que pren 128 bits com a entrada i emet 128 bits de text xifrat com a sortida. AES es basa en el principi de la xarxa de substitució-permutació, que significa que es realitza mitjançant una sèrie d'operacions enllaçades que impliquen la substitució i la barreja de les dades d'entrada.
arquitectura d'arrencada de primavera
Funcionament del xifrat:
AES realitza operacions en bytes de dades en lloc de bits. Com que la mida del bloc és de 128 bits, el xifratge processa 128 bits (o 16 bytes) de les dades d'entrada alhora.
El nombre de rondes depèn de la longitud de la clau de la següent manera:
- Clau de 128 bits - 10 rondes
- Clau de 192 bits - 12 rondes
- Clau de 256 bits - 14 rondes
Creació de claus rodones:
S'utilitza un algorisme de programació de claus per calcular totes les tecles rodones de la clau. Per tant, la clau inicial s'utilitza per crear moltes claus rodones diferents que s'utilitzaran en la ronda corresponent del xifratge.

Xifratge:
AES considera cada bloc com una graella de 16 bytes (4 bytes x 4 bytes = 128 ) en una disposició principal de columnes.
[ b0 | b4 | b8 | b12 | | b1 | b5 | b9 | b13 | | b2 | b6 | b10| b14 | | b3 | b7 | b11| b15 ]>
Cada ronda consta de 4 passos:
- Subbytes
- ShiftRows
- Barrejar columnes
- Afegeix una clau rodona
L'última ronda no té la ronda MixColumns.
SubBytes fa la substitució i ShiftRows i MixColumns realitza la permutació a l'algorisme.
Subbytes:
Aquest pas implementa la substitució.
En aquest pas, cada byte és substituït per un altre. Es realitza mitjançant una taula de cerca també anomenada S-box. Aquesta substitució es fa de manera que un byte mai es substitueix per si mateix i tampoc no es substitueix per un altre byte que és un complement del byte actual. El resultat d'aquest pas és una matriu de 16 bytes (4 x 4) com abans.
Els dos passos següents implementen la permutació.
ShiftRows:
Aquest pas és tal com sembla. Cada fila es mou un nombre determinat de vegades.
- La primera fila no està desplaçada
- La segona fila es desplaça una vegada cap a l'esquerra.
- La tercera fila es desplaça dues vegades cap a l'esquerra.
- La quarta fila es desplaça tres vegades cap a l'esquerra.
(Es realitza un desplaçament circular a l'esquerra.)
[ b0 | b1 | b2 | b3 ] [ b0 | b1 | b2 | b3 ] | b4 | b5 | b6 | b7 | ->| b5 | b6 | b7 | b4 | | b8 | b9 | b10 | b11 | | b10 | b11 | b8 | b9 | [ b12 | b13 | b14 | b15 ] [ b15 | b12 | b13 | b14 ]>>
MixColumns:
Aquest pas és bàsicament una multiplicació matricial. Cada columna es multiplica amb una matriu específica i, per tant, la posició de cada byte a la columna es modifica com a resultat.
Aquest pas es salta a l'última ronda.
[ c0 ] [ 2 3 1 1 ] [ b0 ] | c1 | = | 1 2 3 1 | | b1 | | c2 | | 1 1 2 3 | | b2 | [ c3 ] [ 3 1 1 2 ] [ b3 ]>
Afegeix tecles rodones:
Ara la sortida resultant de l'etapa anterior és XOR-ed amb la clau rodona corresponent. Aquí, els 16 bytes no es consideren com una quadrícula sinó només com 128 bits de dades.

Després de totes aquestes rondes, es retornen 128 bits de dades xifrades com a sortida. Aquest procés es repeteix fins que totes les dades a xifrar se sotmeten a aquest procés.
Desxifrat:
Les etapes de les rondes es poden desfer fàcilment, ja que aquestes etapes tenen un contrari que quan es realitza reverteix els canvis. Cada 128 blocs passa per les 10, 12 o 14 rondes depenent de la mida de la clau.
Les etapes de cada ronda en el desxifrat són les següents:
la sessió ha caducat
- Afegiu clau rodona
- Barreja inversa de columnes
- ShiftRows
- Subbyte invers
El procés de desxifrat és el procés de xifrat fet a la inversa, així que explicaré els passos amb diferències notables.
Columnes de barreja inversa:
Aquest pas és similar al pas MixColumns en el xifratge, però difereix en la matriu utilitzada per dur a terme l'operació.
[ b0 ] [ 14 11 13 9 ] [ c0 ] | b1 | = | 9 14 11 13 | | c1 | | b2 | | 13 9 14 11 | | c2 | [ b3 ] [ 11 13 9 14 ] [ c3 ]>
Subbytes inversos:
La caixa S inversa s'utilitza com a taula de cerca i amb la qual es substitueixen els bytes durant el desxifrat.
Aplicacions:
AES s'utilitza àmpliament en moltes aplicacions que requereixen emmagatzematge i transmissió de dades segurs. Alguns casos d'ús habituals inclouen:
- Seguretat sense fil: AES s'utilitza per protegir xarxes sense fil, com ara xarxes Wi-Fi, per garantir la confidencialitat de les dades i evitar l'accés no autoritzat. Xifratge de bases de dades: AES es pot aplicar per xifrar dades sensibles emmagatzemades a les bases de dades. Això ajuda a protegir la informació personal, els registres financers i altres dades confidencials de l'accés no autoritzat en cas d'incompliment de dades. Comunicacions segures: AES s'utilitza àmpliament en protocols com ara comunicacions per Internet, correu electrònic, missatgeria instantània i trucades de veu/vídeo. Assegura que les dades segueixen sent confidencials. Emmagatzematge de dades: AES s'utilitza per xifrar dades sensibles emmagatzemades en discs durs, unitats USB i altres mitjans d'emmagatzematge, protegint-les de l'accés no autoritzat en cas de pèrdua o robatori. Xarxes privades virtuals (VPN): AES s'utilitza habitualment en protocols VPN per assegurar la comunicació entre el dispositiu d'un usuari i un servidor remot. Assegura que les dades enviades i rebudes a través de la VPN segueixen sent privades i no poden ser desxifrades per escoltes. Emmagatzematge segur de contrasenyes: el xifratge AES s'utilitza habitualment per emmagatzemar les contrasenyes de manera segura. En lloc d'emmagatzemar contrasenyes de text sense format, s'emmagatzema la versió xifrada. Això afegeix una capa addicional de seguretat i protegeix les credencials de l'usuari en cas d'accés no autoritzat a l'emmagatzematge. Xifratge de fitxers i discs: AES s'utilitza per xifrar fitxers i carpetes en ordinadors, dispositius d'emmagatzematge externs i emmagatzematge al núvol. Protegeix les dades sensibles emmagatzemades als dispositius o durant la transferència de dades per evitar l'accés no autoritzat.
Resum:
El conjunt d'instruccions AES ara està integrat a la CPU (ofereix un rendiment de diversos GB/s) per millorar la velocitat i la seguretat de les aplicacions que utilitzen AES per a xifratge i desxifrat. Tot i que han passat 20 anys des de la seva introducció, no hem aconseguit trencar l'algorisme AES, ja que és inviable fins i tot amb la tecnologia actual. Fins ara, l'única vulnerabilitat roman en la implementació de l'algorisme.