数据安全中DES的结构是什么?
数据加密标准 (DES) 是一种分组密码算法,它以64位块的形式创建明文,并使用48位密钥将其转换为密文。它是一种对称密钥算法,这意味着相同的密钥可用于加密和解密信息。
加密阶段由两个置换 (P-box) 组成,它们定义初始和最终置换,以及16轮Feistel密码。每一轮都需要一个特定的48位轮密钥,该密钥根据确定的算法从密码密钥生成。
DES密码在加密端的组成要素如下:
初始和最终置换 - 每个置换都接收一个64位输入并根据特定规则对其进行置换。它只显示一些输入端口和对应的输出端口。这些置换是无密钥的直接置换,彼此互为逆运算。
例如,在初始置换中,输入中的第58位变成输出中的第一位。同样,在最终置换中,输入中的第一位变成输出中的第58位。
换句话说,如果没有这两个置换之间的轮次,则进入初始置换的第58位与离开最终置换的第58位相同。
轮次 - DES 使用16轮。DES的每一轮都是一个Feistel密码。该轮从前一轮生成LI−1和RI−1,并生成LI和RI,这些将传递到下一轮。可以认为每一轮有两个密码元素(例如混合器和交换器)。
这些元素都是可逆的。交换器是可逆的。它将文本的左半部分与右半部分交换。混合器由于异或运算而可逆。所有不可逆元素都收集在函数f(RI−1, KI)中。
密码和逆向密码 - 通过使用混合器和交换器,可以创建密码和逆向密码,每个都有16轮。密码可用于加密端,逆向密码可用于解密端。整个概念是使密码和逆向密码算法相似。
在第一种方法中,可以实现此目标的一种方法是使最后一轮(第16轮)与其他轮不同,它只有一个混合器而没有交换器。虽然轮次不是水平的,但元素(混合器或交换器)是水平的。
在第一种方法中,第16轮与其他轮不同,并且此轮中没有交换器。这是为了使密码中的最终混合器和相反密码中的第一个混合器规则相同。通过向第16轮添加一个交换器并在之后插入另一个交换器(两个交换器相互抵消结果)来使所有16轮相同。