fbpx
Wikipedia

Tiny Encryption Algorithm

En criptografía, el Tiny Encryption Algorithm (TEA) (Algoritmo Diminuto de Cifrado) es un algoritmo para el cifrado por bloques notable por su simplicidad de descripción e implementación (generalmente unas pocas líneas de código). Fue diseñado por David Wheeler y Roger Needham del Cambridge Computer Laboratory, y presentado por vez primera en 1994 en el Fast Software Encryption Workshop (Wheeler y Needham, 1994). No está sujeto a ningún tipo de patente.

Propiedades

TEA opera sobre bloques de 64 bits y usa una clave de 128 bits. Contiene una estructura de red de Feistel aconsejada en 64 rondas, generalmente implementadas en parejas denominadas ciclos. Posee una generación de claves extremadamente simple, mezclando todo el contenido de la clave de la misma manera para cada ciclo. Se utilizan distintos múltiplos de una constante mágica para prevenir ataques basados en la simetría de las rondas.

TEA tiene algunas debilidades. La más notable es que padece de claves equivalentes: cada clave es equivalente a otras tres, y esto implica que la longitud de clave efectiva es solo de 126 bits (Kelsey et. al., 1996). Esta debilidad dio lugar a un método para crackear la consola Xbox de Microsoft, donde se utilizaba el algoritmo como una función resumen o hash. TEA es también susceptible a ataques de clave relacionada que requieren 223 textos planos escogidos para un par de claves relacionadas, con una complejidad cronológica de 232 (Kelsey et. al., 1997).

Debido a estas debilidades, se han diseñado algunas revisiones de TEA, incluyendo XTEA.

Código de referencia

A continuación se muestra una adaptación de las rutinas de cifrado y descifrado, publicadas bajo dominio público por David Wheeler y 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; } 

Referencias

  • 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.
  • 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 aplication 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.

Enlaces externos

    • A note on the JavaScript implementations at that site
  • Test vectors for TEA
  • JavaScript implementation of TEA
  • JavaScript and PHP implementations of XTEA (English text)
  • JavaScript and PHP implementation of XXTEA
  •   Datos: Q1595597

tiny, encryption, algorithm, criptografía, algoritmo, diminuto, cifrado, algoritmo, para, cifrado, bloques, notable, simplicidad, descripción, implementación, generalmente, unas, pocas, líneas, código, diseñado, david, wheeler, roger, needham, cambridge, compu. En criptografia el Tiny Encryption Algorithm TEA Algoritmo Diminuto de Cifrado es un algoritmo para el cifrado por bloques notable por su simplicidad de descripcion e implementacion generalmente unas pocas lineas de codigo Fue disenado por David Wheeler y Roger Needham del Cambridge Computer Laboratory y presentado por vez primera en 1994 en el Fast Software Encryption Workshop Wheeler y Needham 1994 No esta sujeto a ningun tipo de patente Indice 1 Propiedades 2 Codigo de referencia 3 Referencias 4 Enlaces externosPropiedades EditarTEA opera sobre bloques de 64 bits y usa una clave de 128 bits Contiene una estructura de red de Feistel aconsejada en 64 rondas generalmente implementadas en parejas denominadas ciclos Posee una generacion de claves extremadamente simple mezclando todo el contenido de la clave de la misma manera para cada ciclo Se utilizan distintos multiplos de una constante magica para prevenir ataques basados en la simetria de las rondas TEA tiene algunas debilidades La mas notable es que padece de claves equivalentes cada clave es equivalente a otras tres y esto implica que la longitud de clave efectiva es solo de 126 bits Kelsey et al 1996 Esta debilidad dio lugar a un metodo para crackear la consola Xbox de Microsoft donde se utilizaba el algoritmo como una funcion resumen o hash TEA es tambien susceptible a ataques de clave relacionada que requieren 223 textos planos escogidos para un par de claves relacionadas con una complejidad cronologica de 232 Kelsey et al 1997 Debido a estas debilidades se han disenado algunas revisiones de TEA incluyendo XTEA Codigo de referencia EditarA continuacion se muestra una adaptacion de las rutinas de cifrado y descifrado publicadas bajo dominio publico por David Wheeler y 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 lt 32 i basic cycle start sum delta v0 v1 lt lt 4 k0 v1 sum v1 gt gt 5 k1 v1 v0 lt lt 4 k2 v0 sum v0 gt gt 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 lt 32 i basic cycle start v1 v0 lt lt 4 k2 v0 sum v0 gt gt 5 k3 v0 v1 lt lt 4 k0 v1 sum v1 gt gt 5 k1 sum delta end cycle v 0 v0 v 1 v1 Referencias EditarDavid 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 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 Cesar Hernandez Pedro Isasi and Arturo Ribagorda An aplication of genetic algorithms to the cryptoanalysis of one round TEA Proceedings of the 2002 Symposium on Artificial Intelligence and its Application 2002 Julio Cesar Hernandez Jose Maria 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 Cesar Hernandez Jose Maria Sierra Arturo Ribagorda Benjamin 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 Enlaces externos EditarA Cryptanalysis of the Tiny Encryption Algorithm A web page advocating TEA and providing a variety of implementations A note on the JavaScript implementations at that site 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 implementations of XTEA English text JavaScript and PHP implementation of XXTEA Datos Q1595597Obtenido de https es wikipedia org w index php title Tiny Encryption Algorithm amp oldid 123999789, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos