为什么AES比DES更安全?
我开始学习加密算法,并且了解上述算法的工作原理。AES的密钥长度是否更长?AES加密的哪些步骤使其不如DES脆弱?
回答:
DES的有效密钥长度为56位,很容易被穷举搜索。它也有一些针对差分和线性密码分析的弱点:分别允许使用2
47个选定的明文或2 43个已知的明文来恢复密钥。甲 已知明文 是一个加密的块(一个8字节的块,对于DES)的量,攻击者知道对应解密块。甲 选择明文
是一种已知的明文,攻击者可以选择自己作为解密块。在实际的攻击条件下,无法真正获得如此大量的已知或选定的明文,因此差分和线性密码分析并不会真正影响DES的实际安全性。最薄弱的是快捷键。但是,从
学术的角度来看 ,这些攻击的存在要比穷举密钥搜索(平均使用2 55次调用)的复杂度要低,这被认为缺乏安全性。
作为附带说明,差异分析对于DES设计人员是已知的,并且DES对此进行了强化(因此“良好分数”为2
47)。使用今天的标准,我们认为它“不够好”,因为在当今的学术传统中,要求在复杂的搜索之上进行复杂的攻击。不过,DES设计师确实很棒。他们不知道线性密码分析是由Matsui在1992年发现的,并且线性密码分析在DES上比差分密码分析更有效,但在实践中却异常困难(2
43个已知的纯文本块,即64 TB)。 )。
因此,DES的结构弱点是密钥大小和块大小短:对于 n 位块,当使用相同的密钥对2 n /
2个块进行加密时,某些加密模式开始出现问题。对于64位DES块,这是在加密了32
GB的数据之后发生的,这是一个很大但不是很大的数字(昨天,我买了一个比它大三十倍的硬盘)。
DES上的一个变体称为3DES:或多或少是连续三个DES实例。这就解决了密钥大小的问题:一个3DES密钥包含168位(名义上为192位,其中24位被认为是奇偶校验,但实际上被完全忽略了),并且对168位密钥进行详尽搜索完全超出了人类技术的范围。从(再次)学术角度来看,在3DES上发生了成本为2
112的攻击,这也不可行。差分和线性密码分析被3DES击败(其复杂度随着轮数的增加而增加,而3DES代表48轮,而普通DES为16轮)。
但是3DES仍然遭受DES的块大小问题的困扰。而且,它相当慢(DES是用于硬件实现的,而不是软件的,而3DES甚至比DES慢三倍)。
因此,AES被定义为具有以下要求:
- 128位块(解决了CBC的问题)
- 接受大小为128、192和256位的密钥(128位足以抵抗详尽的密钥搜索;另外两个大小主要是遵守严格的美国军事法规的一种方式)
- 没有比弱项搜索更糟糕的学术能力
- 应该与3DES一样快(事实证明,AES比软件中的3DES快得多,通常快5到10倍)
AES对差分和线性密码分析的抵抗力来自更好的“雪崩效应”(在某个点上的一点翻转迅速传播到完整的内部状态)和特制的更大的“ S-box”( S-box)
是算法中使用的小型查询表,并且是添加非线性的简便方法;在DES中,S盒具有6位输入和4位输出。在AES中,S盒具有8位输入和8位输出)。AES的设计受益于对DES的25年的见识和研究。另外,AES是通过与来自世界各地许多研究团队的15名候选人进行的公开比赛而选择的,分配给该过程的大脑资源总量巨大。最初的DES设计师是个天才,但是可以说,密码学家为AES所做的努力更大。
从哲学的角度来看,我们可以说使密码原始安全的原因是在其设计上投入的精力。至少,这种努力是建立 安全感的原因
:当我使用密码系统时,我希望它是安全的,但我也想 确定
它是安全的(我想在晚上睡觉)。公共设计和分析过程在建立信任方面有很大帮助。NIST(美国此类事物的标准化机构)吸取了教训,并决定再次为SHA-3选择公开竞赛。
以上是 为什么AES比DES更安全? 的全部内容, 来源链接: utcz.com/qa/435738.html