在1998年的“让-选择-下一次-aes竞赛”中,他们选择了Rijndael,因为速度快.现在,不考虑速度,毒蛇是否更安全?因为它有32轮(当然,如果循环算法不安全的话,这也没什么用),所以我认为它更安全,因为它有相同的块大小、密钥大小和更多的回合。但是我真的不知道细节,所以如果你放弃了x86 CPU的效率和实现的易用性,那么毒蛇就会更安全,对吧?如果是的话,它是优越的,还是只是稍微安全一点?
发布于 2019-12-08 18:29:22
轮数并不直接影响安全性;它至少在很大程度上取决于这些回合的复杂性。尽管如此,我们还是有可能利用有攻击的子弹所占的百分比来显示有多大程度的隐秘分析进展(当然,不考虑那些比蛮力更糟糕的攻击)。
其中一个棘手的问题是内存的使用;许多攻击仍然比蛮力的时间复杂度好,但是有不可能的内存需求。我不认为有任何客观的方法来衡量记忆的复杂性和时间复杂性。
另一件需要注意的事情是,这些攻击是不实际的;如果其他/更高级的攻击是可能的,您可能会把它们看作是指示。当然,如果这是真的,是无法预测的,但毫无疑问,有些攻击比其他攻击更有可能被“延长”。
尽管如此,对于毒蛇128来说,32发子弹中的11发似乎在一次攻击中表现得很弱。对于AES-128,在完整密码上有连体攻击。然而,这种攻击只会降低2^{126.1}的攻击复杂性;与蛮力攻击相比,具有小于4倍优势的复杂攻击并不能说明什么。否则,在用于AES-128的10轮中,至少会有7轮攻击(其他密钥大小使用更多的回合)。
因此,从这个意义上说,毒蛇应该被认为比AES更安全;毕竟,\frac{11}{32} \ll \frac{7}{11}。然而,AES也是效率的两倍多。从这个意义上说,16轮而不是32轮的毒蛇在比赛中的表现可能会更好。然而,这只是为了最小的密钥大小。如果你看一下AES-256,那么你就有了你可能需要的所有安全性( 14发子弹中有9发或者是2^{254.3}攻击)--甚至比毒蛇-128还要快。没有硬件加速。请注意,在这个场景中,我忽略了对AES-256的相关密钥攻击。
关于蛇的概念“它像坦克一样建造”(密码工程:设计原则和实际应用)似乎仍然站得住脚。请注意,在过去几年中,这两种密码都没有多少突破;研究似乎已经向前推进。
https://crypto.stackexchange.com/questions/76280
复制相似问题