1、 学学 号:号: 课课 程程 设设 计计 题题 目目 加密解密程序设计加密解密程序设计 学学 院院 自动化学院自动化学院 专专 业业 自动化自动化专业专业 班班 级级 自动化自动化 10051005 班班 姓姓 名名 指导教师指导教师 2013 年 1 月 10 日 课程设计任务书课程设计任务书 题题 目目: 加密解密程序设计加密解密程序设计 初始条件: 掌握 8086 汇编语言程序设计方法,设计不同的加密算法并完成对数据的加 密和解密工作。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明 书撰写等具体要求) 1 . 程序运行后,首先显示Please Input Data:,
2、并响铃一声,然后从键盘接 受以字母开始的 101 个字节型数据,若首字母为E,则将后续的 100 个数据进 行加密后,显示在屏幕上;若首字母为R,则将后续的 100 个数据解密,并显 示在屏幕上。 2 . 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录 (程序清单) 。正文部分包括:设计任务及要求、方案比较及论证、软件设计说 明(软件思想,流程,源程序设计及说明等) 、程序调试说明和结果分析、课程 设计收获及心得体会。 时间安排: 2012 年 12 月 30 日-12 月 31 日 查阅资料及方案设计 2013 年 01 月 01 日-01 月 05 日 编程 2013 年
3、01 月 06 日-06 月 08 日 调试程序 2013 年 01 月 09 日-01 月 10 日 撰写课程设计报告 指导教师签名:指导教师签名: 2013 年年 01 月月 11 日日 系主任(或责任教师)签名:系主任(或责任教师)签名: 年年 月月 日日 目录 摘 要. 1 1 设计任务及要求 2 1.1 程序设计任务 2 1.2 程序设计要求及目的 2 1.3 需求分析 2 2 汇编语言之加密解密技术 3 2.1 汇编语言简介 3 2.2 加密解密技术简介 3 2.3 加密的目的 4 3 方案设计 5 3.1 加密方式 5 3.2 方案比较 5 3.3 设计思路 5 4 设计功能模块
4、概述 6 4.1 程序所需模块 6 4.2 程序运行界面 6 4.3 响铃程序 7 4.4 功能选择程序 7 4.5 数据循环输入子程序 8 4.6 加密过程程序 9 4.7 解密过程程序 . 10 4.8 退出程序 . 11 5 总体程序及运行结果 . 13 5.1 总体程序流程图 . 13 5.2 程序调试 . 13 5.3 程序运行结果 . 14 6 课程设计收获及心得体会 . 17 参考文献. 18 附录. 19 1 摘 要 计算机是通过执行指令序列来工作的, 每种计算机都有一组指令集提供给用 户使用,这组指令集称为该计算机的指令系统。8086CPU 的指令系统不仅包含 8 位机的全部
5、指令,而且增加了一些功能较强的 16 位数据处理指令,如乘法,除 法指令,因而同时具有 8 位和 16 位的处理能力。汇编语言是与机器语言密切相 关的,是面向机器的语言。 高级语言编写的程序,会编译成机器语言在 CPU 中执行,如 Visual C+等。 由于机器语言与汇编语言是一一对应的,因此就可将机器语言转化成汇编语言, 这个过程称之为反汇编。而汇编语言可能读性是比较好的,这样就可分析程序流 程,解析其功能了,这个过程就是解密(俗称破解) 。也就是说,解密的基础是 建立在汇编语言级别上的,汇编语言是大学计算机的必修课,这方面的书籍品种 很多,虽然大多书本是以 DOS 汇编为讲解平台,但对理
6、解汇编指令功能是没影 响的。掌握加密解密这方面技术,可以提高自己的调试技能,并且能了解他人程 序思路,使自己写出更好的程序。研究解密技术有助于掌握一些系统底层知识, 系统底层知识绝对是构造起大型软件的坚实基础。 本次设计就是要用 8086 汇编语言设计一个程序,使它能够对网络信息的原 始数据进行加密保护和解密使用。 信息的传输则是通过公共信道这些通道基本是 是不设防的,很脆弱的,很容易受到攻击和破坏,因而需要一种措施来保护我们 的数据,防止被一些用心不良的人盗取或破坏。数据加密和解密功能的实现是利 用对数据的 ASCII 码进行加减运算,使它改写为另一组数据,隐藏了原数据, 使他人不能看到,从而保证了原数据的安全。加密(incode):对明文(可读懂的 信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密。该过程 的逆过程称为 解密(descode) ,即将该编码信息转化为明文的过程。 关键词关键词:加密解密 汇编语言 数据保护 2 加密解密程序设计 1