Il 2 gennaio 1997 l'americano NIST (National Institute of Standards and Technology) lanciò un concorso per un nuovo cifrario simmetrico (a chiave segreta) denominato Advanced Encryption System che potesse prendere il posto del DES e avesse una sicurezza almeno pari al Triplo DES. Dopo aver esaminato molti cifrari proposti da crittologi di tutto il mondo il 2 ottobre 2000 il NIST annunciò di aver scelto il cifrario Rijndael progettato da due crittologi belgi Joan Daemen e Vincent Rijmen; l'AES-Rijndael fu certificato nel 2001 come nuovo standard di cifratura. Il nome Rijndael è una sintesi dei nomi dei suoi inventori.
Blocco da 128 bit | |||||||
---|---|---|---|---|---|---|---|
b0 | b4 | b8 | b12 | ||||
b1 | b5 | b9 | b13 | ||||
b2 | b6 | b10 | b14 | ||||
b3 | b7 | b11 | b15 |
Chiave da 128 bit | |||||||
---|---|---|---|---|---|---|---|
k0 | k4 | k8 | k12 | ||||
k1 | k5 | k9 | k13 | ||||
k2 | k6 | k10 | k14 | ||||
k3 | k7 | k11 | k15 |
AES è disponibile con chiavi da 128, 192, 256 bit. Come il DES prevede la ripetizione di numerosi cicli identici, Per l'AES a 128 bit, sono previste 10 ripetizioni del ciclo base. Ogni blocco di 128 bit è diviso in 16 bytes da 8 bit, che dobbiamo immaginare disposti su una matrice 4x4.
Ogni ciclo di Rijndael è una funzione del blocco in ingresso e della chiave, che denoteremo con Round(blocco, chiave) e consiste delle seguenti 4 funzioni:
Dal 2001 sono stati pubblicati diversi progetti di attacco ad AES basati su metodi esaustivi o nel migliore dei casi su algoritmi 4 volte più veloci degli esaustivi. I tempi richiesti per recuperare la chiave sono comunque elevatissimi; nel 2011 è stato pubblicato Andrey Bogdanov, Dmitry Khovratovich, and Christian Rechberger (2011). Biclique Cryptanalysis of the Full AES che richiede qualcosa come 2126. operazioni per forzare una chiave AES a 128 bit, 2190 per AES 192 bit e 2254 per AES a 256 bit.
Il livello di sicurezza di AES sembra quindi molto elevato; per i documenti del governo USA AES 128 bit è considerato sufficiente per i documenti classificati “Secret”, mentre per i “Top secret” occorre AES 192 o meglio ancora 256 bit.