欢迎来到天天文库
浏览记录
ID:6819236
大小:126.00 KB
页数:15页
时间:2018-01-27
《课程设计(论文)-des加密解密的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Xian成都信息工程学院课程设计报告DES加密解密的实现课程名称:应用密码算法程序设计学生姓名:学生学号:专业班级:信息安全2008级3班任课教师:2010年11月5日附件:课程设计成绩评价表指导老师评阅成绩表学习与工作态度(30%)选题意义(10%)文献综述(10%)研究水平与设计能力(20%)课程设计说明说(论文)撰写质量(20%)设计创新(10%)总分指导老师签名:年月日课程设计答辩记录及评价表学生讲述情况教师主要提问记录学生回答问题情况答辩评分评分项目分值评价参考标准评分总分优良中及格差选题意义1098764文献综述1098764研究水平与设计能力201917
2、151310课程设计说明书(论文)撰写质量201917151310设计创新1098764答辩效果302825221915答辩小组成员签名答辩小组组长签名:年月日课程设计成绩评定表成绩汇总评分项目评分比例分数课程设计总分指导老师评分50%答辩小组评分50%目录1.背景与意义32.系统设计42.1系统主要目标42.2主要软件需求(运行环境)42.3功能模块与系统结构42.3.1密钥模块42.3.2加密模块52.3.3解密模块53系统功能程序设计53.1基本要求部分53.1.1初始置换IP53.1.2E盒扩展63.1.3与密钥进行异或63.1.4S盒变换63.1.5P置换运
3、算73.1.6与左32位进行异或73.1.7逆IP置换83.1.8Des加密函数83.1.9密钥交换93.1.10Decode()解密函数103.2较高要求部分113.2.1分组加密实现113.2.2明文分组最后分组的填充113.3程序界面预览124.测试报告124.1密钥中间过程124,2加密过程中的各步结果134.3解密过程中的各步结果135结论14参考文献141.背景与意义DES是由美国IBM公司于20世纪70年代中期的密码算法发展而来的,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可。在过去近20年的时间里,DES被广泛应用于美国联邦
4、和各种商业信息的安全保密工作中,经受信了各种密码分析和攻击,体现出了令人满意的字全性。但随着密码分析技术和计算能力的提高,1994年,美国决定不再使用DES算法,目前DES算法已被更为安全的加解密算法取代。虽然这样,但是目前还无法将DES加密算法彻底破解掉,而且DES算法的加解密算法非常快,仍是目前使用最为普遍的对称密码算法。在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡、加汕站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡人的PIN码加密伟输,IC卡与POS机之间的双向认证、金融交易数据包的MAC校验等,均用
5、到DES算法。2.系统设计2.1系统主要目标基本要求部分:1.能够对一个明文分组进行加密,加密后能够正确解密。2.程序运行时可以输出任一组密钥。因为实现了对任意长度明加密,所以没输出每一轮加密后的结果。因为当明文长度过长时,每一轮加密结果会很多。3.程序有良好的人机交互操作;较高要求部分:1.如果明文不止一个分组,程序能完成分组,然后加密;最后一个分组长度不足时要求完成填充;2.密钥采用ASCII码,明文输入信息可以是文字(可以是汉字或英文,要求不止一个加密分组长度),任意字符。进行加密后,能够进行正确的解密;3.程序代码有比较好的结构,模块划分合理,用类进行封装,通
6、过调用类的成员函数实现加密解密功能。2.2主要软件需求(运行环境)本软件用C#语言编写,编写时所用的工具主要是VisualStudio。编辑成功后的.EXE文件可以在装有windows系统的任何计算机上使用。测试平台:WindowsXPProfessional使用软件:MicrosoftVisualStudio20052.3功能模块与系统结构该软件由三个模块构成;2.3.1密钥模块privatevoidKey(stringstr)//此函数用来获取密钥的数组str是密钥字符串,最后得到钥密二进制数组.用一个类成员数组key来存放。privatevoidKeyBuild
7、()//此函数用来构造16轮子密钥privatevoidKeycreate(int[]midkey2,intmovebit,intn)//此函数用来实现循环左移,同时进行PC2置换上面二个函数用来产生16轮密钥,最后存放在类成员二维数组keyArray中。privatevoidShowKey()//此函数用来显示密钥2.3.2加密模块privatevoidbutton2_Click(objectsender,EventArgse)//加密事件加密事件包含了ArrayDes()函数;privatevoidArrayDes()//此函数用来对明文分组加密
此文档下载收益归作者所有