International Data Encryption Algorithm: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
La pagina, nel paragrafo iniziale, riportava la frase "i brevetti scadranno nel 2010-11". Aggiornata secondo la versione inglese.
Lea Streal (discussione | contributi)
m mi chiedo se chi scrive cose come "ed adesso" lo fa solo per affettazione, crede in buona fede che in buon italiano si scriva davvero così, oppure parla veramente così nel linguaggio normale
Riga 17:
L'IDEA nacque originariamente nel [[1990]] come [[Proposed Encryption Standard|PES]] (''Proposed Encryption Standard''): questo fu poi migliorato e presentato nel 1991 come [[Improved Proposed Encryption Standard|Improved PES]]. Nel [[1992]] il nome viene cambiato nell'attuale IDEA.
 
L'algoritmo, nato come risultato di un contratto di ricerca con la Fondazione Hasler (poi acquisita dalla Ascom-Tech AG), fu brevettato brevettato in diverse Nazioni, ma rimase liberamente utilizzabile in software di tipo non commerciale; anche il nome "IDEA" fu brevettato. Gli ultimi brevetti sono scaduti nel 2012, ede adesso IDEA è libero da brevetti e liberamente utilizzabile.
 
L'IDEA viene raccomandato da diversi organismi di standardizzazione quali [[ISO]], [[International Telecommunication Union|ITU]] e Swiss Telebanking Security Standard per la sua elevata robustezza: a tutt'oggi risulta infatti ancora inviolato. È inoltre l'algoritmo utilizzato dal software di sicurezza [[Pretty Good Privacy|PGP]].
Riga 29:
 
== La rotazione della chiave ==
Ad ogni passaggio la chiave viene divisa in blocchi di 16 bit ciascuno, denominati '''sottochiavi''' ede indicati in figura con K1...K6. Di questi ne vengono impiegati solo i primi 6: questo significa che ad ogni passaggio sono utilizzati solo 96 dei 128 bit della chiave. Dopo ogni passaggio (compreso l'ultimo prima del passaggio finale), la chiave viene ruotata di 25 bit a sinistra e vengono ripresi i primi 6 blocchi di 16 bit ciascuno della chiave stessa.
 
== La rete a permutazione e sostituzione ==
Ad ogni passaggio vengono utilizzati 6 sottochiavi ede un blocco di dati da 64 bit diviso in 4 sottoblocchi da 16 bit ciascuno. Durante ogni passaggio i 4 sottoblocchi sono moltiplicati e sommati modulo 2<sup>16</sup> con 4 sottochiavi, dopodiché i 4 blocchi risultanti da questi calcoli sono combinati a due a due con un'operazione di XOR per ottenere 2 blocchi da 16 bit. Questi ultimi sono moltiplicati/sommati modulo 2<sup>16</sup> con le restanti 2 sottochiavi ancora non utilizzate nel passaggio. I 2 sottoblocchi finali vengono combinati con lo XOR con i 4 sottoblocchi dell'operazione precedente in modo da avere in output 4 sottoblocchi da 16 bit ciascuno.
Alla fine di 8 di questi passaggi, viene eseguito un semi-passaggio denominato "trasformazione finale" in cui i 4 sottoblocchi finali sono combinati con le prime 4 sottochiavi mediante operazioni di moltiplicazione ede addizione modulo 2<sup>16</sup>.
 
== Sicurezza ==