您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 房地产 > 加密解密程序设计课程设计说明书
学号:0121011360501课程设计题目加密解密程序设计学院自动化学院专业自动化专业班级自动化1005班姓名王建华指导教师向馗副教授2013年1月10日课程设计任务书学生姓名:王建华专业班级:自动化1005班指导教师:向馗副教授工作单位:自动化学院题目:加密解密程序设计初始条件:掌握8086汇编语言程序设计方法,设计不同的加密算法并完成对数据的加密和解密工作。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.程序运行后,首先显示‘PleaseInputData:’,并响铃一声,然后从键盘接受以字母开始的101个字节型数据,若首字母为‘E’,则将后续的100个数据进行加密后,显示在屏幕上;若首字母为‘R’,则将后续的100个数据解密,并显示在屏幕上。2.撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。时间安排:2012年12月30日-----12月31日查阅资料及方案设计2013年01月01日-----01月05日编程2013年01月06日-----06月08日调试程序2013年01月09日-----01月10日撰写课程设计报告指导教师签名:2013年01月11日系主任(或责任教师)签名:年月日目录摘要...............................................................11设计任务及要求....................................................21.1程序设计任务..................................................21.2程序设计要求及目的............................................21.3需求分析......................................................22汇编语言之加密解密技术............................................32.1汇编语言简介..................................................32.2加密解密技术简介..............................................32.3加密的目的....................................................43方案设计..........................................................53.1加密方式......................................................53.2方案比较......................................................53.3设计思路......................................................54设计功能模块概述..................................................64.1程序所需模块..................................................64.2程序运行界面..................................................64.3响铃程序......................................................74.4功能选择程序..................................................74.5数据循环输入子程序............................................84.6加密过程程序..................................................94.7解密过程程序.................................................104.8退出程序.....................................................115总体程序及运行结果...............................................135.1总体程序流程图...............................................135.2程序调试.....................................................135.3程序运行结果.................................................146课程设计收获及心得体会...........................................17参考文献...........................................................18附录...............................................................19武汉理工大学《微机原理与接口技术》课程设计说明书1摘要计算机是通过执行指令序列来工作的,每种计算机都有一组指令集提供给用户使用,这组指令集称为该计算机的指令系统。8086CPU的指令系统不仅包含8位机的全部指令,而且增加了一些功能较强的16位数据处理指令,如乘法,除法指令,因而同时具有8位和16位的处理能力。汇编语言是与机器语言密切相关的,是面向机器的语言。高级语言编写的程序,会编译成机器语言在CPU中执行,如VisualC++等。由于机器语言与汇编语言是一一对应的,因此就可将机器语言转化成汇编语言,这个过程称之为反汇编。而汇编语言可能读性是比较好的,这样就可分析程序流程,解析其功能了,这个过程就是解密(俗称破解)。也就是说,解密的基础是建立在汇编语言级别上的,汇编语言是大学计算机的必修课,这方面的书籍品种很多,虽然大多书本是以DOS汇编为讲解平台,但对理解汇编指令功能是没影响的。掌握加密解密这方面技术,可以提高自己的调试技能,并且能了解他人程序思路,使自己写出更好的程序。研究解密技术有助于掌握一些系统底层知识,系统底层知识绝对是构造起大型软件的坚实基础。本次设计就是要用8086汇编语言设计一个程序,使它能够对网络信息的原始数据进行加密保护和解密使用。信息的传输则是通过公共信道这些通道基本是是不设防的,很脆弱的,很容易受到攻击和破坏,因而需要一种措施来保护我们的数据,防止被一些用心不良的人盗取或破坏。数据加密和解密功能的实现是利用对数据的ASCII码进行加减运算,使它改写为另一组数据,隐藏了原数据,使他人不能看到,从而保证了原数据的安全。加密(incode):对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密。该过程的逆过程称为解密(descode),即将该编码信息转化为明文的过程。关键词:加密解密汇编语言数据保护武汉理工大学《微机原理与接口技术》课程设计说明书2加密解密程序设计1设计任务及要求1.1程序设计任务程序运行后,首先显示‘PleaseInputData:’,并响铃一声,然后从键盘接受以字母开始的101个字节型数据,如果首字母为‘E’,则将后续的100个数据进行加密后,显示在屏幕上;如果首字母为‘R’,则将后续的100个数据解密,并显示在屏幕上。1.2程序设计要求及目的撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。程序设计的目的是通过亲自实践,亲自动手以加强和巩固课本上的知识,消除课堂上遇到的疑惑;通过课程设计培养独立动手和独立思考的能力,提高自主创新思维水平;了解和熟练汇编语言中的各种指令,学会编写汇编程序;学会查找资料,应用资料,并养成分类收藏资料的习惯。1.3需求分析(1)要求处理命令行参数。(2)基本的算术运算和逻辑位运算。(3)用汇编实现简单程序编写并调用子程序。(4)DOS功能调用中有关响铃、字符串输出的指令。(5)可执行程序的参数使用。(6)综合解决问题的能能力。武汉理工大学《微机原理与接口技术》课程设计说明书32汇编语言之加密解密技术2.1汇编语言简介汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。使用汇编语言编写的源代码,需要通过使用相应的汇编程序将它们转换成可执行的机器代码。这一过程被称为汇编过程。汇编语言采用了助记符来代表特定低级机器语言的操作。特定的汇编目标指令集可能会包括特定的操作数。许多汇编程序可以识别代表地址和常量的标签(l和符号,这样就可以用字符来代表操作数而无需采取写死的方式。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的。汇编语言不像其他大多数的程序设计语言一样被泛用于程序设计;在今天的实际应用中,它通常被应用在底层硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系統和实时运行程序都需要组合语言。2.2加密解密技术简介加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法。在安全保密中,可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。软件的加密与解密是一个迷人的研究领域,它几乎可以与任意一种计算机技术紧密结合——密码学、程序设计语言、操作系统、数据结构常用数据加密算法有:数据加密算法有很多种,按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段,古典密码算法有替代加密、置换加密;对称加密算法包括DES和人AES;非对称加密算法包括RSA、背包密码、McEliece密码、Rabin、椭圆曲线、EIigamalD-H等。目前在数据通信中使用最普遍的算法有DESDESDESDES算法、及RSARSARSARSA算法和PGP算武汉理工大学《微机原理与接口技术》课程设计说明书4法等。2.3加密的目的加密用于达到以下目的:(1)保密性:帮助保护用户的标识或数据不被读取。(2)数据完整性:帮助保护数据不被更改。(3)身份验证:确保数据发自特定的一方。(4)不可否认性:防止特定的一方否认发送过消息。为了达到这些目的,可以使用算法和惯例的组合来创建加密方案。私钥加密即对称加密对数据执行转换,使第三方无法读取该数据。此类型的加密使用单个共享的机密密钥来加密和解密数据。公钥加密即不对称加密,对数据执行转换,使第三方无法读取该数据。此类加密使用公钥/私钥对来加密和解密数据。加密签名,通过创建对特定方唯一的数字签名来帮助验证数据是否发自特定方。加密哈希,将数据从任意长度映射为定长字节序列,哈希在统计上是唯一的;不同的双字节序列不会哈希为同一个值。学习加密解密这方面技术,对自身的提高很有好处。可以通过跟踪软件,提高自己的调试技能,并且能了解他人程序思路,使自己写出更好的程序。有助于掌握一些系统底层知识,系统底
本文标题:加密解密程序设计课程设计说明书
链接地址:https://www.777doc.com/doc-1752093 .html