Il 2 gennaio 1997 l’istituto americano NIST lanciò un concorso per individuare un nuovo algoritmo crittografico a chiave simmetrica che potesse sostituire il DES (Data Encryption Standard).

Il DES, in uso fin dagli anni ’70, era ormai obsoleto: la sua chiave da 56 bit era diventata troppo corta per resistere alla potenza di calcolo dell’epoca.
Nel luglio 1998 il computer Deep Crack della Electronic Frontier Foundation violò una chiave DES in 56 ore; pochi mesi dopo, nel gennaio 1999, lo stesso risultato fu ottenuto in sole 22 ore. Serviva uno standard nuovo e molto più robusto.

Crittografia AES-256: l'algoritmo di cifratura che protegge i dati

Ci vollero quattro anni di verifiche, aperte a tutta la comunità dei crittografi, perché il vincitore fosse decretato: il cifrario Rijndael, ideato dai due crittografi belgi Joan Daemen e Vincent Rijmen. Nel 2001 Rijndael — il cui nome unisce i cognomi dei due autori — divenne il nuovo standard di cifratura con il nome di AES, ed è in uso ancora oggi.

In questo articolo vediamo come funziona la crittografia AES-256, perché è considerata praticamente inviolabile e dove la incontriamo ogni giorno, spesso senza saperlo.

  1. Come si è arrivati all’AES
  2. Differenze tra AES-128, AES-192 e AES-256
  3. Come funziona l’algoritmo AES
  4. La decifratura
  5. Quanto è sicuro davvero l’AES
  6. Dove si usa l’AES ogni giorno

Come si è arrivati all’AES

Il NIST stabilì tre criteri fondamentali per scegliere il nuovo algoritmo: sicurezza, costo ed efficienza.

algoritmo aes 256 sicurezza dati

Sul fronte della sicurezza, l’output doveva apparire come una stringa del tutto scorrelata da quella originale, in modo che fosse impossibile risalire al messaggio senza la chiave, e doveva poggiare su basi matematiche solide. Sul costo, il NIST chiedeva che gli ideatori concedessero gratuitamente l’uso del cifrario e che questo fosse efficiente e parco nell’uso di memoria. Sull’efficienza, l’algoritmo doveva funzionare bene sia in software sia in hardware ed essere facile da implementare in contesti molto diversi.

Il cifrario Rijndael si rivelò il migliore perché univa qualità difficili da trovare insieme: è un algoritmo a blocchi resistente a tutti gli attacchi noti, veloce e con operazioni eseguibili in parallelo, dalla struttura semplice, adattabile sia all’hardware sia al software, capace di funzionare anche con poca memoria e di cambiare facilmente la lunghezza della chiave per adeguare la sicurezza nel tempo.

Differenze tra AES-128, AES-192 e AES-256

Esistono tre varianti dell’algoritmo AES. La differenza tra loro sta esclusivamente nella lunghezza della chiave di cifratura:

  • AES-128: chiave da 128 bit (circa 10^38 combinazioni);
  • AES-192: chiave da 192 bit (circa 10^57 combinazioni);
  • AES-256: chiave da 256 bit (circa 10^77 combinazioni).

In tutti e tre i casi l’algoritmo divide il testo in chiaro in blocchi da 128 bit ed esegue lo stesso procedimento, ma per un numero diverso di cicli: 10 per l’AES-128, 12 per l’AES-192 e 14 per l’AES-256. A una chiave più lunga corrisponde una sicurezza maggiore, ma anche un consumo di memoria e tempi di elaborazione superiori.

Per questo l’AES-128 viene spesso usata nei dispositivi più piccoli o con meno potenza di calcolo, dove rappresenta il miglior compromesso tra sicurezza e prestazioni — ad esempio sugli smartphone, dove pesa anche sulla durata della batteria. L’AES-256, invece, si usa dove la sicurezza viene prima della velocità: per proteggere segreti militari, dati sanitari o informazioni di rilevanza nazionale.

La crittografia protegge i dati, ma la sicurezza reale è nell’infrastruttura. Noi la presidiamo con un SOC attivo 24/7.
Parla con un esperto

Come funziona l’algoritmo AES

L’AES è un algoritmo di crittografia a chiave simmetrica: la stessa chiave serve sia per cifrare sia per decifrare, e i due processi sono l’uno l’inverso dell’altro. È inoltre una cifratura a blocchi, che divide i dati in sezioni di dimensione fissa e le trasforma attraverso più cicli di operazioni (una struttura nota come rete di sostituzione-permutazione).

infografica cifratura aes 256

