加密解密程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
题目加密解密程序设计
学院自动化学院
专业电气工程及其自动化班级
姓名
指导教师
年月9 日
课程设计任务书
学生姓名:专业班级:
指导教师:工作单位:自动化学院
题目:加密解密程序设计
初始条件:
掌握8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1. 定义显示界面。
2. 调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。
3. 将存在系统内存区的时间数用数字式或指针式钟表的形式显示出来。
4. 获取键盘的按键值,判断键值并退出系统。
5. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。
时间安排:
12月26日-----12月28日查阅资料及方案设计
12月29日----- 1月 2 日编程
1月3日----- 1月7日调试程序
1月8日----- 1月9日撰写课程设计报告
指导教师签名:年月日
系主任(或责任教师)签名:年月日
目录
摘要 (1)
1设计任务及要求 (2)
1.1 加密解密设计的意义 (2)
1.2 程序设计任务 (2)
2 加密方法及方案比较 (3)
2.1 加密方法 (3)
2.2 加密方案及比较 (3)
3 加密解密设计流程及描述 (5)
3.1程序所需模块 (5)
3.2程序运行界面 (5)
3.3响铃程序 (6)
3.4功能选择程序 (6)
3.5数据循环输入子程序 (7)
3.6加密过程程序 (8)
3.7解密过程程序 (9)
3.8退出程序 (10)
3.9总体程序流程图 (11)
4 程序调试说明和结果分析 (12)
4.1 程序调试 (12)
4.2 程序运行结果 (12)
5 心得体会 (15)
参考文献 (16)
附录:设计原程序 (17)
本科生课程设计成绩评定
摘要
本次课程设计是需要通过掌握的8086汇编语言程序设计方法,设计出一个用于加密和解密的软件程序。程序运行后,首先显示‘Please Input Data:‟,并响铃一声,然后从键盘接受以字母开始的201个字节型数据,若首字母为‘E’,则将后续的200个数据进行加密后,显示在屏幕上;若首字母为‘R’,则将后续的200个数据解密,并显示在屏幕上。数据加密和解密功能的实现是利用对数据的ASCII码进行加减运算,使它改写为另一组数据,隐藏了原数据,使他人不能看到,从而保证了原数据的安全。
关键字:加密;解密;保证安全
1设计任务及要求
1.1加密解密设计的意义
当今的社会已经进入一个充满竞争的时代,同时也是一个信息知识化和知识产权化的时代,信息的取得方式来源和取得信息的多少都很大程度上成为了我们能否更顺利更优秀得完成工作而在激烈的竞争中取得胜利的关键所在,所以势必有很多私人的信息需要实行安全措施,并进行必要的保密工作,这就要用到加密程序,而当我们需要用到这些信息,并从加密系统中提取出来时,就要用到解密程序,也就是我们将要设计的加密和解密环节。
加密解密系统是目前运用最广泛和最重要的应用系统之一。在工作中,我们需要通过加密解密技术对工作中出现的对所在单位非常重要且需要十分保密的资料或文件进行加密,以确保自身的利益不被侵害;在生活中,密码箱也很有用处,而其原理正式加密解密环节;在军事上,为了更好的保护自己,保留更多的军事科学技术为我方所用,并且不让对手过于了解我方攻防战略战术和武器装备,需要对相关资料进行设置安全保护。可以看到,当今社会的方方面面已经越来越需要使用到加密和解密的装置来帮助我们更好的管理自己的生活,处理自己的工作,国家更是需要有安全保障才能越发强大,因此,加密解密系统的优良是完成生产生活的重要任务之一。
1.2程序设计任务
程序运行后,首先显示…Please Input Data:‟,并响铃一声,然后从键盘接受以字母开始的101个字节型数据,如果首字母为…E‟,则将后续的200个数据进行加密后,显示在屏幕上;如果首字母为…R‟,则将后续的200个数据解密,并显示在屏幕上。
撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计心得体会。
2 加密方法及方案比较
2.1 加密方法
加密系统需要涉及到明码(clear code)和暗码(dim code)之间的转换,明码就是当我们准备进行加密操作时被加密的字符数据,一般由键盘等输入设备输入给计算机;暗码则是明码被加密后变成的数据,明码和暗码是通过算法(algorithm)来进行转换的,而转化过程就是加密和解密的过程,很明显,加密和解密的算法是一一对应的,是一对反运算,在加密解密中叫做“对称算法”(symmetrical algorithm),加密解密环节的安全系数也主要取决于设计的算法,主要是防范用穷举法,debug法等破译方法。所以选择合适的算法是建立成熟可靠,安全性好的加密解密环节的关键所在。
常用数据加密算法有:数据加密算法有很多种,按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段,古典密码算法有替代加密、置换加密;对称加密算法包括DES和人AES;非对称加密算法包括RSA、背包密码、McEliece密码、Rabin、椭圆曲线、EIigamal D-H等。目前在数据通信中使用最普遍的算法有DESDESDESDES
算法、及RSARSARSARSA算法和PGP算法等。
2.2 加密方案及比较
方案一:对需要加密的数据进行分类,数字则减1加密,字母则加3加密,得到加密后的数据,解密只需对数字加1,字母减3,并通过DOS调用将所得结果显示在屏幕上。
方案二:加密时将输入的字符乘以二再和0FFH取异或;解密是将输入的字符除以二再和0FFH取异或。并通过DOS调用将所得结果显示在屏幕上。
比较:对数据进行异或加密容易超出字母和数字表示范围,产生特殊符号和图案,不易控制,这次设计主要针对普通数字和字母的加密,因此方案一比较适合。
本次设计主要针对输入的数字和字母进行加减加密,采用的方法为输入数据后,若第一个数据为E则把E后面的数字减1字母加3做为加密后的数据,若要对一组数据解密,则输入R并在其后输入想要解密的数据,程序运行后便会还原数据,得到解密后的数据。加密过程中会由于加密后数据超出数字或字符可以表示的范围,数子9加1后超出范围,