Twofish is a symmetric key block cipher designed by Bruce Schneier and his team of cryptographers for the 1997 Advanced Encryption Standard contest.
Twofish is a symmetric key block cipher with a block size of 128 bits and key sizes up to 256 bits, designed by a team including Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson, for the 1997 Advanced Encryption Standard contest. It was one of the finalists in the contest, but was not chosen for standardization by the National Institute.
Twofish's distinctive features are the use of pre-computed key-dependent S-boxes, and a relatively complex key schedule. One half of an n-bit key is used as the actual encryption key and the other half of the n-bit key is used to modify the encryption algorithm (key-dependent S-boxes). Twofish borrows some elements from other designs; for example, the pseudo-Hadamard transform (PHT) from the SAFER family of ciphers. Twofish uses the same Feistel structure as DES.
The Twofish cipher has not been patented and the reference implementation has been placed in the public domain.