理论教育 DES算法及其基本思想

DES算法及其基本思想

时间:2023-10-28 理论教育 版权反馈
【摘要】:DES以算法实现快、密钥简短等特点成为现在使用非常广泛的一种加密标准。DES是一种对称加密算法,是按分组方式进行工作的算法,通过反复使用替换和换位两种基本的加密组块的方法,达到加密的目的。下面简单介绍一下这种加密算法的基本思想。可见,DES算法的核心是16轮的迭代变换过程,如图4-4所示。图4-4DES算法迭代过程示意图从图4-4可以看出,对于每轮迭代,其左、右半部的输出如下。

DES算法及其基本思想

DES(Data Encryption Standard,数据加密标准)算法是一种最为典型的对称加密算法,是美国政府在1977年采纳的数据加密标准,是由IBM公司为非机密数据加密所设计的方案,后来被国际标准局采纳为国际标准。DES以算法实现快、密钥简短等特点成为现在使用非常广泛的一种加密标准。

DES是一种对称加密算法,是按分组方式进行工作的算法,通过反复使用替换和换位两种基本的加密组块的方法,达到加密的目的。下面简单介绍一下这种加密算法的基本思想。

DES算法将输入的明文分成64位的数据组块进行加密,密钥长度为64位,有效密钥长度为56位(其他8位用于奇偶校验),其加密大致分成3个过程,分别为初始置换、16轮迭代变换和逆置换,如图4-3所示。

图4-3 DES算法加密过程示意图

首先,将64位的数据经过一个初始置换(这里记为IP变换)后,分成左右各32位两部分,进入迭代过程。在每一轮的迭代过程中,先将输入数据右半部分的32位扩展为48位,然后与由64位密钥所生成的48位的某一子密钥进行异或运算,得到的48位的结果通过S盒压缩为32位,再将这32位数据经过置换后与输入数据左半部分的32位数据异或,最后得到新一轮迭代的右半部分。同时,将该轮迭代输入数据的右半部分作为这一轮迭代输出数据的左半部分。这样,就完成了一轮的迭代。通过16轮迭代后,产生一个新的64位的数据。注意,最后一次迭代后所得结果的左半部分和右半部分不再交换。这样做的目的是为了使加密和解密可以使用同一个算法。最后,将64位的数据进行一个逆置换(记为IP-1),就得到了64位的密文。

可见,DES算法的核心是16轮的迭代变换过程,如图4-4所示。

图4-4 DES算法迭代过程示意图(www.daowen.com)

从图4-4可以看出,对于每轮迭代,其左、右半部的输出如下。

其中,i表示迭代的轮次;⊕表示按位异或运算;f是指包括扩展变换E、密钥产生、S盒压缩、置换运算P等在内的加密运算。

这样,可以将整个DES加密过程用数学符号简单表示如下。

其中,i=1,2,3,…16。

DES的解密过程和加密过程完全类似,只是在16轮的迭代过程中所使用的子密钥刚好和加密过程相反,即第一轮时使用的子密钥采用加密时最后一轮(第16轮)的子密钥,第2轮时使用的子密钥采用加密时第15轮的子密钥……最后一轮(第16轮)时使用的子密钥采用加密时第一轮的子密钥。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