NOTICE: Citizendium is still being set up on its newer server, treat as a beta for now; please see here for more.
Citizendium - a community developing a quality comprehensive compendium of knowledge, online and free. Click here to join and contribute—free
CZ thanks our previous donors. Donate here. Treasurer's Financial Report -- Thanks to our content contributors. --

Twofish (cipher)

From Citizendium, the Citizens' Compendium
(Redirected from Twofish)
Jump to: navigation, 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 not meant to be cited; by editing it you can help to improve it towards a future approved, citable version. These unapproved articles are 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