Advanced Encryption Standard: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i. #IABot (v1.6.5)
importo fonti da en.wiki
Riga 12:
|rounds=10, 12 o 14 (a seconda della dimensione della chiave)
|cryptanalysis=Un attacco basato sulla chiave ha forzato l'AES con una chiave a 256 bit e 9 round. Un attacco conoscendo il testo ha forzato una chiave a 192 e 256 bit con 8 round e una chiave a 128 bit con sette round. (Ferguson e altri, 2000). L'[[attacco XSL]] sembra in grado di semplificare la ricerca esaustiva.
}}
|}}In [[crittografia]], l''''Advanced Encryption Standard''' ('''AES'''), conosciuto anche come '''Rijndael''' ({{IPA|[ˈrɛindaːl]}}), di cui più propriamente è una specifica [[implementazione]], è un [[algoritmo]] di [[cifratura a blocchi]] utilizzato come [[standard (informatica)|standard]] dal governo degli [[Stati Uniti d'America]].
In [[crittografia]], l''''Advanced Encryption Standard''' ('''AES'''), conosciuto anche come '''Rijndael''' ({{IPA|[ˈrɛindaːl]}}),<ref name="Rijndael">{{cite web|url=http://searchsecurity.techtarget.com/definition/Rijndael|title=Rijndael|accessdate=9 marzo 2015|deadurl=no|archiveurl=https://web.archive.org/web/20121318515500/http://searchsecurity.techtarget.com/definition/Rijndael|archivedate=25 gennaio 2018|language=en|df=}}</ref><ref name="Rijndael-ammended.pdf">{{cite web|language=en |url=http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=1 |title=AES Proposal: Rijndael |last1=Daemen |first1=Joan |last2=Rijmen |first2=Vincent |date=9 marzo 2003 |publisher=National Institute of Standards and Technology |page=1 |accessdate=21 febbraio 2013 |deadurl=no |archiveurl=https://web.archive.org/web/20130305143117/http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=1 |archivedate=5 marzo 2013 |df= }}</ref> di cui più propriamente è una specifica [[implementazione]],<ref name="Rijndael-ammended.pdf"/> è un [[algoritmo]] di [[cifratura a blocchi]] 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 [[2001]]<ref name="fips-197">{{cite web|url=http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf|title=Announcing the ADVANCED ENCRYPTION STANDARD (AES)|publisher=United States National Institute of Standards and Technology (NIST)|work=Federal Information Processing Standards Publication 197|language=en|date=26 novembre 2001|accessdate=2 ottobre 2012|deadurl=no|archiveurl=https://web.archive.org/web/20170312045558/http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf|archivedate=12 marzo 2017|df=}}</ref> dopo 5 anni di studi, standardizzazioni e selezione finale tra i vari algoritmi proposti.
 
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. Rijndael, in [[Lingua olandese|fiammingo]], si pronuncia approssimativamente "rèin-daal".
Riga 21 ⟶ 22:
Rijndael è un'evoluzione del primo algoritmo sviluppato da Daemen e Rijmen, [[Square (cifrario)|Square]]. Square era stato sviluppato per [[SHARK]].
 
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>{{cite web|language=en|url=http://www.schneier.com/paper-twofish-final.pdf |title=The Twofish Team's Final Comments on AES Selection |display-authors=7 |author=Bruce Schneier |author2=John Kelsey |author3=Doug Whiting |author4=David Wagner |author5=Chris Hall |author6=Niels Ferguson |author7=Tadayoshi Kohno |author8=Mike Stay |date=maggio 2000 |deadurl=no |archiveurl=https://web.archive.org/web/20100102041117/http://schneier.com/paper-twofish-final.pdf |archivedate=2 gennaio 2010 |df= }}</ref> è relativamente semplice da implementare, richiede poca [[RAM|memoria]] ed offre un buon livello di protezione/sicurezza, motivi che complessivamente l'hanno preferito agli altri algoritmi proposti.
 
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 dimensioni di blocchi e di [[chiave crittografica|chiavi]]. Nell'AES il blocco è invece di dimensione fissa (128 [[bit]]) e la chiave può essere di 128, 192 o 256 bit mentre il Rijndael specifica solo che il blocco e la chiave devono essere un multiplo di 32 bit con 128 bit come minimo e 256 bit come massimo.
 
AES opera utilizzando matrici di 4×4 [[byte]] chiamate stati (''states''). Quando l'algoritmo ha blocchi di 128 bit in input, la matrice State ha 4 righe e 4 colonne; se il numero di blocchi in [[input]] diventa di 32 bit più lungo, viene aggiunta una colonna allo State, e così via fino a 256 bit.
Riga 67 ⟶ 68:
 
=== AddRoundKey ===
Il passaggio <code>AddRoundKey</code> combina con uno [[Disgiunzione esclusiva|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, ad esempio uno shift di posizione dei bit) grazie al [[Rijndael key schedule|Key Scheduler]].
 
[[File:AES-AddRoundKey.svg|center|upright=1.5|thumb|Nel passaggio <code>AddRoundKeys</code> ogni byte della matrice viene combinato con la sua sottochiave tramite un'operazione di [[Disgiunzione esclusiva|XOR]].]]
 
== Sicurezza ==
Riga 79 ⟶ 80:
La maggior parte degli algoritmi crittografici viene forzata riducendo il numero di round.
L'AES effettua 10 round per la chiave a 128 bit, 12 round per la chiave a 192 bit e 14 round per la chiave a 256 bit.
IAl 2006, i migliori attacchi sono riusciti a forzare l'AES con 7 round e chiave di 128 bit, 8 round e chiave di 192 bit e 9 round e chiave di 256 bit.<ref name="improved">[[John Kelsey (cryptanalyst)|John Kelsey]], [[Stefan Lucks]], [[Bruce Schneier]], [[Mike Stay]], [[David A. Wagner|David Wagner]], e [[Doug Whiting]], ''Improved Cryptanalysis of Rijndael'', [[Fast Software Encryption]], 2000 pp. 213–230 {{cite web |url=http://www.schneier.com/paper-rijndael.html |title=Archived copy |accessdate=6 marzo 2007 |deadurl=no |archiveurl=https://web.archive.org/web/20070223215007/http://www.schneier.com/paper-rijndael.html |archivedate=23 febbraio 2007 |df= }}</ref>
 
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).
Riga 118 ⟶ 119:
* {{cita web|http://csrc.nist.gov/encryption/aes/|Archivio del vecchio sito AES|lingua=en}}
* {{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)
* {{en}}cita [web|lingua=en|url=http://csrc.nist.gov/groups/ST/toolkit/documents/aes/CNSS15FS.pdf |formato=pdf|autore=Lynn Hathaway (June|data=giugno 2003) "|titolo=National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information"]}} Il C.N.S.S. annuncia l'utilizzo dell'AES per i dati classificati ([[Portable Document Format|PDF]] file)
* {{en}} [http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf Animazione di Rijndael] ([[Shockwave Flash|SWF]] file)