Rijndael
Il vincitore della gara indetta dal NIST, e conseguentemente nuovo standard AES, è risultato l’algoritmo Rijndael, proposto da Vincent Rijmen e Joan Daemen.
Anche questo algoritmo è in grado di processare input a 128 bit, utilizzando chiavi di lunghezza variabile (128, 192 o 256 bit).
Anche il numero di round che compongono l’algoritmo è variabile a seconda della lunghezza della chiave (9 per chiavi da 128 bit, 11 per chiavi da 192 bit e 13 per quelle da 256 bit).
L’algoritmo in ogni round utilizza operazioni elementari quali shift e XOR, oltre che l’applicazione di più S-Box dipendenti dalle diverse sottochiavi.
I blocchi S-Box operano trasformazioni su ingressi a 8 bit, e costituiscono l’operazione iniziale di ciascun round (denominatabyte substitution).
Le uscite degli S-Box subiscono una operazione di permutazione byte a byte (denominata shift row).
A questo punto viene introdotta altra Confusion attraverso moltiplicazioni tra matrici (operazione denominata mix column).
Poichè le moltiplicazioni vengono effettuate in una particolare algebra (denominata Galois Field) esse si traducono in delle comuni operazioni di XOR e di shift.
La conclusione di ogni round è infine rappresentata da una semplice operazione di XOR con 4 diverse sottochiavi a 32 bit.
Nonostante la maggiore complessità computazionale associata ad algoritmi con Rijndael, essi rappresentano il nuovo stato dell’arte in fatto di crittografia simmetrica.
Implementazioni dell’algoritmo AES sono oggi molto diffuse nel software e nei dispositivi hardware di largo consumo.
Anche se oggi la versione più comunemente adottata è ancora quella a 128 bit, si vanno rapidamente diffondendo applicazioni Internet e canali di comunicazione IP che adottano soluzioni di default AES con chiavi anche a 256 bit.