Designer | Bruce Schneier , Niels Ferguson , John Kelsey , Doug Whiting, David Wagner e Chris Hall |
---|---|
Prima pubblicazione | 2000 |
Derivato da | Blowfish |
Crittografia basata su questo algoritmo | No |
Dimensioni blocco | 128 bit |
---|---|
Lunghezza chiave | 128, 192, 256 bit |
Struttura | Schema Feistel , pseudo-trasformazione di Hadamard |
Numero di giri | 16 colpi |
Migliore crittoanalisi
Attacchi alle versioni di 5, 6 e 7 turni.
Twofish è un algoritmo di cifratura a blocchi simmetrico inventato e analizzato da Bruce Schneier , Niels Ferguson , John Kelsey , Doug Whiting, David Wagner e Chris Hall.
Crittografa i blocchi a 128 bit con una chiave a 128, 192 o 256 bit. Twofish è stato uno dei cinque finalisti nella competizione AES ma non è stato selezionato per lo standard. Utilizza in parte concetti del popolare Blowfish , dello stesso autore.
Le particolarità di Twofish sono:
Twofish è leggermente più lento di Rijndael ma più veloce degli altri finalisti AES. Supera Rijndael con una chiave a 256 bit. Tuttavia, poiché i progettisti di chip hanno creato il set di istruzioni AES per rendere Rijndael più veloce, Twofish è più lento.
Twofish è stato progettato per l'implementazione in smart card e altri sistemi incorporati. Su un Pentium , un'implementazione ottimizzata per l' assembly consente di crittografare un blocco a 128 bit in 18 battute di clock (16.1 battute di clock su un Pentium Pro ).
Fino al 2005, nessun attacco poteva rompere la versione completa di Twofish. La ricerca esaustiva rimane l'unico modo per romperlo. Sembra più resistente di quanto annunciato durante il concorso AES. A causa della sua complessità, la crittoanalisi di questo algoritmo rimane delicata. I suoi progettisti hanno pubblicato attacchi sulle versioni a 6 e 7 turni. Un attacco in 5 turni ha una complessità di 251 . Nonostante i suoi punti di forza, rimane relativamente inutilizzato ed è stato soppiantato dal vincitore di AES Rijndael . Tuttavia, rimane un'alternativa interessante all'attuale AES se diventa vulnerabile.