DES如何拥有6x4 S-Box并且仍然可逆?


12

在DES的S-Box中将6位值映射到4位值时,数据不会丢失吗?如果是这样,我们如何将其反转以显示正确的输出?


3
这可能是一个非常有趣的问题,但我会尝试使其更加独立,以便您获得一个不错的答案。尝试提供更多背景信息。
戴夫·克拉克

2
尽管Sadeq有一个答案,但澄清问题仍然很有用。首先,什么是DES中的S-Box?
Suresh Venkat 2010年

5
基于Feistel的密码将输入分为两个相等长度的位串R(DES中为32位),然后重复应用以下Sadeq描述的操作(在DES中,它被迭代16次)。在DES中,S盒是6位到4位功能,是F实现的组成部分。在小号 -boxes有一些有趣的统计特性,其目的十五年来一直默默无闻。许多人怀疑他们使DES更容易破解。最终,人们发现S盒的这些特性使DES能够抵抗差分密码分析。LRSFS
彼得·索尔

3
@Suresh:经典密码分为两种类型:替代密码(如Caesar)和置换密码(如Columnar换位)。后来很明显,这两种类型都没有提供足够的安全性。现代分组密码利用了两种变换。特别是,它们具有P框(=排列框)和S框(=替换框)。
MS Dousti

3
@Suresh:我绝对同意你的看法。尽管S-Boxs以密码学家而闻名,但我认为OP应该以使所有人(而不是社区的一小部分)受益的方式提出问题。
MS Dousti

Answers:


25

F

在每一轮中,将应用以下操作:

i=0,1,,n

Li+1=Ri

Ri+1=LiF(Ri,Ki)

解密执行如下:

Ri=Li+1

Li=Ri+1F(Li+1,Ki)

FF1


4

参见Katz和Lindell编写的“现代密码学简介”教科书的第5章。


1

如果您不看有关Feistel的所有数学巨无霸(我尚未100%理解),那么请看一下Wikipedia的这张图片:

DES加密步骤

您会看到,尽管8 s盒确实将48位压缩为32位,但是只有32位的熵来自明文,因此解密时可以从密钥中获得其他16位,这是前面提到的Feistel函数。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.