Twofish

DES Triple DES Blow Fish Rijndael Twofish Comparison References

Twofish is designed to be highly secure and highly flexible. It is well suited for large microprocessors, 8-bit smart card microprocessors, and dedicated hardware. Numerous implementation trade-offs allow an implementer to balance performance variables like encryption speed, key setup time, code size, RAM, ROM, and gate count.

Twofish can:

Encrypt data at 16.1 clock cycles per byte on a Pentium Pro, after a 12700 clock-cycle key setup.
Encrypt data at 54 clock cycles per byte on a Pentium Pro, after a 1250 clock-cycle key setup.
Encrypt data at 1656 clock cycles per byte on a 6805 microprocessor, after a 1750 clock-cycle key setup.
Operate on a smart card with less than 64 bytes of RAM and 1400 bytes of ROM.
Operate in silicon in less than 14,000 gates.
A 128-bit symmetric block cipher.
Key lengths of 128 bits, 192 bits, and 256 bits.
Flexible design.

Twofish is a Feistel network. This means that in each round, half of the text block is sent through an F function, and then XORed with the other half of the text block. DES is a Feistel network. Blowfish (another Schneier algorithm) is a Feistel network. Five of the AES submissions are Feistel networks. Feistel networks have long been studied in cryptography, and we know how they work.

No other algorithm has the same flexibility in implementation: the ability to trade off key-setup time for encryption speed, and ROM and RAM for encryption speed. These options exist on 32-bit CPUs, 8-bit CPUs, and hardware.

Examples:

Original Text:

Se necesitan dos aos para aprender a hablar y sesenta para aprender a callar.  Una frase de un personaje complejo que vivi intensamente y que escribi hasta lo que debi callar.

Encrypted Text with phrase: securenet2002:

 

,mj0ta8Fb<@knHEp˺[حgqrBqnmI:Uz‑Y|m,i\./ٚ

%컬:ZIw]<c

/}2aV™

ڎ/Gʭݎ2 $[1]۬Q5_iDyև}+Rm&d