似乎DES中的S盒实际上具有随机值。

如何选择这些值?

评论

我只是想对此感兴趣,但这似乎是一个奇怪的话题。

#1 楼

Coppersmith有一篇很好的文章对此进行了解释。基本上,DES的设计者已经预见到了差分密码分析(在Biham和Shamir重新发现并发表差分密码分析之前已有15年了);他们可以测量DES在给定的S盒集合中抵抗差分密码分析的能力。

因此,他们生成了大量随机的S盒,对其进行了测量并保持最佳状态。

结果表明,尽管DES设计人员不了解线性密码分析(由Matsui在1993年发现),但具有能够抵抗差分密码分析的S盒也击败了线性密码分析。

评论


$ \ begingroup $
+1感谢您的出色解释。链接已关闭,您将获得同一文章的某些链接?
$ \ endgroup $
–阿韦利诺
16 Mar 25 '16 at 23:07

$ \ begingroup $
我在Internet Archive Wayback Machine上找到了它。
$ \ endgroup $
–托马斯·波宁(Thomas Pornin)
16 Mar 26 '16 at 0:49

#2 楼

在成为标准之前,美国国家安全局(NSA)提议对S盒进行一些更改,但没有解释。解释(当非间谍团体“重新发现”差分密码分析时,结果是正确的)是,如果您更改了输入的每一位,则输出的每一位都应该有50%的更改机会(这是称为“严格雪崩准则”。或者,换句话说,更改输入中的任何一位就足以产生明显不相关的输出(如果您不这样做)不知道键)。这个想法是,给定一个纯文本输入和另一个不同的纯文本输入以及第一个纯文本的密文,即使两个纯文本仅相差一个位,您通常也无法预测第二个纯文本的密文。 />
S-box组件也希望具有整个密码(每个固定密钥)的理想属性。一些较早的(当时仍被称为“ Lucifer”的)S盒设计没有共享此属性,因此更改单个输入位可能只会更改一些输出。

有关S形盒设计的一些阅读材料是:


关于AF Webster,SE Tavares的S形盒设计。
Joe Gargiulo对S-Box的修改及其在类似DES的加密系统中的作用。
Horst Feistel的密码学和隐私权。