DES加密算法在高校教学中的解析

时间:2022-04-26 03:41:40

DES加密算法在高校教学中的解析

密码学是信息安全中的重要内容,因此,加密算是信息安全课堂上的重点,更是难点,然而,在教学过程中,有些加密算法并不能轻而易举地描述清楚,我从多年的教学中发现:在高校使用的教材中,几乎没有教材把DES算法描述的让学习者能通过自学掌握算法加解密的详细过程。如何才能快速且通俗易懂地讲解清楚DES算法呢?我结合教学经验加以分析。

一、主要知识点介绍

在介绍DES加密算法过程中,教师不要一开始就介绍流程图,而应先把基本概念介绍完后,接下来把算法中的几个抽象概念挖出来单独讲解,最后再整体串起来。其加密过程中主要有以下几个抽象概念。

1.初始置换IP

IP置换表的含义是:输出的第1比特是输入的第58比特,该表示方法实现方便。读者可以观察IP表会发现它的规律,即画一张8行8列的表格,把明文的二进制数顺序从表中最后一列开始上四行按2、4、6、8,下四行1、3、5、7的次序按列倒着往前写。

2.函数F(Ri-1,Ki)

函数F有两个输入:32的消息A=R(32bits)作第一个输入,48比特的子密钥J=K(48bits)作为第二个输入。产生的输出为长度为32的位串。

(1)对第一个变元A,先利用扩展函数E,扩展成48位E(A)。

3.E-盒扩展置换

扩展变换的作用是将输入的32比特数据扩展为48比特数据。

扩展方式:

(1)将输入的32比特每4比特为一组分为8块;

(2)分别将第m-1块的最右比特和第m+1块的最左比特添到第m块的左边和右边,形成输出的第k个6比特块。

4.S-盒置换

的48位比特串就变为32位了。

5.P置换

将S-盒变换后的32比特数据再进行P盒置换,置换后得到的32比特即为f函数的输出。

基本特点:

(1)P盒的各输出块的4个比特都来自不同的输入块。

(2)P盒的各输入块的4个比特都分配到不同的输出块之中。

(3)P盒的第t输出块的4个比特都不来自第t输入块。

第四步:将右半部分进行扩展置换,这样就将32位扩展为48位,这一步扩展置换是按照给定的E-盒置换表(教材中一般都有给出)进行置换。

第五步:生成第一轮子密钥,具体做法:首先把64位的密钥的第8、16、24、32、40、48、56、64删除,使之成为56位的密钥,接下来要对56位的密钥进行给定的置换选择1(PC-1)置换(教材一般有给出PC-1表)。置换后即生成56位的初始子密钥。

第六步:将上一步生成的56位初始子密钥分成左28位和右28位,然后对左右两部分分别循环移位操作。各轮移位位数按给定的移位位数表进行(教材一般有给出)。然后将移位后的左右两部分合拼回56位的位串。

第七步:将上一步合拼后的56位的密钥进行置换选择2(PC-2)置换(教材一般有给出PC-2表)。值得注意的是:该置换过程是压缩置换,也就是说输入的是56位的密钥,经过PC-2置换后会变为48位,例如:在这个过程中,处在第33位输入位置的那一位在输出时移到了第35位的位置,而处在第9、18、22、25、35、38、43、54位位置的那些位被略去了。置换后即为本轮的子密钥,再将本轮了密钥与第四步经过扩展的数据进行异或运算,得到48位比特串。

第八步:将上一步得到的48位比特串按顺序每6位分成一组,共有8组。接下来对这8组进行S-盒变换(变换表教材一般有给出)。

第九步:S-盒输出的32位数据经过给定的P置换(P置换表在教材中一般有给出),P置换后再与上一轮(在此处就是第二步中所说的L0)左32位按位异或运算,所得即为新的右半部分(在此处就是R1)。

第十步:到第九步为止,只是16轮迭代中的第一轮,在经过16轮迭代后,把得到的64位比特串进行初始逆置换(IP-1,在教材中一般有给出),便得到了64位要输出的密文。至此才算完成了一次DES加密。

DES解密过程和加密过程类似,不同的是,16轮子密钥的顺序是颠倒的,在此不再介绍。

参考文献:

[1]袁津生,吴砚农.计算机网络安全基础[M].人民邮电出版社,2004,4.

[2]戚文静,刘学.网络安全原理与应用[M].中国水利水电出版社,2005,9.

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:《计算机组装与维护》课程教学研究 下一篇:高职高专“计算机应用基础”课程实用教学方法...