Tiny Encryption Algorithm: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Sandy Harris
m (links)
m (Text replacement - "{{subpages}}" to "{{PropDel}}<br><br>{{subpages}}")
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{PropDel}}<br><br>{{subpages}}
The '''Tiny Encryption Algorithm''', or '''TEA'''
The '''Tiny Encryption Algorithm''', or '''TEA'''
<ref> {{citation
<ref> {{citation
Line 5: Line 6:
  | url = http://www.cl.cam.ac.uk/ftp/users/djw3/tea.ps
  | url = http://www.cl.cam.ac.uk/ftp/users/djw3/tea.ps
  | date = 1994 }}</ref>
  | date = 1994 }}</ref>
is a cipher designed for small size and easy software implementation. It is a [[Feistel cipher]] with 64-bit blocks, a 128-bit key, 32 rounds and a very simple round function using only 32-bit operations &mdash; addition, bitwise XOR and shift. In C, the encryption and decryption routines are under 10 lines each. No [[Block cipher#S-boxes|S-boxes]] are used, so the data space required is also tiny.
is a [[block cipher]] designed for small size and easy software implementation. It is a [[Feistel cipher]] with 64-bit blocks, a 128-bit key, 32 rounds and a very simple round function using only 32-bit operations &mdash; addition, bitwise XOR and shift. In C, the encryption and decryption routines are under 10 lines each. No [[Block cipher#S-boxes|S-boxes]] are used, so the data space required is also tiny.


TEA has some weaknesses. Equivalent keys are one problem; each key is equivalent to three others, so the effective key size is only 126 bits.
TEA has some weaknesses. Equivalent keys are one problem; each key is equivalent to three others, so the effective key size is only 126 bits.
Line 17: Line 18:
| volume = 1109
| volume = 1109
| pages = 237–251 | date = 1996
| pages = 237–251 | date = 1996
| doi = 10.1007/3-540-68697-5_19}}</ref>
| doi = 10.1007/3-540-68697-5_19}}</ref>.
As a result, TEA is weak if used to build a [[cryptographic hash]]. This weakness led to a method for [[Hacker (computing)|hacking]] [[Microsoft]]'s [[Xbox]] [[game console]], where the cipher was used as a hash function.
As a result, TEA is weak if used to build a [[cryptographic hash]]. This weakness led to a method for [[Hacker (computing)|hacking]] [[Microsoft]]'s [[Xbox]] [[game console]], where the cipher was used as a hash function.
<ref>{{cite web |url=http://www.xbox-linux.org/wiki/17_Mistakes_Microsoft_Made_in_the_Xbox_Security_System#Startup_Security.2C_Take_Two |title=17 Mistakes Microsoft Made in the Xbox Security System |author=Michael Steil }}</ref>
<ref>{{cite web |url=http://www.xbox-linux.org/wiki/17_Mistakes_Microsoft_Made_in_the_Xbox_Security_System#Startup_Security.2C_Take_Two |title=17 Mistakes Microsoft Made in the Xbox Security System |author=Michael Steil }}</ref>
Line 31: Line 32:
doi = 10.1007/BFb0028479}}</ref>.
doi = 10.1007/BFb0028479}}</ref>.


Partly because of these weaknesses, a number of revisions of TEA have been designed. Block TEA or XTEA extends TEA to build a [[#Large-block_ciphers|variable block size]] cipher. XXTEA is a later revision.
Partly because of these weaknesses, a number of revisions of TEA have been designed. '''Block TEA''' or '''XTEA''' extends TEA to build a [[Block cipher#Large-block_ciphers|variable block size]] cipher. '''XXTEA''' is a later revision.


The cipher is freely available for any use. It has a home page; see [[Block_cipher/External_Links#Homepages_for_block_ciphers | external links]].
The cipher is freely available for any use. It has a [http://143.53.36.235:8080/tea.htm home page].


== References ==
== References ==
{{reflist|2}}
{{reflist|2}}

Latest revision as of 04:49, 8 April 2024

This article may be deleted soon.
To oppose or discuss a nomination, please go to CZ:Proposed for deletion and follow the instructions.

For the monthly nomination lists, see
Category:Articles for deletion.


This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

The Tiny Encryption Algorithm, or TEA [1] is a block cipher designed for small size and easy software implementation. It is a Feistel cipher with 64-bit blocks, a 128-bit key, 32 rounds and a very simple round function using only 32-bit operations — addition, bitwise XOR and shift. In C, the encryption and decryption routines are under 10 lines each. No S-boxes are used, so the data space required is also tiny.

TEA has some weaknesses. Equivalent keys are one problem; each key is equivalent to three others, so the effective key size is only 126 bits. [2]. As a result, TEA is weak if used to build a cryptographic hash. This weakness led to a method for hacking Microsoft's Xbox game console, where the cipher was used as a hash function. [3] TEA is also susceptible to a related-key attack which requires 223 chosen plaintexts under a related-key pair, with 232 time complexity [4].

Partly because of these weaknesses, a number of revisions of TEA have been designed. Block TEA or XTEA extends TEA to build a variable block size cipher. XXTEA is a later revision.

The cipher is freely available for any use. It has a home page.

References

  1. David J. Wheeler, Roger M. Needham (1994), TEA, a Tiny Encryption Algorithm
  2. Kelsey, John (1996), "Key-schedule cryptanalysis of IDEA, G-DES, GOST, SAFER, and Triple-DES", Lecture Notes in Computer Science 1109: 237–251, DOI:10.1007/3-540-68697-5_19
  3. Michael Steil. 17 Mistakes Microsoft Made in the Xbox Security System.
  4. Kelsey, John (1997), "Related-key cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X NewDES, RC2, and TEA", Lecture Notes in Computer Science 1334: 233–246, DOI:10.1007/BFb0028479