📜  简化的数据加密标准密钥生成

📅  最后修改于: 2021-06-28 08:22:27             🧑  作者: Mango

简化数据加密标准(S-DES)是DES算法的简单版本。它与DES算法相似,但算法更小,参数比DES少。这样做是出于教育目的,因此对DES的理解将变得更加简单。它是一种分组密码,它采用一块纯文本并将其转换为密文。它需要一个8位的块。

这是一个对称密钥密码,即它们使用相同的密钥进行加密和解密。在本文中,我们将演示s-des加密和解密算法的密钥生成。我们采用一个随机的10位密钥,并产生两个8位密钥,这些密钥将用于加密和解密。

密钥生成概念:在密钥生成算法中,我们接受10位密钥并将其转换为两个8位密钥。此密钥在发送方和接收方之间共享。

在密钥生成中,我们使用三个功能:

1.排列P10

2.排列P8

3.左移

步骤1:我们接受了一个10位密钥,并将这些位放入P10表中进行排列。

Key = 1 0 1 0 0 0 0 0 1 0
(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (1, 0, 1, 0, 0, 0, 0, 0, 1, 0)

P10 Permutation is: P10(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k3, k5, k2, k7, k4, k10, k1, k9, k8, k6) 
After P10, we get 1 0 0 0 0 0 1 1 0 0

步骤2:将密钥分为2个半部分,每个部分5个位。

l=1 0 0 0 0, r=0 1 1 0 0

步骤3:现在,我们在每个键上向左移一位。

l = 0 0 0 0 1, r = 1 1 0 0 0 

第4步:在第3步之后合并两个密钥,然后将它们放入P8表中以对这些比特进行置换。给定表的输出是第一个键K1。

After LS-1 combined, we get 0 0 0 0 1 1 1 0 0 0
P8 permutation is: P8(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k6, k3, k7, k4, k8, k5, k10, k9)
After P8, we get Key-1 : 1 0 1 0 0 1 0 0

步骤5:从步骤3获得的输出,即左移一位后的两半,应该再次经历两位左移的过程。

Step 3 output - l = 0 0 0 0 1, r = 1 1 0 0 0 
After two bit shift - l = 0 0 1 0 0, r = 0 0 0 1 1

步骤6:合并从步骤6获得的两半,并将它们放入P8表中进行置换。给定表的输出是第二个键K2。

After LS-2 combined = 0 0 1 0 0 0 0 0 1 1
P8 permutation is: P8(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k6, k3, k7, k4, k8, k5, k10, k9)
After P8, we get Key-2 : 0 1 0 0 0 0 1 1

最终输出:

Key-1 is: 1 0 1 0 0 1 0 0
Key-2 is: 0 1 0 0 0 0 1 1