b"\n_START_ARTICLE_\nTwofish\n_START_SECTION_\nStoria\n_START_PARAGRAPH_\nPresentato dai Counterpane Labs di Bruce Schneier, fu uno dei cinque finalisti nel processo di standardizzazione dell'Advanced Encryption Standard intrapreso dal NIST nel 1997 per rimpiazzare Triple DES._NEWLINE_Del team di sviluppo, oltre a Schneier (creatore del predecessore Blowfish), fecero parte anche John Kelsey, Doug Whiting, David Wagner, Chris Hall e Niels Ferguson. Un team allargato che successivamente and\xc3\xb2 a compiere ulteriori analisi su Twofish e gli altri candidati ad AES incluse Stefan Lucks (ideatore dell'attacco a Triple DES), Tadayoshi Kohno e Mike Stay._NEWLINE_L'algoritmo non \xc3\xa8 stato brevettato e la reference implementation \xc3\xa8 stata rilasciata nel pubblico dominio. Grazie a ci\xc3\xb2, Twofish viene ad esempio utilizzato nello standard OpenPGP (RFC 4880), anche se al momento \xc3\xa8 ancora meno diffuso di Blowfish.\n_START_SECTION_\nCaratteristiche\n_START_PARAGRAPH_\nTwofish utilizza una struttura a rete di Feistel, come DES, reiterata per 16 round nella versione completa, con un Whitening in ingresso e in uscita. L'algoritmo distribuisce i blocchi di testo in chiaro di 128 bit in parole di 32 bit su cui svolge gran parte delle operazioni di cifratura.  La funzione biettiva F (il quadrato tratteggiato al centro dello schema) \xc3\xa8 composta da due copie della funzione g, composta a sua volta da quattro S-Box e una matrice fissa 4x4 Maximum Distance Separable (MDS), seguite da una Pseudo-trasformata di Hadamard (PHT) che deriva dalla famiglia di cifrari SAFER e un punto di introduzione di sottochiavi, ovvero materiale derivato dalla chiave attraverso il key schedule (o gestore della chiave)._NEWLINE_Le S-Box (Substitution-box) di Twofish, precalcolate e dipendenti dai bit della chiave anzich\xc3\xa9 costanti come negli altri candidati AES, e la progettazione accurata dell'algoritmo di key schedule sono le due caratteristiche distintive di Twofish._NEWLINE_I test svolti su piattaforme software hanno rilevato che Twofish \xc3\xa8 leggermente pi\xc3\xb9 lento di Rijndael (l'algoritmo selezionato alla fine per implementare AES) per chiavi di 128 bit, ma un po' pi\xc3\xb9 rapido per chiavi a 256 bit._NEWLINE_Attualmente non si conosce un attacco a Twofish pi\xc3\xb9 efficiente della forza bruta, malgrado i diversi tentativi effettuati."