
En el dia a dia digital, des que envies un correu, veus una sèrie online o fas servir el banc per Internet, hi ha un protagonista silenciós treballant en segon pla: el xifrat avançat. Sense ell, tota aquesta informació circularia pràcticament a la vista de qualsevol amb una mica de mala idea i coneixements tècnics.
Dins aquest món del xifratge, l'estàndard que s'ha convertit en referència absoluta és AES, l'Advanced Encryption Standard. S'usa en xarxes Wi-Fi, VPN, gestors de contrasenyes, emmagatzematge al núvol, accés remot, discos xifrats i fins i tot en comunicacions governamentals de màxim nivell de secret. A veure amb calma què és, d'on ve, com funciona per dins i per què es considera tan segur.
Què és el xifrat avançat AES i d'on surt
Quan parlem d'AES ens referim a un algoritme de xifrat per blocs de clau simètrica que ha esdevingut l'estàndard mundial per protegir dades sensibles. Simètrica vol dir que s'utilitza la mateixa clau tant per xifrar com per desxifrar, cosa que ho fa més ràpid i eficient que molts esquemes de clau pública.
La història arrenca el 1997, quan el NIST (National Institute of Standards and Technology) dels Estats Units va decidir que el vell DES ja no donava la talla. DES, que havia estat l'estàndard des dels anys 70, s'estava quedant curt davant l'augment de potència de càlcul i els atacs de força bruta, així que el NIST va llançar un concurs internacional per triar un nou algorisme que protegís la informació ben entrat al segle XXI.
El gener de 1997 el NIST va comunicar formalment que definiria el futur Estàndard de xifratge avançat, i al setembre va publicar la convocatòria amb els requisits que havien de complir els candidats. La idea era que l'algorisme guanyador fos obert i usable per qualsevol, sense royalties ni dependències secretes.
Entre les condicions bàsiques, el NIST exigia que l'algorisme proposat fora de domini públic, simètric per blocs, que admetés blocs d'almenys 128 bits, claus de 128, 192 i 256 bits, i que pogués implementar-se tant en maquinari com en programari sense tornar-se un malson de recursos.
Després de rebre propostes de tot el món, el 20 d'agost del 1998 el NIST va anunciar els 15 algorismes admesos a la primera ronda de la competició AES. Els candidats eren:
- CAT‑256 (Entrust Technologies, Inc.)
- CRYPTON (Future Systems, Inc.)
- DEAL (Richard Outerbridge, Lars Knudsen)
- DFC (CNRS / École Normale Supérieure)
- E2 (NTT, Nippon Telegraph and Telephone)
- FROG (TecApro International, SA)
- HPC (Rich Schroeppel)
- LOKI97 (Lawrie Brown, Josef Pieprzyk, Jennifer Seberry)
- MAGENTA (Deutsche Telekom AG)
- MARS (IBM)
- RC6 (RSA Laboratories)
- RIJNDAEL (Joan Daemen, Vincent Rijmen)
- SAFER+ (Cylink Corporation)
- SERP (Ross Anderson, Eli Biham, Lars Knudsen)
- TWOFISH (Bruce Schneier i col·laboradors)
A la segona conferència AES, celebrada el març de 1999, es van revisar les anàlisis criptogràfics d'aquests candidats. Després d'estudiar els comentaris de la comunitat internacional fins a l'abril d'aquell any, el NIST va reduir la llista ia l'agost del 1999 va anunciar els cinc finalistes: MARS, RC6, Rijndael, Serpent i Twofish.
Durant els mesos següents, aquests cinc algoritmes van ser sotmesos a un escrutini tècnic encara més dur, amb atacs teòrics nous, avaluacions de rendiment i anàlisi de facilitat d'implementació. L'abril del 2000 va tenir lloc la tercera conferència AES, amb els dissenyadors de cada proposta defensant la seva criatura i discutint els últims resultats.
El període públic d'anàlisi va acabar el 15 de maig del 2000, ia partir d'aquí el NIST es va dedicar a estudiar tota la documentació per triar un guanyador. El 2 d'octubre del 2000, després de la votació, l'algorisme Rijndael es va imposar amb 86 vots, davant de 59 de Serpent, 31 de Twofish, 23 de RC6 i 13 de MARS. Al novembre de 2001 es va publicar l'estàndard FIPS 197 que officialitzava AES basat a Rijndael.
El disseny de Rijndael no va sorgir del no-res: era una evolució d'un xifrador previ anomenat Quadrat, també obra de Daemen i Rijmen, que al seu torn es recolzava en idees de l'algorisme Shark. Aquesta línia evolutiva explica part de l‟estructura tan ordenada i matemàtica que té AES.
Rijndael i AES: en què s'assemblen i en què no
En el llenguatge quotidià se sol fer servir Rijndael i AES com si fossin sinònims, però estrictament no són el mateix. Rijndael és una família una mica més flexible, mentre que AES és un perfil concret dins aquesta família fixat pel NIST.
AES treballa sempre amb un mida de bloc fix de 128 bits i admet claus de 128, 192 o 256 bits. Rijndael, en canvi, permet mides de bloc i clau que siguin múltiples de 32 bits, entre 128 i 256 bits, cosa que dóna lloc a més combinacions possibles de paràmetres (no totes estan estandarditzades per a AES).
A diferència de DES, que es basava en una xarxa de Feistel, AES/Rijndael està construït com una xarxa de substitució‑permutació. Això vol dir que, en lloc de dividir les dades en dues meitats que es barregen amb la clau de forma iterativa, AES aplica una sèrie de transformacions lineals i no lineals sobre una matriu de bytes completa.
L'algoritme està pensat per ser molt eficient tant en programari com en maquinari: necessita poca memòria, s'implementa amb relativa facilitat i escala molt bé en processadors moderns, que fins i tot inclouen instruccions específiques (AES-NI a Intel i extensions equivalents a AMD) per accelerar-ho encara més.
La majoria dels càlculs interns es realitzen en un camp finit concret (GF(2^8)), cosa que dóna una descripció matemàtica molt ordenada de l'algorisme. Aquesta estructura tan neta ha generat una certa preocupació teòrica en alguns criptògrafs, que temen que aquesta regularitat pugui facilitar en el futur atacs més potents, tot i que de moment no s'ha concretat en vulnerabilitats pràctiques contra l'AES complet.
Com funciona el xifratge AES per dins
A AES, les dades es processen en blocs de 128 bits que es representen com una matriu de 4×4 bytes anomenada state. Cada operació de la ronda transforma aquesta matriu, barrejant i substituint bytes segons regles ben definides.
De manera molt simplificada, el procés de xifrat es compon de tres fases: expansió de clau, rondes intermèdies i ronda final. El nombre total de rondes depèn de la longitud de la clau: 10 rondes per a AES‑128, 12 per a AES‑192 i 14 per a AES‑256.
Primer es pren la clau original i es genera, mitjançant el esquema de claus de Rijndael, una seqüència de subclaus anomenades round keys, una per a cada ronda. Aquest pas es coneix com a expansió de la clau i és crític perquè un petit canvi a la clau inicial afecti tot el procés.
Abans de començar amb les rondes pròpiament dites, es realitza una etapa inicial AddRoundKey. Aquí, cada byte del state es combina (mitjançant XOR) amb el byte corresponent de la primera subclau, començant ja a barrejar el text en clar amb el material de clau.
Les rondes intermèdies es componen de quatre passos encadenats: SubBytes, ShiftRows, MixColumns i AddRoundKey. Aquests passos aporten confusió i difusió, conceptes bàsics de la criptografia perquè el resultat final sembli aleatori i qualsevol canvi mínim a l'entrada provoqui canvis massius a la sortida.
En Subbytes, cada byte de l'state se substitueix per un altre seguint una taula de substitució predefinida, la famosa S‑box de Rijndael. Aquesta taula introdueix una no-linealitat forta, clau per resistir atacs de criptoanàlisi lineal i diferencial.
Després arriba ShiftRows, on les files de la matriu es desplacen cíclicament cap a l'esquerra un nombre de posicions diferent per a cada fila. Aquest pas no canvia valors, però redistribueix els bytes i ajuda que la influència de cada byte es propagui pel bloc.
El següent pas és Barrejar columnes, una operació de barreja en columna: cada columna de la matriu es transforma mitjançant una combinació lineal al camp finit. Aquest procés fa que els quatre bytes de cada columna es barregin entre si, augmentant encara més la difusió.
Finalment, s'aplica novament AddRoundKey, combinant l'state amb la subclau d'aquesta ronda. Aquest pas assegura que el resultat final depengui de tota la clau expandida i no només del text en clar.
La ronda final té una petita variació: inclou SubBytes, ShiftRows i AddRoundKey, però omet MixColumns. Així, es completa el xifratge del bloc i s'obté el text xifrat (ciphertext) corresponent.
Tipus d'AES: AES‑128, AES‑192 i AES‑256
Tot i que l'esquema general de funcionament és el mateix, AES es presenta en tres variants segons la longitud de la clau: 128, 192 i 256 bits. Canvia la força criptogràfica i el nombre de rondes, però l'estructura bàsica és idèntica.
En AES‑128 es fa servir una clau de 128 bits i l'algorisme realitza 10 rondes de xifrat. L'espai de claus és enorme, de l'ordre de 3,4×10^38 combinacions, prou perquè, amb la tecnologia actual, un atac de força bruta sigui completament inviable.
la variant AES‑192 utilitza una clau de 192 bits i executa 12 rondes. Això dispara el nombre de claus possibles fins al voltant de 6,2×10^57 combinacions, aportant un marge de seguretat addicional a costa d'un lleuger augment de cost computacional.
A l'extrem superior està AES‑256, amb una clau de 256 bits i 14 rondes. Aquí parlem d'unes 1,1 × 10^77 combinacions possibles, cosa astronòmica. És la versió que se sol utilitzar a entorns on la confidencialitat a llarg termini és crítica, com a documents d'alt secret, dades financeres molt sensibles o còpies de seguretat de llarga durada.
L'elecció entre les tres variants és un compromís entre rendiment i nivell de seguretat. Per exemple, per protegir comunicacions en un telèfon intel·ligent o una app de missatgeria amb recursos limitats, AES‑128 ofereix un equilibri excel·lent. Per xifrar informació governamental classificada o sistemes daccés remot corporatius, AES‑256 és lopció preferida.
Seguretat real d'AES i tipus d'atacs
Des de la seva estandardització i fins ben entrats els anys 2000, no es coneixien atacs pràctics que trenquessin AES complet. A dia d'avui, continua considerant-se molt robust davant dels principals tipus de criptoanàlisi.
Els atacs publicats més efectius solen centrar-se en versions reduïdes amb menys rondes: fins a 7 rondes per a claus de 128 bits, 8 per a 192 bits i 9 per a 256 bits, segons treballs com el de Ferguson i altres (FSE 2000). Però aquestes versions retallades no són les que es fan servir a la pràctica, on s'aplica sempre el nombre complet de rondes.
La NSA va revisar tots els candidats finalistes del concurs AES, inclòs Rijndael, i va concloure que eren prou segurs per protegir informació governamental no classificada. El 2003, el govern dels Estats Units va anar més enllà i va autoritzar oficialment l'ús d'AES per a informació classificada: amb qualsevol de les tres longituds de clau es poden protegir dades fins a nivell SECRET, i per a TOP SECRET s'exigeix fer servir 192 o 256 bits.
Alguns experts han assenyalat que el marge entre les rondes específiques de l'estàndard i les millors criptotècniques publicades no és gegantí, cosa que obre la porta que, si sorgís un avenç teòric important, per exemple amb processadors quàntics, pogués acostar-se a un escenari de ruptura. En criptografia, es considera “trencat” un algorisme quan hi ha un atac més ràpid que el força bruta, fins i tot encara que aquest atac segueixi sent impracticable en la realitat (per exemple, requerir 2^120 operacions).
Una altra línia de debat gira al voltant de la estructura matemàtica tan ordenada d'AES. Molts xifradors de blocs tenen dissenys més ad hoc, mentre que AES es descriu amb molta neteja usant àlgebra sobre camps finits. Això ha motivat propostes com l'anomenat atac XSL, presentat el 2002 per Nicolas Courtois i Josef Pieprzyk, que pretenia explotar sistemes d'equacions sobredefinides.
Tot i això, diversos criptògrafs han trobat errors o estimacions massa optimistes en els càlculs originals de l'atac XSL, avui dia es considera un enfocament especulatiu sense aplicació pràctica coneguda contra AES complet. Ningú ha demostrat encara un atac funcional que millori de debò la força bruta en un escenari realista.
On sí que han aparegut resultats interessants és en el terreny dels atacs de canal lateral. Aquests no ataquen la matemàtica de l'algorisme, sinó la implementació física: temps d'execució, consum elèctric, emissions electromagnètiques, ús de la memòria cau, etc., que poden filtrar subtilment informació sobre la clau.
El 2005, Daniel J. Bernstein va publicar un atac per temps de memòria cau contra una implementació d'AES a un servidor OpenSSL dissenyat per exposar al màxim mesures temporals. Necessitava uns 200 milions de peticions de text en clar i no es considerava viable contra serveis reals, però va demostrar que la implementació importa tant com l'algorisme.
Aquell mateix any, Adi Shamir i altres investigadors en van presentar nous atacs de temps de memòria cau que, en certs escenaris on l'atacant pot executar codi a la mateixa màquina que realitza el xifratge, permetien recuperar una clau AES completa en molt pocs accessos (de l'ordre de centenars d'escriptures i mil·lisegons de temps).
Per mitigar aquests riscos, les implementacions robustes d'AES eviten taules de cerca dependents de la clau, usen operacions en temps constant i, en maquinari, afegeixen contramesures físiques. AES com a algorisme segueix intacte; la batalla real és aplicar bones pràctiques d'implementació i gestió de claus.
Avantatges clau del xifratge AES
Entre tots els algorismes de xifrat disponibles avui, AES destaca perquè combina seguretat molt alta, velocitat i facilitat d'implementació, cosa que no és tan habitual.
En termes de seguretat bruta, fins i tot AES‑128 és una bèstia: amb força bruta trigaries més que l'edat de l'univers a provar totes les claus possibles amb la tecnologia actual. Si saltem a AES‑256, el marge de seguretat es torna directament descomunal.
Un altre avantatge enorme és que no té costos de llicència. Es va dissenyar expressament per ser de domini públic, sense patents ni royalties, cosa que ha facilitat que s'integri en estàndards, protocols i dispositius de tota mena sense traves legals.
Des del punt de vista del desenvolupament, l'algorisme és relativament senzill i elegant. No requereix estructures de dades exòtiques ni grans quantitats de memòria, i es pot implementar en pràcticament qualsevol llenguatge i plataforma, des de microcontroladors modestos fins a grans servidors.
Pel que fa a rendiment, AES és famós pel seu rapidesa de xifrat i desxifrat. En un vell Pentium Pro, es parlava d'uns 18 cicles de CPU per byte (uns 11 MB/sa 200 MHz). En processadors moderns amb instruccions AES dedicades, com Intel Core o AMD Ryzen, s'assoleixen fàcilment diversos GiB/s, arribant a xifres superiors a 15 GiB/s en models potents com un i7-12700K.
Si mirem microarquitectures com Intel Westmere, el xifratge AES amb extensions de maquinari pot caure a aproximadament 1,3 cicles per byte per a AES‑128 i 1,8 per a AES‑256, el que és espectacular en termes deficiència. A més, molts xips incorporen AES directament en silici, permetent un xifratge gairebé transparent i molt ràpid.
Aplicacions pràctiques del xifratge avançat AES
Una de les raons de la popularitat d'AES és que s'ha integrat de forma massiva a protocols, sistemes i dispositius d'ús quotidià, fins al punt que l'estàs fent servir sense adonar-te pràcticament tota l'estona.
En l'àmbit de les VPN, AES és el motor que protegeix el túnel de dades entre el dispositiu i el servidor remot. Quan et connectes a una VPN per navegar de manera més privada o saltar-te restriccions geogràfiques, AES (normalment en la versió AES‑256) s'encarrega que el que viatja entre tots dos extrems no pugui ser llegit per tercers.
Els gestors de contrasenyes també solen utilitzar AES per xifrar tota la volta de credencials sota una única clau mestra. Si algú aconseguís el fitxer de la base de dades de contrasenyes, només veuria text xifrat sense sentit a no ser que conegui aquesta clau mestra.
A les xarxes Wi‑Fi modernes (WPA2, WPA3), el xifrat per defecte és AES. Això significa que tot el que envieu per la vostra xarxa sense fils (des d'una foto al mòbil fins a les dades d'una compra en línia) va encapsulat i protegit amb aquest estàndard.
Les aplicacions mòbils que manegen dades personals, missatges o fotos privades també es recolzen a AES per xifrar tant l'emmagatzematge local com les comunicacions amb el servidor. Apps de missatgeria, xarxes socials, banca en línia i moltes altres confien en AES com a pilar bàsic de la seva seguretat.
Al terreny del accés remot, solucions professionals integren AES‑256 per protegir les sessions. Plataformes com a serveis d'accés remot empresarial xifren tot el flux de pantalla, entrades de teclat i fitxers transferits usant AES‑256, garantint que aquestes sessions no puguin ser espiades amb facilitat a la xarxa.
En HTTPS, el protocol que assegura la navegació web, AES s'utilitza dins de les suites de xifratge de TLS per protegir el canal entre el navegador i el servidor. Tot i que l'intercanvi inicial de claus sol fer-se amb algorismes asimètrics com ara RSA o ECDHE, el gruix de la comunicació es xifra amb AES per rendiment.
Els serveis de emmagatzematge en el núvol (Google Drive, Dropbox, etc.) xifren els fitxers en repòs amb AES, de manera que, encara que algú accedeixi físicament als discos del proveïdor, el que vegi siguin dades il·legibles sense les claus corresponents.
En els sistemes operatius, funcions com BitLocker a Windows o FileVault a macOS utilitzen AES per xifrar discos complets o volums, protegint portàtils i equips davant de pèrdua o robatori. Si el dispositiu cau en mans alienes, les dades estan bloquejades sense la contrasenya o el mòdul segur adequat.
També és estàndard a comunicacions governamentals i militars. Gràcies a les garanties formals ia l'aval del NIST i la NSA, AES es fa servir per protegir informació classificada en un ampli ventall d'organismes públics.
Xifrat avançat davant d'altres algorismes: DES i RSA
Per entendre per què AES s'ha convertit en l'estàndard de facto, convé comparar-ho amb altres algorismes coneguts com DES i RSA, cadascun amb un enfocament diferent.
DES (Data Encryption Standard) va ser el predecessor directe d'AES al món del xifrat per blocs. Utilitzava una clau efectiva de només 56 bits, una cosa que al seu moment era raonable però que avui és completament insuficient: s'ha demostrat que es pot trencar per força bruta amb maquinari relativament accessible.
A més, DES treballava amb blocs de 64 bits i, encara que la seva estructura de xarxa de Feistel va ser molt influent, la combinació de longitud de clau curta i mida de bloc menor ho ha deixat obsolet. Pràcticament tots els usos seriosos de DES han estat substituïts per AES o per variants de triple DES mentre va durar la transició.
Quant a RSA, estem davant d'un xifrat de clau pública (asimètric), molt diferent conceptualment d'AES. RSA maneja parells de claus: una pública, que es pot compartir per xifrar dades o verificar signatures, i una privada, que es guarda en secret per desxifrar o signar.
Per assolir un nivell de seguretat comparable al d'AES‑128, RSA necessita claus molt més llargues (de l'ordre de 2048 o 4096 bits). Això fa que les seves operacions siguin molt més pesades computacionalment, per la qual cosa no es fa servir per xifrar grans volums de dades.
A la pràctica, RSA s'utilitza sobretot per intercanviar de manera segura una clau simètrica (sovint una clau de sessió d'AES) durant l'establiment de connexions segures com ara TLS/SSL. Després, tot el trànsit es xifra amb AES, que és molt més ràpid per a grans quantitats dinformació.
Resumint la comparació: AES destaca per ser simètric, molt veloç i extremadament robust; DES ha quedat a la història com un estàndard superat, i RSA és imprescindible per a l'intercanvi de claus i firmes digitals, però no competeix directament amb AES a l'hora de xifrar dades massives en el dia a dia.
Amb tot aquest recorregut històric, tècnic i pràctic, s'entén per què l'estàndard de xifratge avançat s'ha convertit en la pedra angular de la seguretat moderna: gràcies al disseny públic, l'anàlisi intensiva durant dècades, les tres mides de clau adaptables i el rendiment, AES és avui l'opció natural per protegir des d'arxius personals fins a infraestructures crítiques, i seguirà sent-ho mentre la criptografia clàssica segueixi marcant les regles del joc.