Come funziona l'algoritmo di cifratura Rijndael?

Conosciuto anche con l'acronimo AES

Trasmettere in modo sicuro informazioni altamente riservate, senza che persone non autorizzate ottengano accesso, è da sempre una sfida. I primi «linguaggi segreti» – come ad esempio semplici spostamenti di lettere – possono essere violati senza difficoltà con la potenza di calcolo odierna. Oggi proteggiamo i dati con procedure crittografiche definite in modo matematicamente rigoroso, la cui sicurezza è stata valutata pubblicamente.

Tali procedure utilizzano una chiave conosciuta solo da mittente e destinatario. Cifratura e decifratura seguono un algoritmo di cifratura, ossia una procedura matematica descritta in modo chiaro.

Password Depot cifra i Suoi dati riservati con l'algoritmo Rijndael, standardizzato come AES (Advanced Encryption Standard).

Di seguito spieghiamo l'algoritmo e ne contestualizziamo gli aspetti tecnici.

Advanced Encryption Standard (AES) – la variante standardizzata di Rijndael

Il National Bureau of Standards statunitense (oggi NIST) ha standardizzato nel 1977 il DES; tale standard è stato ritirato nel 2005 perché non più sufficientemente sicuro (comunicato NIST). Come successore, nel 2001 il NIST ha selezionato Rijndael e ne ha standardizzato l'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 (indicazione NIST, FIPS 197 (PDF)).

AES è approvato per la protezione di informazioni delle autorità statunitensi fino al livello TOP SECRET (cfr. CNSSP-15 Fact Sheet e l'attuale CNSA-2.0 FAQ della NSA).

Come funziona Rijndael/AES (panoramica sintetica)

Rijndael è un cifrario a rete di sostituzione-permutazione (Substitution-Permutation Network). I concetti fondamentali sono le sostituzioni a livello di byte, le trasformazioni lineari e le operazioni di XOR.

Flusso di elaborazione a livello di blocco (stato da 128 bit)

  • Espansione della chiave (Key Schedule): a partire dalla chiave vengono derivati Nr + 1 sottochiavi 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 di byte) viene combinato tramite XOR con la prima sottochiave 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 ruotate ciclicamente.
    • MixColumns: le colonne vengono miscelate tramite moltiplicazione di matrici su GF(28).
    • AddRoundKey: XOR con la rispettiva sottochiave di round.
    Nota: nell'ultimo round l'operazione MixColumns non viene eseguita. Il numero di round è 10/12/14 per chiavi da 128/192/256 bit (FIPS 197).

AES può essere implementato in software, firmware o hardware (FIPS 197). Per l'uso pratico si impiegano modalità operative, ad es. CBC, CTR o GCM (cifratura autenticata). Le raccomandazioni sono riportate in NIST SP 800-38A e in NIST SP 800-38D (GCM/GMAC).

Importante per il contesto: AES è un cifrario simmetrico per la cifratura dei dati. Lo scambio delle chiavi avviene di norma tramite algoritmi asimmetrici ((EC)DH/RSA). AES può tuttavia incapsulare le chiavi in modo sicuro («Key Wrap») – cfr. NIST SP 800-38F.

Specifiche ufficiali

La specifica 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 attaccante prova tutte le chiavi possibili. Algoritmi classici come DES con chiavi di soli 56 bit possono oggi essere compromessi in pratica con questo approccio – per questo motivo il NIST ha ritirato ufficialmente DES nel 2005 (NIST).

Gli algoritmi moderni come AES con chiavi da 128/192/256 bit dispongono invece di uno spazio delle chiavi enormemente esteso. Nella pratica è meno determinante l'algoritmo in sé rispetto alla derivazione delle chiavi dalle password e alla qualità della password principale.

Password Depot rende gli attacchi brute-force ancora più difficili tramite una funzione di ritardo: dopo un inserimento errato della password principale il programma rimane bloccato per alcuni secondi.

Conclusione: con un'implementazione corretta, modalità operative adeguate (ad es. GCM) e una lunghezza della chiave sufficiente, AES è attualmente considerato molto sicuro anche nel lungo periodo.

Ulteriori informazioni sugli attacchi brute-force.

Risorse aggiuntive