Advanced Encryption Standard: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Descrizione: Aggiunto il template "Immagine multipla" e spostato in esso le immagini relative ai passi dell'algoritmo e le relative descrizioni |
Migliorato la pagina e aggiornato una frase |
||
Riga 15:
In [[crittografia]], l{{'}}'''Advanced Encryption Standard''' ('''AES'''), conosciuto anche come '''Rijndael''' ({{IPA|[ˈrɛindaːl]}}),<ref name="Rijndael">{{Cita web|url=http://searchsecurity.techtarget.com/definition/Rijndael|titolo=Rijndael|accesso=9 marzo 2015|urlmorto=sì|urlarchivio=https://web.archive.org/web/20150312013118/http://searchsecurity.techtarget.com/definition/Rijndael|dataarchivio=12 marzo 2015|lingua=en}}</ref><ref name="Rijndael-ammended.pdf">{{Cita web |lingua=en |url=http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=1 |titolo=AES Proposal: Rijndael |cognome1=Daemen |nome1=Joan |cognome2=Rijmen |nome2=Vincent |data=9 marzo 2003 |editore=National Institute of Standards and Technology |p=1 |accesso=21 febbraio 2013 |urlmorto=sì |urlarchivio=https://web.archive.org/web/20130305143117/http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=1 |dataarchivio=5 marzo 2013 }}</ref> di cui più propriamente è una specifica [[implementazione]],<ref name="Rijndael-ammended.pdf" /> è un [[algoritmo]] di [[cifratura a blocchi]] a [[Crittografia simmetrica|chiave simmetrica]], utilizzato come [[standard (informatica)|standard]] dal governo degli [[Stati Uniti d'America]].
Data la sua sicurezza e le sue specifiche pubbliche si presume che in un prossimo futuro venga utilizzato in tutto il mondo come è successo al suo predecessore, il [[Data Encryption Standard]] (DES) che ha perso poi efficacia per vulnerabilità intrinseche. AES è stato adottato dalla [[National Institute of Standards and Technology]] (NIST) e dalla US [[Federal Information Processing Standard|FIPS]] PUB nel novembre del
L'algoritmo scelto è stato sviluppato da due crittografi [[Belgio|belgi]], [[Joan Daemen]] e [[Vincent Rijmen]], che lo hanno presentato al processo di selezione per l'AES con il nome di "Rijndael", derivato dai nomi degli inventori
== Descrizione ==
Rijndael è un'evoluzione del primo algoritmo sviluppato da Daemen e Rijmen, [[Square (cifrario)|Square]]
A differenza del DES, Rijndael è una [[rete a sostituzione e permutazione]], non una [[rete di Feistel]], che implementa comunque il principio crittografico di Shannon di "[[confusione e diffusione]]". AES è veloce sia se sviluppato in [[software]] sia se sviluppato in [[hardware]],<ref>{{Cita web|lingua=en|url=https://www.schneier.com/paper-twofish-final.pdf |titolo=The Twofish Team's Final Comments on AES Selection |autore=Bruce Schneier |autore2=John Kelsey |autore3=Doug Whiting |autore4=David Wagner |autore5=Chris Hall |autore6=Niels Ferguson |autore7=Tadayoshi Kohno |autore8=Mike Stay |data=maggio 2000 |urlmorto=no |urlarchivio=https://web.archive.org/web/20100102041117/http://schneier.com/paper-twofish-final.pdf |dataarchivio=2 gennaio 2010 }}</ref> è relativamente semplice da implementare, richiede poca [[RAM|memoria]]
Il nuovo standard di cifratura sta sostituendo i precedenti standard e la sua diffusione continua ad aumentare. Formalmente, AES non è equivalente al Rijndael (sebbene nella pratica siano intercambiabili) dato che il Rijndael gestisce differenti [[Dimensione del blocco|dimensioni di blocchi]] e di [[
AES opera utilizzando [[Matrice|matrici]] di
In pratica, si divide il numero di bit del blocco in input per 32 e il quoziente specifica il numero di colonne.
C'è un passaggio iniziale:
# <code>AddRoundKey</code> – Ogni byte della tabella viene combinato con la chiave di sessione, la chiave di sessione viene calcolata dal [[
Successivamente per cifrare sono previsti diversi round o cicli di processamento: ogni round (fase) dell'AES (eccetto l'ultimo) consiste dei seguenti quattro passaggi:
Riga 40:
Il numero di round o cicli di processamento/elaborazione crittografica dei quattro passaggi precedenti è 10 con l'ultimo round che salta il passaggio <code>MixColumns</code>. A seguito la descrizione di ogni singolo passaggio.
La fase di decifratura non è identica a quella di cifratura dal momento che
=== SubBytes ===
Riga 55:
|didascalia4 = Nel passaggio <code>AddRoundKeys</code> ogni byte della matrice viene combinato con la sua sottochiave tramite un'operazione di [[XOR]].
|per riga = 2
}}Nel passaggio <code>SubBytes</code> ogni byte della matrice viene modificato tramite la [[S-box]] a {{M|8
La S-box utilizzata è derivata da una funzione inversa nel [[campo finito]] [[Campo di Galois|GF]](
Per evitare un potenziale attacco basato sulle proprietà algebriche la S-box è costruita combinando la funzione inversa con una [[trasformazione affine]] [[invertibile]].
La S-box è stata scelta con cura per non possedere né [[punto fisso|punti fissi]] né punti fissi opposti.
Riga 63:
Il passaggio <code>ShiftRows</code> provvede a spostare le righe della matrice di un parametro, e dipende dal numero di riga.
Nell'AES la prima riga resta invariata, la seconda viene spostata di un posto verso sinistra, la terza di due posti e la quarta di tre.
In questo modo l'ultima colonna dei dati in ingresso andrà a formare la
Tutte le operazioni sono effettuate utilizzando l'indice della colonna
=== MixColumns ===
Il passaggio <code>MixColumns</code> prende i quattro byte di ogni colonna e li combina utilizzando una [[trasformazione lineare]] invertibile.
Utilizzati in congiunzione, <code>ShiftRows</code> e <code>MixColumns</code> provvedono a far rispettare il criterio di [[confusione e diffusione]] nell'algoritmo (
Ogni colonna è trattata come un polinomio in
=== AddRoundKey ===
Il passaggio <code>AddRoundKey</code> combina con uno [[XOR]] la [[chiave di sessione]] con la matrice ottenuta dai passaggi precedenti (State). Una chiave di sessione viene ricavata dalla chiave primaria ad ogni round (con dei passaggi più o meno semplici,
== Sicurezza ==
{{NN|informatica|settembre 2012}}
La [[National Security Agency]] (NSA) segnalava che tutti i finalisti del processo di standardizzazione erano dotati di una sicurezza sufficiente per diventare l'AES, ma che fu scelto il Rijndael per via della sua flessibilità nel trattare chiavi di lunghezza diversa, per la sua
L'AES può essere utilizzato per proteggere le [[informazioni
La maggior parte degli algoritmi crittografici viene forzata riducendo il numero di round.
L'AES effettua
Al 2006, i migliori attacchi sono riusciti a forzare l'AES con
Alcuni crittografi hanno fatto notare che la differenza tra i round effettuati dall'AES e quelli massimi prima che l'algoritmo non sia più forzabile è ridotta (specialmente con chiavi corte).
Questi temono che miglioramenti nelle tecniche di analisi possano permettere di forzare l'algoritmo senza verificare tutte le chiavi.
Attualmente una [[ricerca esaustiva]] è impraticabile: la chiave a {{M|128
Uno dei migliori attacchi a forza bruta è stato svolto dal progetto [[distributed.net]] su una chiave a
Un altro dubbio riguardante l'AES deriva dalla sua struttura matematica. A differenza della maggior parte degli algoritmi a blocchi, per l'AES esiste un'approfondita descrizione matematica
Nel
Sebbene l'attacco sia matematicamente corretto, è impraticabile nella realtà per via dell'enorme tempo macchina richiesto per metterlo in pratica.
Miglioramenti nell'attacco hanno ridotto il tempo macchina richiesto e quindi, in un futuro, questo attacco potrebbe diventare attuabile.
Riga 99 ⟶ 98:
Sembra che abbiano commesso degli errori teorici e che, in realtà, le loro stime siano ottimistiche.
Allo stato attuale, la reale pericolosità dell'attacco XSL è un punto interrogativo.
Comunque, attualmente, l'AES è considerato un algoritmo veloce
In data 1º luglio
== Note ==
|