Twofish is a block cipher by Counterpane Labs, published in 1998. It was one of the five Advanced Encryption Standard (AES) finalists, and was not selected as AES.
Twofish has a 128-bit block size, a key size ranging from 128 to 256 bits, and is optimized for 32-bit CPUs. Currently there is no successful cryptanalysis of Twofish.
Twofish is unpatented, and the source code is uncopyrighted and license-free; it is free for all uses.
- The Twofish paper
- Source Code
- Notes to Those Wishing to Use our Twofish Code
- Test Vectors
- Known-Answer Tests (required by NIST)
- AES Finalist Performance Comparison
- Twofish Technical Reports:
Papers and articles by others:
The designers of Twofish offered $10,000 in prize money for the best attack on Twofish during the first round of the AES evaluation. Congratulations to Fauzan Mirza and Sean Murphy, who won the contest for their paper “An Observation on the Key Schedule of Twofish.”
Pawel Chodowiec and Kris Gaj have written a paper on implementing Twofish using FPGA devices.
The best analysis of Twofish is by Shiho Moriai and Yiquin Lisa Yin, and was published in Japan in 2000.
The magazine News/400 ran an article on Twofish encryption on the AS/400.
Twofish was created and analyzed by:
Bruce Schneier – John Kelsey – Doug Whiting – David Wagner – Chris Hall – Niels Ferguson
Sidebar photo of Bruce Schneier by Joe MacInnis.