FACTOID # 25: If you're tired of sitting in traffic on your way to work, move to North Dakota.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Tiny Encryption Algorithm
TEA
Two Feistel rounds (one "cycle") of TEA
General
Designer(s) Roger Needham and David Wheeler
First published 1994
Derived from -
Cipher(s) based on this design XTEA
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
TEA suffers from equivalent keys (Kelsey et al, 1996) and can be broken using a related-key attack requiring 223 chosen plaintexts and a time complexity of 232 (Kelsey et al, 1997).

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 related-key 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 fixed-length 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...

Contents


Properties

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. 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 key-schedule 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 related-key attack which requires 223 chosen plaintexts under a related-key pair, with 232 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 related-key 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 363-366, 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. Key-schedule cryptanalysis of IDEA, G-DES, GOST, SAFER, and Triple-DES. Lecture Notes in Computer Science, 1109: 237–251, 1996.
  • John Kelsey, Bruce Schneier, and David Wagner. Related-key cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X 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. Mex-Perera. 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 374-377, 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: 49-60, 2002. ISSN 0302-9743.
  • 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 well-known 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


Block ciphers edit
Algorithms: 3-Way | AES | Akelarre | Anubis | Blowfish | Camellia | CAST-128 | CAST-256 | CMEA | CS-Cipher | DEAL | DES | DES-X | FEAL | FOX | FROG | G-DES | GOST | ICE | IDEA | Iraqi | KASUMI | KHAZAD | Khufu and Khafre | LOKI89/91 | LOKI97 | Lucifer | MacGuffin | Madryga | MAGENTA | MARS | MISTY1 | MMB | NewDES | Noekeon | RC2 | RC5 | RC6 | REDOC | Red Pike | S-1 | SAFER | SEED | Serpent | SHACAL | SHARK | Skipjack | Square | TEA | Triple DES | Twofish | XTEA
Design: Feistel network | Key schedule | Product cipher | S-box | SPN Attacks: Brute force | Linear / Differential cryptanalysis | Mod n | Related key | XSL Standardization: AES process | CRYPTREC | NESSIE Misc: Avalanche effect | Block size | IV | Key size | Modes of operation | Piling-up lemma | Weak key

  Results from FactBites:
 
TEA, a Tiny Encryption Algorithm. (1036 words)
We suspect the algorithm is not very sensitive to the value of delta and we merely need to avoid a bad value.
A considerable number of small algorithms were tried and the selected one is neither the fastest, nor the shortest but is thought to be the best compromise for safety, ease of implementation, lack of specialised tables, and reasonable performance.
We present a simple algorithm which can be translated into a number of different languages and assembly languages very easily.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m