fbpx
维基百科

微型加密算法

密码学中,微型加密算法(Tiny Encryption Algorithm,TEA)是一种易于描述和执行的块密码,通常只需要很少的代码就可实现。其设计者是剑桥大学计算机实验室大卫·惠勒英语David Wheeler (computer scientist)罗杰·尼达姆英语Roger Needham。这项技术最初于1994年提交给鲁汶快速软件加密英语Fast Software Encryption的研讨会上,并在该研讨会上演讲中首次发表。[2]

微型加密算法
两轮Feistel结构(单周期)的TEA加密
概述
设计者大卫·惠勒英语David Wheeler (computer scientist)罗杰·尼达姆英语Roger Needham
首次发布1994年
继承算法XTEA
密码细节
密钥长度128位
分组长度64位
结构Feistel network
重复回数variable; recommended 64 Feistel rounds (32 cycles)
最佳公开破解
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.[1]

此项技术开源

属性

TEA操作处理在两个32位无符号整型上(可能源于一个64位数据),并且使用一个128位的密钥

版本

TEA的第三个版本XXTEA,发表于1998年,进一步提高了TEA算法的安全性。

参考代码

此处引用C语言中加密和解密的改编例程,由大卫·惠勒同罗杰·尼达姆共同发表[2]

#include <stdint.h> void encrypt (uint32_t* v, uint32_t* k) {  uint32_t v0=v[0], v1=v[1], sum=0, i; /* set up */  uint32_t delta=0x9e3779b9; /* a key schedule constant */  uint32_t 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 (uint32_t* v, uint32_t* k) {  uint32_t v0=v[0], v1=v[1], sum=0xC6EF3720, i; /* set up */  uint32_t delta=0x9e3779b9; /* a key schedule constant */  uint32_t 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; } 

请留意这个参考实现对多字节的处理。原稿中并未指定出如何从二进制或者其他内容中派生出这些得到的数字。

参阅

  • RC4 - 一种流密码,如同TEA一般, 旨在被设计后易于执行。
  • XTEA - 块TEA的继任者的第一个版本
  • XXTEA -改进版本块TEA的继任者

参考文献

  1. ^ Kelsey, John; Schneier, Bruce; Wagner, David. Related-key cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X NewDES, RC2, and TEA. Lecture Notes in Computer Science. 1997, 1334: 233–246. doi:10.1007/BFb0028479. 
  2. ^ 2.0 2.1 Wheeler, David J.; Needham, Roger M. TEA, a tiny encryption algorithm. Lecture Notes in Computer Science (Leuven, Belgium: Fast Software Encryption: Second International Workshop). 1994-12-16, 1008: 363–366. 

引用

  • 安德姆, 维克拉姆 雷迪. (PDF). 塔斯卡卢萨: 阿拉巴马大学. 2003. (原始内容 (PDF)存档于2012-03-31). 
  • Hernández, Julio César; Isasi, Pedro; Ribagorda, Arturo. An application of genetic algorithms to the cryptoanalysis of one round TEA. Proceedings of the 2002 Symposium on Artificial Intelligence and its Application. 2002. 
  • Hernández, Julio César; Sierra, José María; Isasi, Pedro; Ribargorda. Arturo. Finding efficient distinguishers for cryptographic mappings, with an application to the block cipher TEA. Proceedings of the 2003 Congress on Evolutionary Computation. 2003, 3: 2189. doi:10.1109/CEC.2003.1299943. 
  • Hernández, Julio César; Sierra, José María; Ribagorda, Arturo; Ramos, Benjamín; Mex-Perera, J. C. Distinguishing TEA from a random permutation: Reduced round versions of TEA do not have the SAC or do not generate random numbers (PDF). Proceedings of the IMA Int. Conf. on Cryptography and Coding 2001. 2001: 374–377. doi:10.1007/3-540-45325-3_34.  [永久失效連結]
  • Moon, Dukjae; Hwang, Kyungdeok; Lee, Wonil; Lee, Sangjin; Lim, Jongin. Impossible differential cryptanalysis of reduced round XTEA and TEA (PDF). Lecture Notes in Computer Science. 2002, 2365: 49–60. doi:10.1007/3-540-45661-9_4. 
  • Hong, Seokhie; Hong, Deukjo; Ko, Youngdai; Chang, Donghoon; Lee, Wonil; Lee, Sangjin. Differential cryptanalysis of TEA and XTEA. In Proceedings of ICISC 2003. 2003. doi:10.1007/978-3-540-24691-6_30. 

外部链接

  • Test vectors for TEA
  • PHP implementation of XTEA
  • JavaScript implementation of TEA
  • JavaScript and PHP implementations of XTEA (English text)
  • LGPL Java/J2ME implementation of TEA
  • AVR ASM implementation

