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 |
Recupero di 2 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5 |
||
(10 versioni intermedie di 7 utenti non mostrate) | |||
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,
Successivamente per cifrare sono previsti diversi round o cicli di processamento: ogni round (fase) dell'AES (eccetto l'ultimo) consiste dei seguenti quattro passaggi fondamentali che vengono denominati LAYERS:
# <code>SubBytes</code> – Sostituzione non lineare di tutti i byte che vengono rimpiazzati secondo una specifica tabella.
# <code>ShiftRows</code> – Spostamento dei byte di un certo numero di posizioni dipendente dalla riga di appartenenza.
# <code>MixColumns</code> – Combinazione dei byte con un'operazione lineare, i byte vengono trattati una colonna per volta.
# <code>AddRoundKey</code> – Ogni byte della tabella viene combinato con la chiave di sessione,
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 ==
Riga 107 ⟶ 106:
== Bibliografia ==
* {{Cita libro|autore=Nicolas T. Courtois|autore2=Josef Pieprzyk|titolo=Cryptanalysis of Block Ciphers with Overdefined Systems of Equations|url=http://dx.doi.org/10.1007/3-540-36178-2_17|data=2002|editore=Springer Berlin Heidelberg|pp=
* {{Cita libro|autore=Joan Daemen|autore2=Vincent Rijmen|titolo=The design of Rijndael: AES - the advanced encryption standard ; with 17 tables|anno=2002|url=https://archive.org/details/designofrijndael0000daem|collana=Information security and cryptography|data=2002|editore=Springer|ISBN=978-3-540-42580-9}}
* {{Cita libro|autore=Niels Ferguson|autore2=John Kelsey|autore3=Stefan Lucks|titolo=Improved Cryptanalysis of Rijndael|url=http://dx.doi.org/10.1007/3-540-44706-7_15data=2001|editore=Springer Berlin Heidelberg|pp=
== Voci correlate ==
Riga 125 ⟶ 124:
* {{cita web|1=http://csrc.nist.gov/encryption/aes/|2=Archivio del vecchio sito AES|lingua=en|accesso=5 gennaio 2005|urlarchivio=https://web.archive.org/web/20021204193838/http://csrc.nist.gov/encryption/aes/#|dataarchivio=4 dicembre 2002|urlmorto=sì}}
* {{en}} [https://web.archive.org/web/20150407153905/http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf FIPS PUB 197: Documento con le specifiche ufficiali dell'AES] ([[Portable Document Format|PDF]] file)
* {{cita web|lingua=en|url=http://csrc.nist.gov/groups/ST/toolkit/documents/aes/CNSS15FS.pdf|formato=pdf|autore=Lynn Hathaway|data=giugno 2003|titolo=National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information|accesso=10 marzo 2011|dataarchivio=6 novembre 2010|urlarchivio=https://web.archive.org/web/20101106122007/http://csrc.nist.gov/groups/ST/toolkit/documents/aes/CNSS15FS.pdf|urlmorto=sì}} Il C.N.S.S. annuncia l'utilizzo dell'AES per i dati classificati
* {{en}} [http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf Animazione di Rijndael] ([[Shockwave Flash|SWF]] file)
|