# Algoritme de xifratge petit

En criptografia, el Tiny Encryption Algorithm (TEA) és un xifratge de blocs que destaca per la seva senzillesa de descripció i implementació, normalment unes poques línies de codi. Va ser dissenyat per David Wheeler i Roger Needham del Cambridge Computer Laboratory ; es va presentar per primera vegada al taller Fast Software Encryption a Lovaina l'any 1994 i es va publicar per primera vegada a les actes d'aquest taller.
El xifrat no està subjecte a cap patent.

## Propietats

TEA funciona amb dos nombres enters sense signe de 32 bits (podria derivar-se d'un bloc de dades de 64 bits) i utilitza una clau de 128 bits. Té una estructura Feistel amb 64 rondes suggerides, normalment implementades en parelles denominades cicles. Té una programació de claus extremadament senzilla, barrejant tot el material clau de la mateixa manera per a cada cicle. S'utilitzen diferents múltiples d'una constant màgica per evitar atacs simples basats en la simetria de les rondes. La constant màgica, 2654435769 o 0x9E3779B9 (2$^{32}$).
TEA té algunes debilitats. El més notable és que pateix claus equivalents: cada clau és equivalent a tres altres, el que significa que la mida efectiva de la clau és només de 126 bits. Com a resultat, TEA és especialment dolent com a funció hash criptogràfica. Aquesta debilitat va portar a un mètode per piratejar la consola de jocs Xbox de Microsoft, on el xifrat s'utilitzava com a funció hash. El TEA també és susceptible a un atac de clau relacionada que requereix 2$^{23}$ textos en pla escollits sota un parell de claus relacionades, amb una complexitat temporal de 2$^{32}$. A causa d'aquestes debilitats, es va dissenyar el xifratge XTEA.

## Codi de referència

A continuació es mostra una adaptació de les rutines de xifrat i desxifrat de referència en C, publicades al domini públic per David Wheeler i Roger Needham:

## Referències

* ↑ Matthew D. Russell. «Tinyness: An Overview of TEA and Related Ciphers», 27-02-2004. Arxivat de l'original el 12 August 2007.
* 1 2 Kelsey, John. «Related-key cryptanalysis of 3-WAY, Biham-DES,CAST, DES-X, NewDES, RC2, and TEA». A: Information and Communications Security (en anglès). 1334, 1997, p. 233–246 (Lecture Notes in Computer Science). DOI 10.1007/BFb0028479. ISBN 978-3-540-63696-0.
* ↑ Bogdanov, Andrey. «Zero Correlation Linear Cryptanalysis with Reduced Data Complexity». A: Fast Software Encryption. 7549, 2012, p. 29–48 (Lecture Notes in Computer Science). DOI 10.1007/978-3-642-34047-5_3. ISBN 978-3-642-34046-8. Arxivat 2016-03-03 a Wayback Machine.
* ↑ Wheeler, David J. «TEA, a tiny encryption algorithm». A: Fast Software Encryption (en anglès). 1008, 1994-12-16, p. 363–366 (Lecture Notes in Computer Science). DOI 10.1007/3-540-60590-8_29. ISBN 978-3-540-60590-4.
* ↑ Kelsey, John. «Key-Schedule Cryptanalysis of IDEA, G-DES, GOST, SAFER, and Triple-DES». A: Advances in Cryptology — CRYPTO '96 (en anglès). 1109, 1996, p. 237–251 (Lecture Notes in Computer Science). DOI 10.1007/3-540-68697-5_19. ISBN 978-3-540-61512-5. Arxivat 2012-02-08 a Wayback Machine.
* ↑ Michael Steil. «17 Mistakes Microsoft Made in the Xbox Security System» (en anglès). Arxivat de l'original el 16 April 2009.
* ↑ Wheeler, David J. «TEA, a tiny encryption algorithm». A: Fast Software Encryption (en anglès). 1008, 1994-12-16, p. 363–366 (Lecture Notes in Computer Science). DOI 10.1007/3-540-60590-8_29. ISBN 978-3-540-60590-4.