Twofish Block Cipher Specification
Twofish 是 128-位 Feistel-网络阻止 cipher 具有键-dependent S-boxes, AES competition finalist.
Algorithm Structure
Twofish operates on 128-bit blocks using a 16-round Feistel network with four key-dependent S-boxes. The key schedule generates 40 expanded key words plus four S-box entries derived from the key. The design combines elements from Square, SAFER+, and Blowfish. It was a finalist in the NIST AES competition but was not selected.
- block size
- 128 bits fixed
- key sizes
- 128, 192, or 256 bits
- rounds
- 16 rounds always
16 bytes 32 bytes max Feistel structure Performance and Security
Twofish is optimized for 32-bit platforms and achieves competitive throughput on modern CPUs. The key-dependent S-boxes make it resistant to many forms of cryptanalysis. No practical attacks faster than brute force are known on the full cipher. It remains a well-studied and trusted alternative to AES.
- throughput
- Competitive on 32-bit
- memory
- Key setup needs ~4KB
- attacks
- No practical break
~28 cycles/byte S-box tables Full 16 rounds