首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么AES在10轮而不是1轮中执行加密?

为什么AES在10轮而不是1轮中执行加密?
EN

Cryptography用户
提问于 2018-02-21 00:03:19
回答 3查看 1.9K关注 0票数 -3

我是硕士研究生,研究AES-128加密技术.我的顾问问我一个关于在AES中进行迭代循环的必要性的问题。他问:“为什么我们不能通过简单的XOR操作来加密128位的明文呢?它有2^128个密钥空间,很难实现attack.Why,我们应该执行迭代循环吗?”有人能用推荐信给我解释一下吗?

EN

回答 3

Cryptography用户

发布于 2018-02-21 02:57:38

这实际上是两个问题,所以有趣的是,你的导师以这种方式质疑它。

简单的128位XOR操作被称为一次性使用Pad.这其中的密码行为是非常清楚的。它的一些行为是可取的,有些则不是。例如,如果攻击者已经知道明文,它们就会有可塑性。

为什么我们使用多轮而不是一轮大回合的问题是一个非常不同的问题。我们使用多轮,因为从小的重复轮构建密码器是很好的理解。它的安全性更容易分析。例如,我们可以以这样的方式构造它们,在发生攻击的情况下,增加子弹数量很有可能解决攻击问题。如果我们有一个大的算法,一次失败可能破坏整个算法的概率似乎会上升。我说似乎是这样,因为你不能用统计数据来证明这样的事情,但是密码界发现,一般来说,这是一条有效的规则。

票数 3
EN

Cryptography用户

发布于 2018-02-21 14:03:29

科特·阿蒙的观点很好。另外还有另外一个原因,那就是资源问题。

AES本质上是一个块宽度为128位的替代/置换网络。从技术上讲,不可能对128位变量的类似替换做直接类似的操作。您需要10^40字节的RAM (2^128*16)才能容纳查找表。因此,AES一次使用8位在SubBytes组件中执行此操作。为了使其与旧的混淆和扩散格言有效,这些替换位需要在整个块宽度和其他15个字节之间进行置换。这就是ShiftRows和MixColumns所做的。但它需要一个以上的迭代。

如果你看Rijndael的设计,第3.5节,比特可以完全扩散,只需2轮。这两个迭代有效地创建了一个128位宽的S框。其他8-12个回合增加了分析的阻力。

票数 1
EN

Cryptography用户

发布于 2019-06-25 06:56:30

只有一种大的加密算法被认为是一个很好的设计准则,加密算法(密码)是由SBox、PBox、循环、密钥调度或扩展等构建的。

从历史上看,一种简单的带有秘密密钥的Xor明文时垫算法通常会随机选择该算法的问题,如果密码文本在传输过程中发生变化,则接收方无法检测到这种修改。

比较一下,例如,我们使用AES加密明文,如果在传输过程中发生更改,它将被解密为接收方无法解析或识别的随机消息。

此外,在遇到攻击的情况下,可以通过增加轮数来进一步增强具有迭代轮的密码。

此外,迭代循环密码可以使用相同的128位密钥对128位的几个块进行加密,而在简单Xor密码中,您不能这样做,并且需要与明文need一样多的密钥才能加密。

票数 -1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/55811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档