- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验5 des密码算法验5 des密码算法实验5 des密码算法实验5 des密码算法
实验5 DES密码算法
实验目的
通过用DES算法对实际的数据进行加密和解密来深刻了解DES的运行原理。
实验原理
DES算法属于分组加密算法,即在明文加密和密文解密过程中,信息都是按照固定长度分组后进行处理的。混淆和扩散是它采用的两个最重要的安全特性。混淆是指通过密码算法使明文和密文以及密钥的关系非常复杂,无法从数学上描述或者统计。扩散是指明文和密钥中的每一位信息的变动,都会影响到密文中许多位信息的变动,从而隐藏统计上的特性,增加密码的安全。
DES算法将明文分成64位大小的众多数据块,即分组长度为64位。同时用56位密钥对64位明文信息加密,最终形成64位的密文。
需要注意的地方是掌握DES算法的16轮加、解密流程以及子密钥的产生流程。
实验环境
运行Windows或者Linux操作系统的PC机,具有TC、VC++(Windows)等C语言编译环境。
四、实验内容
1、算法分析
(1)写出DES算法的16轮加、解密流程;
(2)写出子密钥的产生流程;
2、下载DES算法的实现程序,并调用其程序对一个文件进行加密和解密,提交程序代码和执行结果。
3、调用下载的DES算法的实现程序对输入的十六进制数加密,比较输入和输出,当改变一个位时比较输出的变化,并说明原因。
五、实验步骤
1、算法分析
(1)
解密过程为加密过程的逆过程:
(2)
2、打开VC++,编写程序如下:
#include stdio.h
#include memory.h //
#include time.h
#include stdlib.h
#define PLAIN_FILE_OPEN_ERROR -1
#define KEY_FILE_OPEN_ERROR -2
#define CIPHER_FILE_OPEN_ERROR -3
#define OK 1
typedef char ElemType;
//初始置换表IP
int IP_Table[64] = { 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,
56,48,40,32,24,16,8,0,
58,50,42,34,26,18,10,2,
60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6};
//逆初始置换表IP^-1
int IP_1_Table[64] = {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,
32,0,40,8,48,16,56,24};
//扩充置换表E 32---48
int E_Table[48] = {31, 0, 1, 2, 3, 4,
3, 4, 5, 6, 7, 8,
7, 8,9,10,11,12,
11,12,13,14,15,16,
15,16,17,18,19,20,
19,20,21,22,23,24,
23,24,25,26,27,28,
27,28,29,30,31, 0};
//置换函数P
int P
您可能关注的文档
- 实验:力质量加速度的关系实:力质量加速度的关系实验:力质量加速度的关系实验:力质量加速度的关系.doc
- 实验:探究加速度实验:探究速度加速度.ppt
- 实验 (三) 项目名称:利matlab分析连续系统及离散系统的复频域特性实验 (三) 项目名称:利用matlab分析连续系统及离散系统的复频域特性实验 (三) 项目名称:利用matlab分析连续系统及离散系统的复频域特性实验 (三) 项目名称:利用matlab分析连续系统及离散系统的复频域特性.doc
- 实验:探究加速度与力、质量关系-实验室版实验:探究加速度与力、质量的关系-实验室版实验:探究加速度与力、质量的关系-实验室版实验:探究加速度与力、质量的关系-实验室版.ppt
- 实习生角色转换.ppt
- 实验:探究小车速度随时间变的规律实验:探究小车速度随时间变化的规律实验:探究小车速度随时间变化的规律实验:探究小车速度随时间变化的规律.doc
- 实验2 word与exce基本操作实验2 word与excel基本操作实验2 word与excel基本操作实验2 word与excel基本操作.doc
- 实验3 word2010文处理软件操作实验3 word2010文字处理软件操作实验3 word2010文字处理软件操作实验3 word2010文字处理软件操作.ppt
- 实验1 物理实验误差与数据理实验1 物理实验误差与数据处理实验1 物理实验误差与数据处理实验1 物理实验误差与数据处理.doc
- 实验3 中文word 203的基本操作实验3 中文word 2003的基本操作实验3 中文word 2003的基本操作实验3 中文word 2003的基本操作.doc
最近下载
- 新能源汽车动力蓄电池回收利用PPT精选文档.ppt
- 23秋国家开放大学《学前儿童音乐教育活动指导》大作业参考答案.docx
- 国开2023春《形势与政策》形考任务专题测验+国开2023春《形势与政策》大作业).docx VIP
- 一种嵌段结构的低泡聚醚及其制备方法.pdf VIP
- 七年级历史下册期末考试卷及答案.docx VIP
- 高中数学课件——-微积分基本定理.pptx
- “党纪党规教育课件.pptx VIP
- 十二经脉的归经食物,饮食养生,平衡五脏六腑,值得收藏.pdf
- 一种工艺管道预制环节SPOOL自动拆分方法.pdf VIP
- 2022-2023学年广东省深圳市宝安区七年级(下)期末考试道德与法治试题(含解析).docx VIP
文档评论(0)