Wikipedia声称,对出乎意料的简单TEA块密码进行的最佳攻击(不是相关密钥攻击),其时间复杂度为$ 2 ^ {121.5} $。

因此,尽管密码是如此简单看起来,如果我正确使用KDF并且不使用相关密钥,那么TEA是安全的吗?

评论

在建议的64轮比赛中,有21轮的时间复杂度为$ 2 ^ {121.5} $。

#1 楼

是的,当密钥是随机的(密钥更改应为原子性且使用新的随机密钥)时,AFAIK原始TEA是安全的且通常情况下很好;
64位块大小无关紧要(例如,使用了ECB以外的其他操作模式,并且在更改了千兆字节的数据之前更改了密钥);
相对的缓慢性不是阻碍因素;
侧通道不是问题,也不是得到照顾(这不是特别困难;特别是TEA本质上不受定时攻击的影响)。比$ 2 ^ {126} $加密的工作量要少得多(这是在已知等效密钥的情况下蛮力所必需的)。我所知道的最好结果是陈家哲,王美琴和巴特·普雷涅尔对轻量级块密码TEA,XTEA和HIGHT的不可能的差分密码分析(AfricaCrypt 2012)(免费更新论文的替代链接),该专利在64轮中获得了17轮成功

维克兰姆·安德姆(Vikram R. Andem)的论文(芝加哥大学,2003年)也得出结论,TEA是安全的,但这项工作有些过时了。


回答问题的原因是未使用TEA的原因:


TEA在DES之后出现了很多,这是标准的,并且是由权威机构推动的(最初是因为如果
3DES足够用于许多用途,而且最重要的是标准。
TEA紧随IDEA之后出现,在大多数CPU上速度更快。
>由David J. Wheeler和Roger M. Needham在TEA中提出的安全性要求。TEA是一种微小的加密算法(FSE 1994的成果),其中未提交(“希望它是安全的”),并且只有非常基本的理由。
TEA的定义不适合互操作性:八位位组字符串到键和数据的映射没有标准定义(如果我希望TEA测试向量为某些官方机构认可的八位位组字符串,我不知道在哪里看!DES是在这方面要好得多)。甚至连回合的数目也没有刻在石头上:文章说:“十六个循环就足够了,我们建议32个循环”;请注意,这句话推荐64轮!
TEA很快被证明在相关密钥攻击下易受攻击。当密钥是随机的但不是激发信心时,这不是问题(特别是因为那和原始文章中没有考虑过的等同的密钥)。

TEA之后不久就引入了XTEA修复相关密钥攻击; XTEA未达到其设计目标,需要更正XXTEA;后者失去了一些TEA的简单性,并且在用作128位分组密码时,在随机密钥下需要更多的回合才能获得等效的安全性;同样,XXTEA的宽块变体也被严重破坏(主要是因为它使用的回合太少了),请参阅Elias Yarrkov的XXTEA密码分析(2010)。
每个TEA密钥都有一个琐碎的等效密钥;通常这不是问题(当键是8个八位字节的字符串时,DES要糟糕得多);但是令人惊讶的是,TEA的少数几个显着用途(作为原始XBOX中设计不佳的哈希中的构建块)之一正是由于这个原因而造成的。
上述4..8破坏了TEA的形象(决策) -制造商通常基于他们对安全性或专业性的看法,甚至基于他们认为客户对选择的看法,来选择密码!); 5和7甚至使人对TEA实际上是什么感到困惑(如在最初的问题中链接到错误的算法,以及我在最初的回答中对轮数的错误所说明的那样。)
在硬件方面,由于TEA的轮次很多,因此它们将具有较高的延迟(因此在CBC,OFB和CFB模式下会很慢)。事实上(可能还有结果),当有DES,3DES和AES时,就没有TEA的硬件,包括许多现代CPU中的硬件。这通常会使TEA比竞争对手慢得多。
现在,已经过了64位密码。

注意:据我所知,最近对TEA的相关密钥攻击是布鲁斯(John Kelsey)提出的Schneier和David Wagner,3-WAY,Biham-DES,CAST,DES-X,NewDES,RC2和TEA的相关关键密码分析(ICICS 1997);它声称仅用$ 2 ^ {23} $个选择的纯文本和单个相关的键查询就可以成功,但是这种方法非常不现实:相关的键交换了原始数据的一半,以及其他微小的变化。但是攻击只会变得更好,并且用于TEA的任何密钥实际上都应该是随机的。

评论


$ \ begingroup $
哇,真令人印象深刻。为何TEA没有得到更广泛的使用?如果没有查找表等,就不可能实现诸如缓存定时攻击之类的东西,并且实现起来非常简单而且非常快。
$ \ endgroup $
– ithisa
14年5月17日在9:08

$ \ begingroup $
@ user54609使用8个字节的块很烦人,因为它使使用固定密钥的GB加密范围更大。在快速测试中,TEA相当慢,每字节45个周期。您为什么称其为“超快速”?
$ \ endgroup $
– CodesInChaos
2014年5月28日上午10:33

$ \ begingroup $
对于那些想知道在阅读@CodesInChaos注释后在何处使用TEA的人来说,TEA最可能的情况是对(微型,即8位)嵌入式设备进行固件加密,该加密很少超过512 KB。
$ \ endgroup $
– Berezovskyi
2015年11月12日在9:11

$ \ begingroup $
@ user54609 AES用途广泛的原因之一是,当您需要速度时,可以将那些异常的字段操作视为另一个查找表。
$ \ endgroup $
–里德·兰金(Reid Rankin)
15年11月13日在12:52

$ \ begingroup $
@berezovskyi不仅如此。某些TPM使用TEA或XTEA进行内部加密。
$ \ endgroup $
–森林
18年5月29日在1:21