Twofish (cipher)

From Citizendium
Revision as of 11:40, 28 February 2010 by imported>Sandy Harris
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article is developing and not approved.
Main Article
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
This editable Main Article is under development and subject to a disclaimer.

Twofish [1] is a block cipher from Bruce Schneier's company Counterpane. It was designed as a candidate cipher for the AES competition, and was a finalist though not the winner. Like all candidates, it uses 128-bit blocks and supports key sizes of 128, 192 or 256 bits. It is a 16-round Feistel cipher using four key-dependent 8*8 S-boxes.

Except for the name, and using key-dependent S-boxes, it has little relationship to Blowfish; Twofish was a new design. It uses the pseudo-Hadamard transform in the round function. It has a successor named "Threefish", used in the Skein hash algorithm, a candidate in the Advanced Hash Standard contest. That is another new design.

The cipher is freely available for any use. It has a home page.


  1. Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson (1998), Twofish: A 128-Bit Block Cipher