📅  最后修改于: 2021-01-12 04:43:30             🧑  作者: Mango
数据加密标准(DES)是美国国家标准技术研究院(NIST)发布的对称密钥分组密码。
DES是Feistel密码的实现。它采用16轮Feistel结构。块大小为64位。虽然,密钥长度为64位,DES具有56位的有效密钥长度,由于密钥的64位的8不使用加密算法(如函数仅校验位)。 DES的一般结构如下图所示-
由于DES基于Feistel密码,因此指定DES所需要做的就是-
初始置换和最终置换是直的置换框(P框),它们彼此相反。它们在DES中没有加密意义。初始和最终排列如下所示-
该密码的核心是DES函数f 。 DES函数将48位密钥应用于最右边的32位,以产生32位输出。
扩展置换框-由于右输入是32位,而回合键是48位,因此我们首先需要将右输入扩展到48位。下图以图形方式描绘了排列逻辑-
以图形方式描述的置换逻辑通常描述为DES规范中的表格,如图所示-
XOR(增白剂)。 −扩展排列后,DES将对扩展的右部分和圆键进行XOR操作。圆形键仅在此操作中使用。
替代箱。 − S盒进行真正的混合(混淆)。 DES使用8个S-box,每个都有6位输入和4位输出。请参考下图-
S-box规则如下所示-
共有八个S-box表。然后将所有八个s-box的输出合并为32位部分。
直线排列-S-box的32位输出然后按照下图所示的规则进行直线排列:
轮密钥生成器从56位密码密钥中创建16个48位密钥。下图描述了密钥生成的过程-
DES描述中给出了奇偶校验下降,移位和压缩P-box的逻辑。
DES满足块密码的两个所需特性。这两个属性使密码非常强大。
雪崩效应-明文的微小变化会导致密文发生很大的变化。
完整性-密文的每一位都取决于许多明文。
在过去的几年中,当选定的密钥为弱密钥时,密码分析发现DES中存在一些弱点。避免使用这些键。
事实证明,DES是一种设计良好的分组密码。除了详尽的密钥搜索之外,没有对DES进行任何重大的密码分析攻击。