实验报告封皮

时间:2024.4.30

工商学院 信息学部     密码学原理DES算法            实验报告

年级   2012      学号      2012478048   姓名       史雅楠            成绩          

专业    12信计         实验地点            指导教师     常卓    

实验项目  DES加密算法                      实验日期   2015924          

实验报告要求:

一、  实验目的

1、理解DES加密与解密的程序设计算法思想

2、编写DES加密与解密程序,实现对明文的加密与解密,加深对数据加密 与解密的理解,掌握DES加密算法思想,提高网络安全的编程能力。

 二、实验原理

 DES算法的入口参数有三个:Key、Data、Mode。其中Key為8个字节共64位,是DES算法的工作密钥;Data也為8个字节64位,是要被加密或被解密的数据;Mode為DES的工作方式有两种:加密或解密。

DES算法是这样工作的:如Mode為加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作為DES的输出结果;如Mode為解密,则用Key去把密码形式的数据Data解密,还原為Data的明码形式(64位)作為DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。

通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。   

三、实验要求

1分组加密算法DES算法过程

2多重DES算法加密过程

3算法过程中的各个变换矩阵或者S盒就

4输入输出正确,各个程序语句的注释

5加解密要求都能够正确运行

 四、实验步骤、结果(程序+注释+截图)及分析

    混乱和扩散的组合,即先代替后置换,它基于密钥作用于明文,这是一轮(round),DES在明文分组上实施16轮相同的组合技术。如下图所示:

 

    DES对64位明文分组进行操作。通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数 f,在运算过程中数据与密钥结合。经过16轮后,左、右半部分合在一起经过一个末置换(初始置换的逆置换),算法就完成了。

   在每一轮中,密钥位移位,然后再从密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作与48位密钥结合,通过 8个S盒将这48位替代成新的32位数据,再将其置换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果即成为新的左半部分。将该操作重复16次,便实现了DES的16轮运算。一轮DES如下图所示:

%E4%B8%80%E8%BD%AEDES1

  假设Bi是第i次迭代的结果,Li和Ri是Bi的左半部分和右半部分,Ki是第i轮的48位密钥,且f是实现代替、置换及密钥异或等运算的函数,那么每一轮就是:

     Li=Ri-1

     Ri=Li-1?f(Ri-1,Ki)

  1、初始置换

   初始置换在第一轮运算之前进行,对输入分组实施如下表所示的变换。初始置换把明文的第58位换到第1位的位置,把第50位换到第2位的位置,把第42位换到第3位的位置,依此类推。

58, 50, 42, 34, 26, 18, 10, 2,  60, 52, 44, 36, 28, 20, 12, 4

62, 54, 46, 38, 30, 22, 14, 6,  64, 56, 48, 40, 32, 24, 16, 8

57, 49, 41, 33, 25, 17, 9,  1,  59, 51, 43, 35, 27, 19, 11, 3

61, 53, 45, 37, 29, 21, 13, 5,  63, 55, 47, 39, 31, 23, 15, 7

初始置换和对应的末置换并不影响DES的安全性,它们的主要目的是为了更容易地将明文和密文数据以字节大小放入DES芯片中。

2、密钥置换

由于不考虑每个字节的第8位,DES的密钥由64位减至56位,每个字节第8位作为奇偶校验以确保密钥不发生错误。如下表所示:

57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18

10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36

63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22

14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4

在DES的每一轮中,从56位密钥产生出不同的48位子密钥(subkey),这些子密钥是这样确定的:

首先,56位密钥被分成两部分,每部分28位。

然后,根据轮数,这两部分分别循环左移1位或2位。每轮移动的位数如下表:

轮      1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16

位数   1  1  2  2  2  2  2  2  1   2   2    2    2    2    2    1

移动后,就从56位中选出48位。这个运算既置换了每位的顺序,也选择了子密钥,被称为压缩置换(compression permutation)。下表即定义了压缩置换:

14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10

23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2

41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48

44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32

可以看出,第33位的那一位在输出时移到了第35位,而处于第18位的那一位被忽略了。

3、扩展置换

这个运算将数据的右半部分从32位扩展到48位。这个操作两方面的目的:它产生了与密钥同长度的数据以进行异或运算;它提供了更长的结果,使得在替代运算中能进行压缩。如下图所示:%E6%89%A9%E5%B1%951

对每个4位输入分组,第1位和第4位分别表示输出分组中的两位,而第2位和第3位分别表示输出分组中的一位,下表给出了哪一输出位对应哪一输入位:

32,  1,  2,  3,  4,  5,  4,  5,  6,  7,  8,  9

8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17

16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25

24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1

处于输入分组中第3位的位置移到了输出分组中的第4位,而输入分组的第21位则移到了输出分组的第30位和第32位。尽管输出分组大于输入分组,但每一个输入分组产生唯一的输出分组。

4、S盒代替

压缩后的密钥与扩展分组异或以后,将48位的结果送入,进行代替运算。替代由8个S盒完成,每一个S盒都由6位输入,4位输出,且这8个S盒是不同的。48 位的输入被分为8个6位的分组,每一个分组对应一个S盒代替操作:分组1由S盒1操作,分组2由S盒2操作,等等。如下图所示:S%E7%9B%921

每一个S盒是一个4行、16列的表。盒中的每一项都是一个4位的数。S盒的6个位输入确定了其对应的输出在哪一行哪一列。下表列出所有8个S盒:

 S盒1:

14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7

0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8

4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0

15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13

S盒2:

15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10

3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5

0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15

13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9

S盒3:

10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8

13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1

13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7

1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12

S盒4:

7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5 ,11, 12, 4, 15

13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9

10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4

3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14

S盒5:

2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9

14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6

4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14

11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3

S盒6:

12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11

10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8

