In cryptography, the Tiny Encryption Algorithm (TEA) is a block cipher notable for its simplicity of description and implementation (typically a few lines of code). It was designed by David Wheeler and Roger Needham of the Cambridge Computer Laboratory, and first presented at the Fast Software Encryption workshop in 1994 (Wheeler and Needham, 1994). It is not subject to any patents. Vikram Reddy Andem presented a comprehensive study of TEA and cryptanalysis of the TEA (see below). Two rounds of the Tiny Encryption Algorithm; original image (DIA) placed in the public domain. ...
Roger Needham in 1999 Roger Michael Needham (February 9, 1935â€“February 28, 2003) was a British computer scientist. ...
David John Wheeler (9 February 1927–13 December 2004) was a computer scientist. ...
1994 (MCMXCIV in Roman) was a common year starting on Saturday of the Gregorian calendar, and was designated the International year of the Family. ...
General Designer(s) Roger Needham and David Wheeler First published 1997 Derived from Tiny Encryption Algorithm (TEA) Cipher(s) based on this design  Algorithm detail Block size(s) 64 bits Key size(s) 128 bits Structure Feistel network Number of rounds variable; recommended 64 Feistel rounds; 32 cycles Best cryptanalysis...
In modern cryptography, symmetric key ciphers are generally divided into stream ciphers and block ciphers. ...
In cryptography, the key size (alternatively key length) is a measure of the number of possible keys which can be used in a cipher. ...
In cryptography, a Feistel cipher is a block cipher with a particular structure, named after IBM cryptographer Horst Feistel; it is also commonly known as a Feistel network. ...
Cryptanalysis (from the Greek kryptÃ³s, hidden, and analÃ½ein, to loosen or to untie) is the study of methods for obtaining the meaning of encrypted information, without access to the secret information which is normally required to do so. ...
In cryptography, a relatedkey attack is any form of cryptanalysis where the attacker can observe the operation of a cipher under several different keys whose values are initially unknown, but where some mathematical relationship connecting the keys is known to the attacker. ...
A chosen plaintext attack is any form of cryptanalysis which presumes that the attacker has the capability to choose arbitrary plaintexts to be encrypted and obtain the corresponding ciphertexts. ...
The German Lorenz cipher machine Cryptography or cryptology is a field of mathematics and computer science concerned with information security and related issues, particularly encryption. ...
Encryption Decryption In cryptography, a block cipher is a symmetric key cipher which operates on fixedlength groups of bits, termed blocks, with an unvarying transformation. ...
...
David John Wheeler (9 February 1927–13 December 2004) was a computer scientist. ...
Roger Needham in 1999 Roger Michael Needham (February 9, 1935â€“February 28, 2003) was a British computer scientist. ...
The Computer Laboratory is Cambridge Universitys computer science department. ...
1994 (MCMXCIV in Roman) was a common year starting on Saturday of the Gregorian calendar, and was designated the International year of the Family. ...
A patent is a set of exclusive rights granted by a state to a person for a fixed period of time in exchange for the regulated, public disclosure of certain details of a device, method, process or composition of matter (substance) (known as an invention) which is new, inventive, and...
Properties
TEA operates on 64bit blocks and uses a 128bit 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. In modern cryptography, symmetric key ciphers are generally divided into stream ciphers and block ciphers. ...
A key is a piece of information that controls the operation of a cryptography algorithm. ...
In cryptography, a Feistel cipher is a block cipher with a particular structure, named after IBM cryptographer Horst Feistel; it is also commonly known as a Feistel network. ...
The keyschedule of DES In cryptography, the algorithm for computing the subkeys for each round in a product cipher from the encryption (or decryption) key is called the key schedule. ...
In computer programming, a magic number is a special constant used for some specific purpose. ...
Square with symmetry group D4 Symmetry is a characteristic of geometrical shapes, equations, and other objects; we say that such an object is symmetric with respect to a given operation if this operation, when applied to the object, does not appear to change it. ...
TEA has a few weaknesses. Most notably, it suffers from equivalent keys — each key is equivalent to three others, and this means that the effective key size is only 126 bits (Kelsey et. al., 1996, and Vikram Andem, 2003). 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 relatedkey attack which requires 2^{23} chosen plaintexts under a relatedkey pair, with 2^{32} time complexity (Kelsey et. al., 1997). A key is a piece of information that controls the operation of a cryptography algorithm. ...
This article is about the unit of information. ...
A Hacker is a person who creates and modifies computer software and computer hardware, including computer programming, administration, and security. ...
Microsoft Corporation (NASDAQ: MSFT, SEHK: 4338) is the worlds largest software corporation, with 2005 global annual sales of close to $40 billion USD and about 64,000 employees in 85 countries and regions. ...
The Microsoft Xbox is a sixth generation era video game console first released on November 15, 2001 in North America and Puerto Rico, then released on February 22, 2002 in Japan, and on March 14, 2002 in Europe. ...
The Nintendo GameCube is an example of a popular video game console. ...
In cryptography, a cryptographic hash function is a hash function with certain additional security properties to make it suitable for use as a primitive in various information security applications, such as authentication and message integrity. ...
In cryptography, a relatedkey attack is any form of cryptanalysis where the attacker can observe the operation of a cipher under several different keys whose values are initially unknown, but where some mathematical relationship connecting the keys is known to the attacker. ...
A chosen plaintext attack is any form of cryptanalysis which presumes that the attacker has the capability to choose arbitrary plaintexts to be encrypted and obtain the corresponding ciphertexts. ...
Because of these weaknesses, a number of revisions of TEA have been designed, including XTEA. General Designer(s) Roger Needham and David Wheeler First published 1997 Derived from Tiny Encryption Algorithm (TEA) Cipher(s) based on this design  Algorithm detail Block size(s) 64 bits Key size(s) 128 bits Structure Feistel network Number of rounds variable; recommended 64 Feistel rounds; 32 cycles Best cryptanalysis...
Reference code Following is an adaptation of the reference encryption and decryption routines in C, released into the public domain by David Wheeler and Roger Needham: The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ...
void encrypt(unsigned long* v, unsigned long* k) { unsigned long v0=v[0], v1=v[1], sum=0, i; /* set up */ unsigned long delta=0x9e3779b9; /* a key schedule constant */ unsigned long k0=k[0], k1=k[1], k2=k[2], k3=k[3]; /* cache key */ for (i=0; i < 32; i++) { /* basic cycle start */ sum += delta; v0 += (v1<<4)+k0 ^ v1+sum ^ (v1>>5)+k1; v1 += (v0<<4)+k2 ^ v0+sum ^ (v0>>5)+k3; /* end cycle */ } v[0]=v0; v[1]=v1; } void decrypt(unsigned long* v, unsigned long* k) { unsigned long v0=v[0], v1=v[1], sum=0xC6EF3720, i; /* set up */ unsigned long delta=0x9e3779b9; /* a key schedule constant */ unsigned long k0=k[0], k1=k[1], k2=k[2], k3=k[3]; /* cache key */ for(i=0; i<32; i++) { /* basic cycle start */ v1 = (v0 << 4)+k2 ^ v0+sum ^ (v0 >> 5)+k3; v0 = (v1 << 4)+k0 ^ v1+sum ^ (v1 >> 5)+k1; sum = delta; /* end cycle */ } v[0]=v0; v[1]=v1; } References  David J. Wheeler and Roger M. Needham. TEA, a tiny encryption algorithm. In Bart Preneel, editor, Fast Software Encryption: Second International Workshop, volume 1008 of Lecture Notes in Computer Science, pages 363366, Leuven, Belgium, 14–16 December 1994.
 Vikram Reddy Andem. A Cryptanalysis of the Tiny Encryption Algorithm, Masters thesis, The University of Alabama, Tuscaloosa, 2003.
 John Kelsey, Bruce Schneier, and David Wagner. Keyschedule cryptanalysis of IDEA, GDES, GOST, SAFER, and TripleDES. Lecture Notes in Computer Science, 1109: 237–251, 1996.
 John Kelsey, Bruce Schneier, and David Wagner. Relatedkey cryptanalysis of 3WAY, BihamDES, CAST, DESX NewDES, RC2, and TEA. Lecture Notes in Computer Science, 1334: pp233–246, 1997.
 Julio César Hernández, Pedro Isasi, and Arturo Ribagorda. An application of genetic algorithms to the cryptoanalysis of one round TEA. Proceedings of the 2002 Symposium on Artificial Intelligence and its Application, 2002.
 Julio César Hernández, José María Sierra, Pedro Isasi, and Arturo Ribargorda. Finding efficient distinguishers for cryptographic mappings, with an application to the block cipher TEA. In Proceedings of the 2003 Congress on Evolutionary Computation, 2003.
 Julio César Hernández, José María Sierra, Arturo Ribagorda, Benjamín Ramos, and J. C. MexPerera. Distinguishing TEA from a random permutation: Reduced round versions of TEA do not have the SAC or do not generate random numbers. In Proceedings of the IMA Int. Conf. on Cryptography and Coding 2001, pages 374377, 2001.
 Dukjae Moon, Kyungdeok Hwang, Wonil Lee, Sangjin Lee, and Jongin Lim. Impossible differential cryptanalysis of reduced round XTEA and TEA. Lecture Notes in Computer Science, 2365: 4960, 2002. ISSN 03029743.
 Seokhie Hong, Deukjo Hong, Youngdai Ko, Donghoon Chang, Wonil Lee, and Sangjin Lee. Differential cryptanalysis of TEA and XTEA. In Proceedings of ICISC 2003, 2003b.
December 16 is the 350th day of the year (351st in leap years) in the Gregorian Calendar. ...
1994 (MCMXCIV in Roman) was a common year starting on Saturday of the Gregorian calendar, and was designated the International year of the Family. ...
John Kelsey is the name of a number of historically notable individuals, including: John Kelsey, as American judge and state representitive from Michigan John Kelsey, an American neuroscience researcher John Kelsey, an American cryptanalyst This is a disambiguation page â€” a list of pages that otherwise might share the same title. ...
Bruce Schneier Bruce Schneier (born January 15, 1963) is an American cryptographer, computer security specialist, and writer. ...
David Wagner David A. Wagner (1974) is an Assistant Professor of Computer Science at the University of California, Berkeley and a wellknown researcher in cryptography. ...
External links  A Cryptanalysis of the Tiny Encryption Algorithm
 A web page advocating TEA and providing a variety of implementations
 Test vectors for TEA
 A survey of TEA and XTEA and their cryptanalysis
 JavaScript implementation of XXTEA with Base64
 JavaScript implementation of TEA
 JavaScript and PHP implementation of XXTEA