微型加密算法, 在密码学中, tiny, encryption, algorithm, 是一种易于描述和执行的块密码, 通常只需要很少的代码就可实现, 其设计者是剑桥大学计算机实验室的大卫, 惠勒, 英语, david, wheeler, computer, scientist, 与罗杰, 尼达姆, 英语, roger, needham, 这项技术最初于1994年提交给鲁汶的快速软件加密, 英语, fast, software, encryption, 的研讨会上, 并在该研讨会上演讲中首次发表, 两轮feiste. 在密码学中 微型加密算法 Tiny Encryption Algorithm TEA 是一种易于描述和执行的块密码 通常只需要很少的代码就可实现 其设计者是剑桥大学计算机实验室的大卫 惠勒 英语 David Wheeler computer scientist 与罗杰 尼达姆 英语 Roger Needham 这项技术最初于1994年提交给鲁汶的快速软件加密 英语 Fast Software Encryption 的研讨会上 并在该研讨会上演讲中首次发表 2 微型加密算法两轮Feistel结构 单周期 的TEA加密概述设计者大卫 惠勒 英语 David Wheeler computer scientist 罗杰 尼达姆 英语 Roger Needham 首次发布1994年继承算法XTEA密码细节密钥长度128位分组长度64位结构Feistel network重复回数variable recommended 64 Feistel rounds 32 cycles 最佳公开破解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 1 此项技术开源 目录 1 属性 2 版本 3 参考代码 4 参阅 5 参考文献 6 引用 7 外部链接属性 编辑TEA操作处理在两个32位无符号整型上 可能源于一个64位数据 并且使用一个128位的密钥 版本 编辑TEA的第三个版本XXTEA 发表于1998年 进一步提高了TEA算法的安全性 参考代码 编辑此处引用C语言中加密和解密的改编例程 由大卫 惠勒同罗杰 尼达姆共同发表 2 include lt stdint h gt void encrypt uint32 t v uint32 t k uint32 t v0 v 0 v1 v 1 sum 0 i set up uint32 t delta 0x9e3779b9 a key schedule constant uint32 t 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 uint32 t v uint32 t k uint32 t v0 v 0 v1 v 1 sum 0xC6EF3720 i set up uint32 t delta 0x9e3779b9 a key schedule constant uint32 t 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 请留意这个参考实现对多字节的处理 原稿中并未指定出如何从二进制或者其他内容中派生出这些得到的数字 参阅 编辑RC4 一种流密码 如同TEA一般 旨在被设计后易于执行 XTEA 块TEA的继任者的第一个版本 XXTEA 改进版本块TEA的继任者参考文献 编辑 Kelsey John Schneier Bruce Wagner David Related key cryptanalysis of 3 WAY Biham DES CAST DES X NewDES RC2 and TEA Lecture Notes in Computer Science 1997 1334 233 246 doi 10 1007 BFb0028479 引文使用过时参数coauthors 帮助 2 0 2 1 Wheeler David J Needham Roger M TEA a tiny encryption algorithm Lecture Notes in Computer Science Leuven Belgium Fast Software Encryption Second International Workshop 1994 12 16 1008 363 366 引文使用过时参数coauthors 帮助 引用 编辑安德姆 维克拉姆 雷迪 微型加密算法的安全性分析 硕士论文 PDF 塔斯卡卢萨 阿拉巴马大学 2003 原始内容 PDF 存档于2012 03 31 Hernandez Julio Cesar Isasi Pedro Ribagorda Arturo An application of genetic algorithms to the cryptoanalysis of one round TEA Proceedings of the 2002 Symposium on Artificial Intelligence and its Application 2002 引文使用过时参数coauthors 帮助 Hernandez Julio Cesar Sierra Jose Maria Isasi Pedro Ribargorda Arturo Finding efficient distinguishers for cryptographic mappings with an application to the block cipher TEA Proceedings of the 2003 Congress on Evolutionary Computation 2003 3 2189 doi 10 1109 CEC 2003 1299943 引文使用过时参数coauthors 帮助 Hernandez Julio Cesar Sierra Jose Maria Ribagorda Arturo Ramos Benjamin Mex Perera J C Distinguishing TEA from a random permutation Reduced round versions of TEA do not have the SAC or do not generate random numbers PDF Proceedings of the IMA Int Conf on Cryptography and Coding 2001 2001 374 377 doi 10 1007 3 540 45325 3 34 引文使用过时参数coauthors 帮助 永久失效連結 Moon Dukjae Hwang Kyungdeok Lee Wonil Lee Sangjin Lim Jongin Impossible differential cryptanalysis of reduced round XTEA and TEA PDF Lecture Notes in Computer Science 2002 2365 49 60 doi 10 1007 3 540 45661 9 4 引文使用过时参数coauthors 帮助 Hong Seokhie Hong Deukjo Ko Youngdai Chang Donghoon Lee Wonil Lee Sangjin Differential cryptanalysis of TEA and XTEA In Proceedings of ICISC 2003 2003 doi 10 1007 978 3 540 24691 6 30 引文使用过时参数coauthors 帮助 外部链接 编辑A Cryptanalysis of the Tiny Encryption Algorithm A web page advocating TEA and providing a variety of implementations Test vectors for TEA A survey of TEA and XTEA and their cryptanalysis JavaScript implementation of XXTEA with Base64 PHP implementation of XTEA JavaScript implementation of TEA JavaScript and PHP implementations of XTEA English text Ruby implementation of XXTEA with Base64 LGPL Java J2ME implementation of TEA Visual Basic NET implementation of TEA A Bitsliced implementation of TEA AVR ASM implementation 取自 https zh wikipedia org w index php title 微型加密算法 amp oldid 60465528, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。