Go Back

Source code


Name: twofish
Created: Apr 30, 2006
Updated: May 8, 2006
SVN Updated: Mar 10, 2009

Other project properties

Category: Crypto core
Language: VHDL
Development status: Stable
Additional info: Design done
WishBone Compliant: No
License: GPL


VHDL implementation of the twofish cipher for 128,192 and 256 bit keys.
The implementation is in library-like form; All needed components up to, including the round/key schedule circuits are implemented, giving the flexibility to be combined in different architectures (iterative, rolled out/pipelined etc). Manual in English is included with more details about how to use the components and/or how to optimize some of them. All testbenches are provided (tables, variable key/text, ECB/CBC monte carlo) for 128, 192 and 256 bit key sizes, along with their respective vector files.


- implementation for 128, 192 and 256 bits key size
- core is provided in separate components
- components' interface is simple (connection is described in manual)
- core is synthesizable


- core tested against all available testvectors
- core is ready to be used