Come funziona l’algoritmo di cifratura Rijndael?
Conosciuto anche con l’acronimo AES
Trasmettere in modo sicuro informazioni strettamente riservate, senza che persone non autorizzate vi accedano, è da sempre una sfida. Le prime “scritture segrete”, ad esempio semplici sostituzioni o spostamenti di lettere, sono oggi banali da violare con la moderna potenza di calcolo. Oggi proteggiamo i dati con procedure crittografiche, definite con precisione matematica e la cui sicurezza è stata sottoposta a revisione pubblica.
Queste procedure utilizzano una chiave, nota solo al mittente e al destinatario. La cifratura e la decifratura seguono un algoritmo di cifratura – ossia un procedimento matematico chiaramente definito.
Password Depot cifra i vostri dati riservati con l’algoritmo Rijndael, standardizzato come AES (Advanced Encryption Standard).
Di seguito spieghiamo l’algoritmo e lo inquadriamo dal punto di vista tecnico.
Advanced Encryption Standard (AES) – la variante standardizzata di Rijndael
Il National Bureau of Standards degli Stati Uniti (oggi NIST) standardizzò nel 1977 il DES; questo standard fu ritirato nel 2005, perché non era più sufficientemente sicuro (comunicato NIST). Come successore, nel 2001 il NIST scelse Rijndael e ne standardizzò l’algoritmo come Advanced Encryption Standard (AES) (FIPS 197).
Importante: AES è un sottoinsieme della famiglia Rijndael. AES fissa la dimensione del blocco a 128 bit e consente chiavi da 128, 192 o 256 bit (Nota del NIST, FIPS 197 (PDF)).
AES è autorizzato per la protezione delle informazioni delle autorità statunitensi fino al livello TOP SECRET (vedere Fact Sheet CNSSP‑15 nonché l’attuale FAQ CNSA‑2.0 della NSA).
Come funziona Rijndael/AES (breve panoramica)
Rijndael è un cifrario a rete di sostituzione-permutazione. I concetti fondamentali sono sostituzioni a livello di byte, trasformazioni lineari e XOR.
Processo a livello di blocco ("state" a 128 bit)
- Espansione della chiave (Key Schedule): Dalla chiave vengono derivate Nr + 1 chiavi di round (ad es. 11 per AES-128, 13 per AES-192, 15 per AES-256). Fonte: FIPS 197.
- Round iniziale: AddRoundKey – il blocco di testo in chiaro (come matrice 4×4 byte) viene combinato tramite XOR con la prima chiave di round.
- Round 1 … Nr:
- SubBytes: ogni byte viene sostituito tramite una S-Box (inverso moltiplicativo in GF(28) più trasformazione affine con costante
0x63). Fonte: FIPS 197. - ShiftRows: le righe della matrice di stato vengono spostate ciclicamente.
- MixColumns: le colonne vengono combinate mediante moltiplicazione di matrici su GF(28).
- AddRoundKey: XOR con la rispettiva chiave di round.
- SubBytes: ogni byte viene sostituito tramite una S-Box (inverso moltiplicativo in GF(28) più trasformazione affine con costante
Nota: Nell'ultimo round viene omesso MixColumns. Il numero di round è 10/12/14 per chiavi con 128/192/256 Bit (FIPS 197).
AES può essere implementato in software, firmware o hardware (FIPS 197). Per l'utilizzo pratico, vengono utilizzate Modalità operative utilizzati, ad esempio CBC, CTR oppure GCM (crittografia autenticata). Le raccomandazioni sono disponibili in NIST SP 800–38A e NIST SP 800–38D (GCM/GMAC).
Importante per contestualizzare: AES è un algoritmo di cifratura simmetrico per la crittografia dei dati. Lo scambio di chiavi avviene solitamente con metodi asimmetrici ((EC)DH/RSA). Tuttavia, AES può anche incapsulare le chiavi in modo sicuro ("Key Wrap") – cfr. NIST SP 800–38F.
Specifica ufficiale
La documentazione di riferimento è disponibile qui: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf
Attacchi brute-force
Brute-Force significa che un aggressore tutte le possibili chiavi. I metodi classici come DES con chiavi di soli 56 bit oggi possono essere praticamente violati in questo modo: per questo il NIST nel 2005 lo ha ufficialmente ritirato (NIST).
I metodi moderni come AES con chiavi da 128/192/256 bit dispongono invece di uno spazio delle chiavi astronomicamente ampio. Nella pratica conta meno l'algoritmo che la derivazione delle chiavi dalle password e la qualità della password master.
Password Depot rende inoltre più difficili gli attacchi brute-force grazie a una funzione di ritardo: dopo un inserimento errato della password master, il programma rimane bloccato per alcuni secondi.
Conclusione: Se implementato correttamente, con modalità operative adeguate (ad es. GCM) e una lunghezza della chiave sufficiente, AES è considerato, allo stato attuale, molto sicuro nel lungo periodo.
Ulteriori informazioni su gli attacchi brute-force.
Fonti di approfondimento
- FIPS 197 – Advanced Encryption Standard (AES)
- FIPS 197 – PDF (specifica originale)
- NIST: AES è un sottoinsieme di Rijndael (dimensione del blocco: 128 bit)
- NIST SP 800–38A – Modalità operative (ECB/CBC/CFB/OFB/CTR)
- NIST SP 800–38D – GCM/GMAC (crittografia autenticata)
- NIST SP 800–38F – AES Key Wrap
- CNSSP–15 Fact Sheet – Impiego di AES per informazioni segrete/strettamente segrete
- NSA: CNSA 2.0 FAQ – requisiti attuali
- NIST: ritiro del DES (contesto)
Capire gli attacchi di forza bruta
Scoprite perché la lunghezza della password è decisiva e come proteggervi.
Scoprite di più sugli attacchi di forza bruta