密码学实验-数据加密标准DES

2020-04-17 04:18

实验报告

实验六、数据加密标准DES

实验目的:

1. 熟练掌握数据加密标准DES的算法原理及实现; 2. 掌握DES的子密钥的产生原理及其实现。

实验内容:

1、 写出DES的子密钥的产生算法及其实现。在此假定(1)密钥k的长度为2mbit;(2)所有

位直接进行置换,不进行选择,子密钥的长度仍为2mbit;(3)过程中移位都是进行右移1位。

2、 当m=8时,写出下列密钥的前3个子密钥:

(1)1111 1111 1111 1111 (2)0000 0000 0000 0000 (3)1111 0000 1111 0000 (4)1010 1010 1010 1010 (5)1101 0001 1111 0011

实验结果:

1.DES的运算可分为如下三步:

(1) 对输入分组进行固定的“初始置换”IP,可写为(L0,R0)=IP(输入分组),其中L0和R0称为“(左,右)半分组”,都是32比特的分组,IP是公开的固定的函数,无明显的密码意义。 (2) 将下面的运算迭代16轮(i=1,2,…,16):Li=Ri-1 ,Ri-1=Li-1

f(Ri-1,ki);这里ki称为轮

密钥,是56比特输入密钥的一个48比特字串,f称为S盒函数(S表示交换),是一个代换密码,目的是获得很大程度的信息扩散。

(3) 将十六轮迭代后得到的结果(L16 ,R16)输入到IP的逆置换来消除初始置换的影响,这一步的输出就是DES算法的输出,即输出分组=IP-1(R16 , L16),此处在输入IP-1之前,16轮迭代输出的两个半分组又进行了一次交换。

DES的加密与解密算法都是用上述三个步骤,不同的是如果在加密算法中使用的轮密钥为k1, k2,…, k16,则解密算法中的轮密钥就应当是k16, k15,…, k1,可记为(k1`, k2`,…, k16`)=( k16, k15,…, k1)。

在加密密钥k下,将明文消息m加密为密文c,使用DES将c在k下解密为明文,解密过程如下:(L0`,R0`)=IP(c)=IP(IP-1(R16 , L16)),即(L0`,R0`)=(R16 , L16);在第一轮中,L1`= R0`= L16 =R15,R1`=L0`

f(R0` ,k1`)= R16

f(L16 ,k1`)=[ L16

f(R15 ,k16)]

f(R15 ,k16)= L15,

即(L1`,R1`)=(R15 , L15);同样的,在接下来的15轮迭代中,可以得到(L2`,R2`)=(R14 , L14),……,(L16`,R16`)=(R0 , L0);最后一轮结束后,交换L16`和R16`,即(R16`,L16`)=( L0, R0),IP-1(L0, R0)= IP-1(IP(m))=m,解密成功。 运行程序如下所示:

总结与分析:

程序设计过程中, 进一步掌握了数据加密标准DES的算法原理及实现,理解了DES的子密钥的产生原理及其实现。并通过程序能加密解密。 附件:

Ch6 数据加密标准DES的算法的程序设计文件

注:实验结束,将所有材料打包(文件采用统一格式:sn1-学号,以后的实验资料采用类似的文件格式)压缩并发送到:hzsx2004@yahoo.com.cn


密码学实验-数据加密标准DES.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:五年级科学下册教学计划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: