首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算对称算法中的雪崩效应?

如何计算对称算法中的雪崩效应?
EN

Cryptography用户
提问于 2016-10-01 15:30:24
回答 2查看 3.5K关注 0票数 3

我正在使用Java中的对称算法,使用javax.crypo和B儿GY城堡库,我需要计算不同对称算法(如DES、3 DES、Blowfish和AES )的雪崩效应。

我读过关于雪崩效应的文章,意思是当输入文本稍微改变(例如,翻转一位)时,输出会发生显著的变化。为了计算这一点,我做了一些测试,方法是创建一个新文本,更改原始文本中的第一个单词,然后对这两个文本进行加密。在此之后,我比较了原始文本和新文本之间的变化。

对于这个测试,我在CBC操作模式和PKCS5PADDING中使用了这四种算法。正如我所知道的,加密文本之间的变化必须很高,尽管更改的单词仅在文本的第一个块中,因为CBC模式下的输入是由前一个块生成的加密文本,所以所有块都用于生成最终文本。因此,我认为这种变化一定是相当大的。

我读到50%的变化是一个令人满意的值,因为它意味着输入中的一个字或一个位的变化会以50%的概率改变输出,而且它是很强的。问题是,在我的测试中,这四种算法的测试结果大约是50%,我认为这是不正确的,因为差别会更大,我认为,作为加密替代的S盒工作的AES必须有更多的变化。我一直在为这些算法搜索雪崩效应结果值的估计值,以与我的结果进行对比,但我还没有找到估计值。所以,我不知道我是否正确地计算了雪崩效应。

我计算了产生的密文中的雪崩效应,而不是在加密过程中的每一轮。

我在寻找信息,我发现很少有关于这个主题的文章,它们显示:密码使用,原始密文,以及上面的加密文本已经做了一个改变。比较是通过两个加密文本之间按位执行的,所以我理解,而不是在加密过程中的密文中。不是这样的吗?其中一些文章是:链接链接

对称算法中的雪崩效应计算正确吗?

算法中是否有关于这一效应的估计值?

EN

回答 2

Cryptography用户

回答已采纳

发布于 2016-10-01 21:29:55

你似乎觉得AES应该比DES得分更好,因为AES比DES强。

问题是,您的测试非常粗糙;任何像样的分组密码都将通过测试。

如果我用一个类比来比喻,就好像你设计了一个汽车试验,唯一的检验是‘有发动机吗?’你在余戈上运行你的测试,它通过了,你在高端保时捷上运行你的测试,它通过了;你问,保时捷是一辆比Yugo好得多的汽车;为什么它的得分没有更好呢?

至于AES和DES的区别,重要的是:

  • AES的密钥比DES大得多。DES密钥足够小,以至于可以(并且已经)被对手强制(也就是单独检查每个密钥),并拥有合理的资源;AES密钥空间非常大,以至于即使设置128位的“小”设置,也是不可行的。
  • AES块的大小大于DES;对于DES (和CBC模式),加密几is后,您将开始泄漏明文的内容;AES也会出现同样的情况,但只有在加密了大量的数据(例如,一周内在整个互联网上传输的数据量)之后,才会出现这种情况。
  • 也有一些已知的方法将线性密码分析应用于DES;但是(同样)只有在大量数据被加密之后。

您的测试不会发现任何这些差异,因此(就您的测试而言),DES和AES看起来一样好。

票数 7
EN

Cryptography用户

发布于 2016-10-01 20:46:06

如果超过50%的比特平均翻转,这将是一个弱点。为了说明这一点,比如75%的输出位翻转了。

然后,只需分别更改两个区域输入位,您就会得到50%的输出位的相同子集正在翻转,这是高度非随机行为。

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

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

复制
相关文章

相似问题

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