- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云南大学软件学院
School of Software, Yunnan University
成绩
学 期: 2011秋季学期
课程名称: 密码技术
任课教师:
学生姓名:
学 号:
实验项目: 实验二 DES加密算法
联系电话:
电子邮件:
完成提交时间: 年 月 日密码技术实验报告
实验项目:实验二,第2题 实现DES对任意文件的加解密 实验要求
(内容)
实现DES对任意文件的加解密,利用控制台对所有文件(中英文文本、符号甚至任意的文件)的加解密。
加解密形式如下:
cipher -e/-d key inputfile outputfile
说明:对于加密来说,输入文件名就是明文文件,对于解密来说,输入文件名就是密文文件,注意文件读取方式和控制文件结束
控制台编程:
int main(int argc, char *argv[ ]) 实验环境
操作系统:win7
编译环境:Microsoft Visual Studio 2010 实现功能
本次实验达到了题目的要求:
实现了用DES实现控制台对任意文件的加解密,用键盘接收明文(密文)文件路径和密钥,然后再输入需要保存的密文(明文)文件路径,然后就可以把加解密后得到的密明文文件保存该路径下。程序主要采取对数据的位操作的形式,把明密文文件中的内容以字节为单位读取,每次读取8个byte共65bits,然后使用标准DES的算法依次对读取的64bits明密文进出加解密处理。
主函数的操作也充分体现了程序的可操作性和健壮性,能够让用户自己选择相应的操作,比如加密、解密以及对程序的一些基本情况说明。
但是对文件的路径的输入有比较严格的格式约束。如:盘符名:\\文件名.txt 格式错误则会导致文件打开失败,不能进行加解密操作。 数据结构
本次实验的程序较为复杂,涉及对位的操作。实验过程中用到的主要数据结构为数组和文件型指针,在实验中我定义了2个文件型指针FILE *fp1,*fp2,其中一个指向明文文件,一个指向密文文件。另外还定义了多个字符数组,如char Plainfpath[260]声明字符数组存储明文文件的文件路径,char Cipherfpath[260]声明字符数组存储密文文件的文件路径,char key[100]声明字符数组存储密钥。对于读取出来的数据均以unsigned char的类型进行处理。这个程序的实现比较复杂的是对位的操作,主要包括取位值、移位和异或等,在对位的操作还主要用到了memcpy函数对unsigned char类型的字符串进行复制,除此之外没有采用更多的数据结构。 程序流程 程序模块结构图:
函数的调用关系:
函数的接口:
void Encrypt(char *Plainfpath,char *Cipherfpath,unsigned char *Keys);//加密函数
void Decrypt(char *Cipherfpath,char *Plainfpath,unsigned char *Keys);//解密函数
void Block_Encrypt(unsigned char *Plain,unsigned char *Cipher,unsigned char *Key);//分组加密函数
void Block_Decrypt(unsigned char *Cipher,unsigned char *Plain,unsigned char *Key);//分组加密函数
void CToB(unsigned char *C_String,unsigned char *B_String);//将字符类型转换成二进制类型的函数
void BToC(unsigned char *B_String,unsigned char *C_Stri
您可能关注的文档
最近下载
- 全国大学生市场调查分析大赛优秀报告.docx
- 2024年上海市中考综合测试(物理、化学、跨学科)试题卷模拟卷(含答案解析).docx
- 小学科学地球的卫星——月球 课件.pptx VIP
- 1﹒1﹒3集合基本运算.ppt VIP
- AHRI Standard 210.240-2023 (2020)北美单元式空调能效认证.pdf VIP
- 考勤管理制度附请假调休公出等表格.doc
- 人教版八年级英语AnoldmantriedtomovethemountainsSectionA3a-3c.pptx VIP
- 热力管道支架托架图集05R417-1.pdf
- 脑血管病医院商业计划书案.pptx
- 新外研版八年级下册期中总复习课件.pptx
文档评论(0)