8086汇编实现 加密解密软件

一:题目描述

              西安邮电大学第七届汇编语言程序设计竞赛题目 	
一、题目名称:
    加密解密软件的设计与实现
二、题目要求:
    1、采用8086汇编语言,设计并实现一个加密解密软件。
    能利用软件中的加密功能,将待加密的文件数据变换为密文,利用解密功能,将密文还原为原文件数据。软件可针对某一种或某几种类型文件进行加密/解密;也可设计为通用加密/解密软件。
    2、要求有相应的人机交互。
    能选择进行加密或解密;能输入待加密/解密的文件名(包括路径及文件名);能由用户输入加密/解密密钥。
    3、主要功能要求:能实现文件的加密/解密。
    可自行设计加密解密算法,或采用经典的加密/解密算法,如 DES、AES、MD5等;可设计为通用加密/解密软件,也可针对某一种或某几种类型文件进行加密/解密。
    4. 创新:
    本次汇编竞赛支持创新,即提交的作品可以不限于以上主题,但必须保证原创性。
三、格式要求:
    1、程序设计报告:
    包括:整体设计结构框图,各子模块设计框图;各个任务模块的完成情况;任务调度程序的完成情况;整个系统联调的完成情况。
    特别提醒:报告中要有加密解密程序运行过程的详尽截图,以及运行结果的详细截图。
    2、源程序:
    要求:格式规整;每个功能模块和主要代码处需有注释。
四、注意事项:
    1、本次竞赛需上传的电子版文档有:加密解密软件汇编语言源程序,待加密文件,汇编连接后产生的exe文件,以及竞赛设计报告的word文档。设计报告还需提交一份纸质版,详见竞赛规程。
    2、本次竞赛可使用的软件工具为:Masm.exe, Link.exe,Debug.exe, Debug.com ,Edit.com,记事本。
     

二:设计思路

http://www.yangbodong.cn/asm.pdf

三:程序代码

备注:马辉同学完成文件读写操作,我完成加密解密算法。

https://github.com/yangbodong22011/asm/blob/master/encry.asm

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
第一课 基本概念 -------------------------------------------------------------------------------- 我们先假设您已知道了如何使用MASM。如果您还不知道的话,请下载 win32asm.exe ,并请仔细研读其中所附带的文档资料。好,如果您已准备就绪,我们这就开始吧! 理论: WIN32 程序运行在保护模式下的,保护模式的历史可以追溯到 80286。而今 80286 已成为了历史。所以我们将只把精力集中于 80386 及后续的X86 系列 CPU。Windows 把每一个 Win32 应用程序放到分开的虚拟地址空间中去运行,也就是说每一个应用程序都拥有其相互独立的 4GB 地址空间,当然这倒不是说它们都拥有 4GB 的物理地址空间,而只是说能够在 4GB 的范围内寻址。操作系统将会在应用程序运行时完成 4GB 的虚拟地址和物理内存地址间的转换。这就要求编写应用程序时必须格守 Windows 的规范,否则极易引起内存的保护模式错误。而过去的 Win16 内存模式下,所有的应用程序都运行于同一个 4GB 地址空间,它们可以彼此"看"到别的程序的内容,这极易导致一个应用程序破坏另一个应用程序甚至是操作系统的数据或代码。 和 16 位 Windows 下的把代码分成 DATA,CODE 等段的内存模式不同,WIN32 只有一种内存模式,即 FLAT 模式,意思是"平坦"的内存模式,再没有 64K 的段大小限制,所有的 WIN32 的应用程序运行在一个连续、平坦、巨大的 4GB 的空间中。这同时也意味着您无须和段寄存器打交道,您可以用任意的段寄存器寻址任意的地址空间,这对于程序员来说是非常方便的,这也使得用32位汇编语言和用C语言一样方便。 在Win32下编程,有许多重要的规则需要遵守。有一条很重要的是:Windows 在内部频繁使用 ESI,EDI,EBP,EBX 寄存器,而且并不去检测这些寄存器的值是否被更改,这样当您要使用这些寄存器时必须先保存它们的值,待用完后再恢复它们,一个最显著的应用例子就是 Windows 的 CallBack 函数中。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨博东的博客

请我喝瓶可乐鼓励下~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值