9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6

4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13

S盒7:

4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1

13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6

1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2

6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12

S盒8:

13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7

1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2

7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8

2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11

假定将S盒的6位的输入标记位b1、b2、b3、b4、b5、b6。则b1和b6组合构成了一个2位数,从0到3,它对应着表的一行。从b2到b5构成了一个4位数,从0到15,对应着表中的一列。

例如,假设第6个S盒的输入为110011,第1位和第6位组合形成了11,对应着第6个S盒的第三行,中间4位组合形成了1001,它对应着同一个S盒的第9列,S盒6在第三行第9列的数是14,则用值1110来代替110011。

这是DES算法的关键步骤,所有其他的运算都是线性的,易于分析,而S盒是非线性的,它比DES的其他任何一步提供了更好的安全性。

这个代替过程的结果是8个4位的分组,他们重新合在一起形成了一个32位的分组。

5、P盒置换

S盒代替运算的32位输出依照P盒进行置换。该置换把每输入位映射到输出位,任一位不能被映射两次,也不能被略去,下表给出了每位移至的位置:

16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10

2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4,  25

第21位移到了第4位,同时第4位移到了第31位。

最后,将P盒置换的结果与最初的64位分组的左半部分异或,然后左、右半部分交换,接着开始另一轮。

6、末置换

末置换是初始置换的逆过程。DES在最后一轮后,左半部分和右半部分并未交换,而是将两部分并在一起形成一个分组作为末置换的输入,该置换如下表如示:

40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31

38, 6, 46, 14, 54, 22, 62, 30, 37, 5, 45, 13, 53, 21, 61, 29

36, 4, 44, 12, 52, 20, 60, 28, 35, 3, 43, 11, 51, 19, 59, 27

34, 2, 42, 10, 50, 18, 58, 26, 33, 1, 41, 9, 49, 17, 57, 25

五、实验遇到的困难及解决

六、实验心得总结

                                                                                          


第二篇:11、实验报告封面


深 圳 大 学 实 验 报 告

课程名称:         工程测量          

实验项目名称:________________________

实验编号:No._________________________

    院:____________________________

年级专业:____________________________

指导教师:____________________________

    别:No._________________________

组长:___________ 学号:______________

组员:___________ 学号:______________

      ___________       ______________

      ___________       ______________

      ___________       ______________

      ___________       ______________

  间:_________________

报告提交时间:_________________

教务处制

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

    2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

更多相关推荐:
实验报告封皮

东北师范大学研究生实验报告实验项目名称课程名称姓名学号专业年级院所年月日研究生实验报告评价标准

实验报告样式封面

实实验课程学生姓名学号专业班级验报告目录实验一建筑CAD操作系统实验二AutoCAD的基本绘制命令编辑命令与操作实验三实验四实验五实验六实验七实验八绘制二维建筑总平面渲染图绘制建筑总平面图和建筑局部大样图Aut...

实验报告的统一要求与封面格式-11

实验报告要求20xx1030一实验报告内容与要求1按照自己所做实验的次序撰写实验报告1实验内容2总体方案和设计流程3程序清单每个程序必须有详细的注释按照软件工程要求实验报告最后页总结你做本门课程实验的心得体会提...

实验报告封面及报告

重庆交通大学学生实验报告实验课程名称开课实验室学院年级学生姓名学号开课时间至学年第学期交通经济管理实验教学示范中心实验报告20至20学年第学期周

实验报告封面及样本(2)

编号实验报告实验课程名称商业银行经营管理专业班级12学号学生姓名实验指导教师浙江大学城市学院实验报告纸实验名称银行综合业务实训2银行对公模块指导老师成绩专业班级姓名学号一实验目的和要求1目的培养金融专业学生综合...

实验报告书封面

实验报告名称姓名学号年级专业10会计学教改班20xx年1月1日成绩评语指导教师签名实验一股票系数的估计与应用实验时间20xx20xx1第18周实验地点福州大学经管北楼506实验工具锐思股票收益数据和Micros...

实验报告册封面

河南省高等教育自学考试实验报告册汽车检测与维修专业本科物理工市地考生姓名准考证号河南科技大学高等教育自学考试办公室年月注意事项1各助考单位可就近选择定点实验单位安排考生完成实验任务定点实验单位必须根据自身实验条...

实验报告封面

深圳大学实验报告学报告学提交时间附原始数据以上各页如不够可另附页蓝色字体部分不要打印第一页的正反面必须打印后填写其他各页只需按黑色字体提示的顺序做即可不需拘泥于表格注意1完成的数据经指导老师签字才有效2完成实验...

学生实验报告封皮格式

河南机电高等专科学校学生实验报告实验课程名称模拟电子技术开课实验室电子技术实验室系部年级学生姓名号开课时间至学年第学期常用电子仪器使用实验报告单级晶体管放大电路实验报告集成运算放大器应用比例运算放大器实验报告实...

哈尔滨工程大学实验报告封皮(A4)

实验报告哈尔滨工程大学教务处制实验报告相关要求实验是理论联系实际的重要环节实验报告必须在科学实验的基础上进行实验报告的撰写是知识系统化的吸收和升华的过程实验报告应该体现完整性规范性正确性有效性现将撰写实验报告的...

汇编实验报告封面与目录模板

实实验课程学生姓名学号专业班级验报告计算机科学与技术144班年月日目录一实验一初级程序的编写与调试页码二实验二分支程序与循环程序页码三实验三子程序实验页码

大学物理实验报告的封面及模版

深圳大学实验报告课程名称大学物理实验一实验名称基础测量实验学院机电与控制工程学院指导教师何晓微黄德云报告人林桂源组号14学号20xx110314实验地点科技楼906实验时间20xx年4月1日提交时间12345

实验报告封皮(40篇)