AES Encryption - Aspe Srl - Crittografia e Protezione Dati

Encryption and Data Protection
Via Dei Mille 55, 62012 - Civitanova Marche (MC)
Part. IVA  IT 01487530436
Tel.  0733 817010
Cell. 345 2685258
Vai ai contenuti

Menu principale:

AES Encryption

Utilità

AES (Advanced Encryption Standard)


E' considerato un algoritmo veloce, sicuro e gli attacchi rivoltigli sinora si sono rivelati interessanti studi teorici ma di scarsa utilità nella pratica.

Opera di due crittografi belgi - Joan Daemen e Vincent Rijmen - è stato adottato ufficialmente negli USA nel 2001, dopo una serie di studi e processi di standardizzazione.

AES è stato inizialmente proposto con il nome di “Rijndael“, un tributo agli inventori.

Tra i vantaggi principali derivanti dall'uso di AES, oltre alla sicurezza intrinseca, vi è la velocità. Le prestazioni dell'algoritmo sono infatti notevoli sia se sviluppato in software che in in hardware. AES è poi relativamente semplice da implementare e richiede poca memoria.

Nell'Ottobre 2000, il NIST (National Institute of Standards and Technology) statunitense pubblicò un resoconto che paragonava le abilità di AES/Rijndael con quelle di altri conosciuti algoritmi.

Ecco, di seguito, i risultati. Il punteggio migliore è quello più elevato (3). Rijndael opera su blocchi di dati di dimensione variabile (multipli di 32 bit con un massimo di 256 bit) mentre in AES, che è un'implementazione di Rijndael, il blocco dati è di dimensione fissa (128 bit). Le chiavi utilizzate possono essere di 128, 192 o 256 bit.

Per crittografare i dati viene usato un processo iterativo: il blocco dati iniziale e la chiave passano attraverso una serie di “round” prima di produrre l'output finale. Ogni risultato intermedio è denominato “stato” (state).
Per semplicità, i blocchi e le chiavi crittografiche sono sovente rappresentate sotto forma di un array di colonne ove ciascun array consta di 4 righe ed ogni colonna rappresenta un singolo byte (8 bit). Il numero di colonne di un array che rappresentano lo stato o la chiave può poi essere calcolato dividendo la lunghezza del blocco dati o della chiave per 32 (32 bit = 4 byte).
Un array che rappresenta uno “stato” avrà Nb colonne. I valori di Nb 4, 6 ed 8 corrispondono, rispettivamente, a blocchi da 128, 192 e 256 bit.
Un array che rappresenta una chiave crittografica avrà Nk colonne. Anche in questo caso, i valori di Nk 4,6 ed 8 corrispondono, rispettivamente, a chiavi da 128, 192 e 256 bit.
Il numero di passi (”round“) cui sono soggetti blocchi di dati e chiave sono funzione della dimensione di questi ultimi due parametri:
AES non supporta tutte le nove combinazioni di lunghezze dei blocchi e della chiave ma, come detto, impiega solamente un blocco di dimensioni pari a 128 bit. Ecco le varianti definite dal NIST:
Nessun algoritmo crittografico può essere considerato come completamente sicuro. Quando esso però rende pressoché impraticabile risalire al testo in chiaro (Plain Text), l'algoritmo diviene un buon partner per la protezione dei dati personali e di informazioni sensibili.

lp@aspe-srl.com
Torna ai contenuti | Torna al menu