Information about Tiny Encryption Algorithm

This article is about the TEA encryption algorithm. For other meanings, see TEA (disambiguation).


TEA
Two Feistel rounds (one cycle) of TEA
General
Roger Needham, David Wheeler
1994
XTEA
Cipher detail
Key size(s):| 128 bits
Block size(s):| 64 bits
Feistel network
variable; recommended 64 Feistel rounds (32 cycles)
Best public cryptanalysis|-| colspan=2 | 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).

The TEA cipher has not been patented. It is completely in the public domain and can be freely used by anyone. There are no restrictions or encumberances whatsoever regarding its use. As a result, anyone is free to incorporate TEA in their software without paying license fees.

Vikram Reddy Andem presented a comprehensive study of TEA and cryptanalysis of the TEA (see below).

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. The magic constant, 2654435769 or is chosen to be 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 (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). Because of these weaknesses, a number of revisions of TEA have been designed.

The unusually small size of the TEA algorithm would make it a viable option in situations where there are extreme constraints eg legacy hardware systems (perhaps embedded) where the amount of available RAM is minimal.

Versions

The first published version of TEA was supplemented by a second version which incorporated extensions to TEA to make it more secure. 'Block TEA' (sometimes referred to as XTEA), operates on arbitrary-size blocks in place of the 64-bit blocks of the original.

A third version (XXTEA), published in 1998, described Corrections to xtea to enhance the security of the Block TEA algorithm.

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:

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.

External links

encryption is the process of transforming information (referred to as plaintext) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key.
..... Click the link for more information.

General

Tea may refer to:
  • Tea plant (or Camellia sinensis), the plant species whose leaves and leaf buds are used to produce tea

..... Click the link for more information.
Roger Needham

Roger Needham in 1999
Born 9 January 1935(1935--)

Died 1 March 2003 (aged 68)
Willingham, Cambridgeshire
..... Click the link for more information.
David John Wheeler FRS (9 February 1927 – 13 December 2004) was a computer scientist. He was born in Birmingham and gained a scholarship at Trinity College, Cambridge to read mathematics, graduating in 1948.
..... Click the link for more information.
Editing of this page by unregistered or newly registered users is currently disabled until (UTC) due to vandalism.
If you are prevented from editing this page, and you wish to make a change, please discuss changes on the talk page, request unprotection, log in, or
..... Click the link for more information.
XTEA
Two Feistel rounds (one cycle) of XTEA

General
Roger Needham, David Wheeler
1997

TEA
Corrected Block TEA

Cipher detail
Key size(s):| 128 bits

Block size(s):| 64 bits
Feistel network
..... Click the link for more information.
In cryptography, the key size (alternatively key length) is the size of the digits used to create an encrypted text; it is therefore also a measure of the number of possible keys which can be used in a cipher, and the number of keys which must be tested to 'break' the
..... Click the link for more information.
block size. Both the input (plaintext) and output (ciphertext) are the same length; the output cannot be shorter than the input — this is logically required by the Pigeonhole principle and the fact that the cipher must be invertible — and it is simply undesirable for
..... Click the link for more information.
In cryptography, a Feistel cipher is a block cipher with a symmetric structure, named after IBM cryptographer Horst Feistel; it is also commonly known as a Feistel network. A large proportion of block ciphers use the scheme, including the Data Encryption Standard (DES).
..... Click the link for more information.
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.
..... Click the link for more information.
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.
..... Click the link for more information.
A chosen-plaintext attack (CPA) is an attack model for cryptanalysis which presumes that the attacker has the capability to choose arbitrary plaintexts to be encrypted and obtain the corresponding ciphertexts.
..... Click the link for more information.
Cryptography (or cryptology; derived from Greek κρυπτός kryptós "hidden," and the verb γράφω gráfo "write" or λεγειν legein
..... Click the link for more information.
block cipher is a symmetric key cipher which operates on fixed-length groups of bits, termed blocks, with an unvarying transformation. When encrypting, a block cipher might take a (for example) 128-bit block of plaintext as input, and output a corresponding 128-bit block
..... Click the link for more information.
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.

In computer science, an implementation is a realization of a technical specification or algorithm as a program, software
..... Click the link for more information.
David John Wheeler FRS (9 February 1927 – 13 December 2004) was a computer scientist. He was born in Birmingham and gained a scholarship at Trinity College, Cambridge to read mathematics, graduating in 1948.
..... Click the link for more information.
Roger Needham

Roger Needham in 1999
Born 9 January 1935(1935--)

Died 1 March 2003 (aged 68)
Willingham, Cambridgeshire
..... Click the link for more information.
Computer Laboratory at Cambridge is the computer science department of University of Cambridge. It was founded as the Mathematical Laboratory under the leadership of John Lennard-Jones on 14 May 1937, though it did not get properly established until after World War II.
..... Click the link for more information.
Editing of this page by unregistered or newly registered users is currently disabled until (UTC) due to vandalism.
If you are prevented from editing this page, and you wish to make a change, please discuss changes on the talk page, request unprotection, log in, or
..... Click the link for more information.
patent is a set of exclusive rights granted by a state to a patentee for a fixed period of time in exchange for a disclosure of an invention.

The procedure for granting patents, the requirements placed on the patentee and the extent of the exclusive rights vary widely
..... Click the link for more information.
block size. Both the input (plaintext) and output (ciphertext) are the same length; the output cannot be shorter than the input — this is logically required by the Pigeonhole principle and the fact that the cipher must be invertible — and it is simply undesirable for
..... Click the link for more information.
key is a piece of information (a parameter) that controls the operation of a cryptographic algorithm. In encryption, a key specifies the particular transformation of plaintext into ciphertext, or vice versa during decryption.
..... Click the link for more information.
In cryptography, a Feistel cipher is a block cipher with a symmetric structure, named after IBM cryptographer Horst Feistel; it is also commonly known as a Feistel network. A large proportion of block ciphers use the scheme, including the Data Encryption Standard (DES).
..... Click the link for more information.
key schedule is an algorithm that, given the key, calculates the subkeys for these rounds.

Some types of key schedules

  • Some ciphers have simple key schedules.

..... Click the link for more information.
In computer programming, the term magic number has multiple meanings. It could refer to:
  • a constant used to identify a file format or protocol;
  • an unnamed and/or ill-documented numerical constant; or
  • distinctive debug values or GUIDs, et cetera.

..... Click the link for more information.
Symmetry in common usage generally conveys two primary meanings. The first is an imprecise sense of harmonious or aesthetically-pleasing proportionality and balance; such that it reflects beauty or perfection.
..... Click the link for more information.
golden section is a line segment sectioned into two according to the golden ratio. The total length a+b is to the longer segment a as a
..... Click the link for more information.
key is a piece of information (a parameter) that controls the operation of a cryptographic algorithm. In encryption, a key specifies the particular transformation of plaintext into ciphertext, or vice versa during decryption.
..... Click the link for more information.
BIT is an acronym for:
  • Bannari amman Institute of Technology
  • Bangalore Institute of Technology
  • Beijing Institute of Technology
  • Benzisothiazolinone
  • Bilateral Investment Treaty
  • Bhilai Institute of Technology - Durg

..... Click the link for more information.
Hacker has several common meanings, the unifying characteristic of which is only that it refers to a person who is an avid computer enthusiast. It is most commonly used as a pejorative by the mass media to refer to a person who engages in illegal computer cracking, which is its
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter