Abstract :
Triple DES is also known as TDES or, more standard, TDEA (Triple Data
Encryption Algorithm [1]). The non-standard convention to use DES (standard) when we
actually mean DEA (algorithm) is so widespread that in order to avoid confusion we use
it in this article. On the other hand, since there are variations of TDES which use two
different keys (2TDES) and three different keys (3TDES) the non-standard abbreviation
3DES is confusing and should be avoided.
The cipher is a 16-round Feistel network with a bijective F function made up of
four key-dependent 8-by-8-bit S-boxes, a fixed 4-by-4 maximum distance separable
matrix over GF(28), a pseudo-Hadamard transform, bitwise rotations, and a carefully
designed key schedule. A fully optimized implementation of Twofish encrypts on a
Pentium Pro at 17.8 clock cycles per byte, and an 8-bit smart card implementation
encrypts at 1820 clock cycles per byte. Twofish can be implemented in hardware in
14000 gates. The design of both the round function and the key schedule permits a wide
variety of tradeoffs between speed, software size, key setup time, gate count, and
memory. We have extensively cryptanalyzed Twofish; our best attack breaks 5 rounds
with 222,5 chosen plaintexts and 251 effort.