Senza entrare nei tecnicismi matematici, il processo si può riassumere in alcuni passaggi che si ripetono a ogni ciclo:

  • Divisione in blocchi: il messaggio viene diviso in blocchi da 128 bit, organizzati in matrici di 4×4 byte;
  • Espansione della chiave (key scheduling): dalla chiave originale viene generato un set di chiavi diverse, una per ogni ciclo;
  • Sostituzione dei byte (SubBytes): ogni byte viene sostituito secondo una tabella predefinita, la Rijndael S-box, che introduce una relazione non lineare tra dato originale e cifrato;
  • Spostamento delle righe (ShiftRows): i byte delle righe vengono spostati, così che dati originariamente vicini finiscano in posizioni diverse;
  • Mescolamento delle colonne (MixColumns): le colonne vengono combinate matematicamente per “mascherare” ulteriormente i bit (questo passaggio viene saltato nell’ultimo ciclo);
  • Aggiunta della chiave (AddRoundKey): i bit della chiave del ciclo vengono sommati a quelli del blocco.

Al termine di tutti i cicli si ottiene una stringa della stessa lunghezza di quella iniziale, ma con valori completamente diversi e all’apparenza casuali. Per tornare al messaggio originale serve la chiave, ed eseguire il processo al contrario.

La decifratura

Ognuna delle operazioni descritte è invertibile, ed è proprio questo che permette la decifratura.
Conoscendo la chiave, l’algoritmo ripercorre i passaggi al contrario applicando le funzioni inverse: InvSubBytes (con una tabella inversa rispetto alla S-box), InvShiftRows (spostamento delle righe in senso opposto), InvMixColumns e InvAddRoundKey.

Senza la chiave corretta, nessuno di questi passaggi è praticabile.

Quanto è sicuro davvero l’AES

Il primo punto di forza dell’AES è la lunghezza delle chiavi.

Una chiave a 256 bit significa 2^256 combinazioni possibili: un numero così grande da essere vicino alla quantità di atomi nell’universo osservabile. Provarle tutte con un attacco a forza bruta richiederebbe più tempo dell’età dell’universo, anche con i supercomputer più potenti.

Da quando l’AES è diventato standard, la comunità accademica ha comunque cercato possibili debolezze. Vale la pena conoscerle, perché aiutano a capire perché l’algoritmo è considerato sicuro:

  • Attacchi a chiave nota: nel 2007 fu studiata una versione semplificata dell’AES con meno cicli, ma l’esperimento non ha mai rappresentato una minaccia reale per l’algoritmo completo;
  • Attacchi a chiave correlata: nel 2009 si ipotizzò di risalire alle chiavi conoscendo una correlazione tra due set di chiavi, scenario che non si verifica nell’uso reale, dove le chiavi non sono correlate;
  • Attacchi side-channel (dai canali laterali): non attaccano l’algoritmo in sé, ma cercano di estrarre informazioni osservando dati collaterali come il consumo di energia, i tempi di esecuzione, i suoni o le emissioni elettromagnetiche del dispositivo durante la cifratura.

La conclusione è netta: l’AES non è mai stato violato nel suo uso reale. L’unica strada concretamente percorsa dagli attaccanti non è rompere l’algoritmo, ma aggirarlo: rubare la chiave tramite ingegneria sociale o infiltrarsi in infrastrutture mal protette. È un punto cruciale: la crittografia più forte del mondo non serve a nulla se la chiave viene lasciata incustodita.

Dove si usa l’AES ogni giorno

L’AES è ovunque, spesso senza che ce ne accorgiamo. La sua combinazione di sicurezza, velocità e leggerezza lo rende adatto a moltissimi contesti:

  • VPN, per proteggere il traffico di rete;
  • password manager, per conservare in modo cifrato le credenziali;
  • reti Wi-Fi, per impedire che estranei intercettino le attività online;
  • browser web, per prevenire attacchi man in the middle e intercettazioni;
  • crittografia del disco e compressione dei file;
  • app di messaggistica, per garantire la riservatezza delle conversazioni;
  • componenti del sistema operativo e applicazioni bancarie.

A oltre vent’anni dalla sua adozione, il cifrario Rijndael resta inviolato. I numerosi cicli, il set di chiavi diverse a ogni passaggio, la sostituzione non lineare dei byte e il mescolamento di righe e colonne rendono l’output praticamente casuale e impossibile da interpretare senza la chiave, anche con i moderni supercomputer.

In sintesi: i nostri dati, quando protetti dall’AES, sono al sicuro. A meno che non siamo noi stessi a consegnare la chiave all’attaccante, ad esempio cadendo in una truffa di phishing. Ed è proprio su questo anello debole — la protezione delle chiavi e delle infrastrutture, non l’algoritmo — che si gioca la sicurezza reale di un’azienda.

La crittografia protegge i dati, ma le chiavi vanno difese

Da oltre 20 anni proteggiamo le infrastrutture delle imprese italiane: oltre 5.000 clienti, un SOC attivo 24 ore su 24 e le certificazioni ISO 9001 e ISO 27001.
Contatta i nostri esperti



    Dichiaro di aver letto e compreso l'Informativa sul trattamento dei dati