Tiny Encryption Algorithm (TEA)
The Tiny Encryption Algorithm (TEA) is a specific method for encrypting information. Encryption is the process of converting information from one form (usually human readable), into another form (not usually human readable). The algorithm breaks the information up into pieces, called blocks, of 64 bits in size. It uses a 128-bit key, which is an external piece of information, known prior, to perform this conversion. It was created in 1994 at the Cambridge Computer Laboratory by Roger Needham and David Wheeler.
Properties of Tiny Encryption Algorithm (TEA)
TEA operates on 64-bit blocks and uses a 128-bit key. It has a Feistel structure with a suggested 64 rounds, typically implemented in pairs termed cycles. It has an extremely simple key schedule, mixing all of the key material in exactly the same way for each cycle. Different multiples of a magic constant are used to prevent simple attacks based on the symmetry of the rounds. The magic constant, 2654435769 or 9E3779B916 is chosen to be 232/ϕ, where ϕ is the golden ratio.
TEA has a few weaknesses. Most notably, it suffers from equivalent keys—each key is equivalent to three others, which means that the effective key size is only 126 bits. As a result, TEA is especially bad as a cryptographic hash function. This weakness led to a method for hacking Microsoft's Xbox game console, where the cipher was used as a hash function. TEA is also susceptible to a related-key attack which requires 223 chosen plaintexts under a related-key pair, with 232 time complexity. Because of these weaknesses, the XTEA cipher was designed.