Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Tiny Encryption Algorithm
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
[[Archivo:TEA InfoBox Diagram.png|miniaturadeimagen|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 (criptografía)|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 [[número mágico|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 [[clave (criptografía)|claves]] equivalentes: cada clave es equivalente a otras tres, y esto implica que la longitud de clave efectiva es solo de 126 [[bit]]s (Kelsey et. al., 1996). Esta debilidad dio lugar a un método para [[cracker|''crackear'']] la [[videoconsola|consola]] [[Xbox]] de [[Microsoft]], donde se utilizaba el algoritmo como una [[hash|función resumen]] o ''hash''. TEA es también susceptible a ataques de clave relacionada que requieren 2<sup>23</sup> textos planos escogidos para un par de claves relacionadas, con una complejidad cronológica de 2<sup>32</sup> (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 == * [https://web.archive.org/web/20090420005901/http://www.cs.ua.edu/SecurityResearchGroup/VRAndem.pdf A Cryptanalysis of the Tiny Encryption Algorithm] * [https://web.archive.org/web/20170612022812/http://143.53.36.235:8080/tea.htm A web page advocating TEA and providing a variety of implementations] ** [http://www.babelfish.nl/?view=actFlaw A note on the JavaScript implementations at that site] * [http://www.cix.co.uk/~klockstone/teavect.htm Test vectors for TEA] * [https://web.archive.org/web/20060717183330/http://www-users.cs.york.ac.uk/%7Ematthew/TEA/TEA.html A survey of TEA and XTEA and their cryptanalysis] * [https://web.archive.org/web/20060428132257/http://www.farfarfar.com/scripts/encrypt/ JavaScript implementation of XXTEA with Base64] * [http://www.movable-type.co.uk/scripts/TEAblock.html JavaScript implementation of TEA] * [http://www.babelfish.nl/?view=actTEA JavaScript and PHP implementations of XTEA (English text)] {{Wayback|url=http://www.babelfish.nl/?view=actTEA |date=20070928212657 }} * [http://www.coolcode.cn/?p=128 JavaScript and PHP implementation of XXTEA] {{Control de autoridades}} [[Categoría:Cifrado por bloques]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Tiny Encryption Algorithm
»
Añadir idiomas
Añadir tema