信息与计算科学毕业论文:基于C#的文件加密器的实现.doc

上传人:一*** 文档编号:298175 上传时间:2018-09-18 格式:DOC 页数:29 大小:305.50KB
下载 相关 举报
信息与计算科学毕业论文:基于C#的文件加密器的实现.doc_第1页
第1页 / 共29页
信息与计算科学毕业论文:基于C#的文件加密器的实现.doc_第2页
第2页 / 共29页
信息与计算科学毕业论文:基于C#的文件加密器的实现.doc_第3页
第3页 / 共29页
信息与计算科学毕业论文:基于C#的文件加密器的实现.doc_第4页
第4页 / 共29页
信息与计算科学毕业论文:基于C#的文件加密器的实现.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、 本科毕业论文 ( 20 届) 基于 C#的文件加密器的实现 所在学院 专业班级 信息与计算科学 学生姓名 学号 指导教师 职称 完成日期 年 月 II 摘 要 计算机技术的迅猛发展 , 方便了我们的日常生活 , 加快了工作效率 , 但是由于大量敏感信息通过公共设备或网络进行交互 , 病毒 和黑客猖獗 , 大量个人信息难免泄漏 , 信息保密已然成为了社会关注的热点之一 . 为防止信息泄漏 , 有必要设计一款机密软件对信息进行加密 . 本论文采用 C#作为开发工具 , 以 DES, AES, MD5 为主要加密算法开发出一款新的加密软件 , 主要内容包括 : 文件密码设置 , 加密文件 , 临时

2、解密文件 , 完全解密文件等 . 关键词 : C#; AES; DES; 文件加密 III Abstract The rapid development of computer technology facilitates our daily life and improves our work efficiency. However, since there exist a lot of virus and hackers, when sensitive information communicates through public device or network, the leakag

3、e for personal information is inevitable. Thus information security has become one of the most highlighted focuses nowadays. In order to prevent information leakage, it is necessary to design confidential software to encrypt the information. Using C# as a developing tool, and adopting DES, AES, MD5

4、as the main encryption algorithm, we develop new software in this paper. The system includes the settings of file password; encrypted files, temporary decryption file, and fully declassified documents, etc. Keywords: C#; AES; DES; File Encryption IV 目 录 摘 要 . 1-I Abstract . III 1 前言 . 1 1.1 加密软件现状 .

5、 1 1.2 本文工作 . 1 2 加密算法概述 . 3 2.1 加密算法的发展历史 . 3 2.2 加密算法的简介 . 3 3 文件保密方式概述 . 5 3.1 文件隐藏 . 5 3.2 文件夹伪装 . 5 3.3 头文件加密 . 5 3.4 文件完全加密 . 5 4 程序设计 . 6 4.1 功能设计 . 6 4.2 人性化设计 . 6 4.3 运行环境 . 9 4.4 开发环境 . 9 5 逻辑结构设计 . 10 5.1 结构图 . 10 5.2 流程图 . 10 6 算法分析与实现 . 13 6.1 加密算法的实现 . 13 V 6.2 密码验证的实现 . 13 6.3 文件夹隐藏与伪

6、装的实现 . 13 6.4 稳定性的增强 . 13 7 系统测试 . 15 7.1 测试的目的和意义 . 15 7.2 测试步骤 . 15 8 小结 . 16 参考文献 . 17 致谢 .错误 !未定义书签。 附件 . 18 1 1 前言 21 世纪是信息时代 , 随着计算机和网络的在军事 , 政治 , 金融 , 工业 , 商业等部门的广泛应用 , 社会对计算机和网络的依赖越来越大 , 大量敏感信息通过公共设备或网络进行交互 , 病毒和黑客猖獗 , 导致大量个人信息泄漏 , 信息 保密已然成为了社会关注的热点之一 . 为防止信息泄漏 , 有必要设计一款机密软件对信息进行加密 16 . 本论文开

7、发的 系统 采用 C#作为开发工具 , 以 DES, AES, MD5 为主要加密算法 , 主要内容包括 : 文件密码设置 , 加密文件 , 临时解密文件 , 完全解密文件等 . 并且软件提供了人性化的界面 , 傻瓜式的操作 . 1.1 加密软件现状 经过这样那样的宣传 , 加密软件软件这个词汇已经是人所众知 , 并以得到大家的认可 . 说到加密软件 , 有些企业已经进行第二次加密软件开发了 . 甚 至有些企业还在主动寻求一些加密企业希望能提供一种加密解决方案解决企业信息安全问题 13 . 在这良好的前景下 , 仍然免不了 良莠不齐 的产品 , 以及一些 急功近利之徒 . 有些销售人员在不懂技

8、术的客户面前 毫无根据地自夸 , 总以为 老子天下第一 , 使得一些客户因为这样或者那样的一些原因而选择了并不适合自己的加密软件 , 不但无法保护好自己的信息财富 , 还被这些不良软件这样或者那样的问题搞得疲惫不堪 . 与此同时有些加密软件设计理念不切实际 , 使得原本简单的操作变的复杂化 , 大大 降低了企业的工作效率 , 员工苦不堪言 . 1.2 本文工作 一个好的加密软件应该简单易用 , 提供人性化的界面 , 傻瓜式的操作 . 不管是计算机相关人员 , 或者是普通人民大众都应该能马上上手 . 本文在对网上各类人群进行调查 , 并进行统计归纳 . 共归纳出三个方面的需求 . 1. 普通人民

9、大众 , 希望有一款加密软件能够让有些文件只能本人能看到其他人看不到 . 比如某某同学的女朋友的照片等 . 2. 工作人员 , 希望有一款加密软件能够对公司文件进行加密 , 在公司文件及使被盗的情况下也不会照成泄密的危险 , 并希望加密软件简单易用 , 不占资 源 . 3. 协议或者源代码等重要文件使用者 , 希望有一款加密软件能够对重要文件进行全方面加密 , 在任何情况下 , 保证其信息的安全性 . 本论文开发的系统采用多种算法 , 实现三种加密方式 , 满足不同用户的不同需求 . 第一种加密方式为伪装加密方式 , 伪装加密方式的好处是不对原来文件内容做任何处理 , 所以效2 率极快 . 非

10、常适用于普通人民大众 . 使用的方法是改变源文件属性使其成为系统保护级的隐藏文件 , 并伪装成回收站 7 . 主要应对一些不怎么重要但是又不想让人家看到的内容 . 第二种加密方式是头文件加密方式 , 此处所谓的头文件是开头部分文件内容的简称 8 . 在第一种伪装技术的基础上实现对文件开头部分文件进行加密 . 此种加密方式效率非常快 , 几十 G大小的文件也能瞬间完成 , 非常适用一些工作文件加密 . 第三种加密方式是完全加密 , 所谓完全加密 , 就是对整个文件毫无保留的进行加密 , 其是本论文开发的加密软件中对文件加密最彻底的一种方法 , 优点是文件加密的完整性 , 由于对整个文件进行了完整

11、加密所以其存在效率不高的缺点 910 . 此种加密算法非常适用少量重要文件加密 . 在完成以上功能的同时 , 本文所开发的系统拥有以下几点特色 : 1. 头文件加密技术 , 此处所谓的头文件是开头部分文件内容的简称 . 此技术实现对文件开头部分文件以二进制流的方式进行加密 . 使加密时间与文件空间大小成正比改变为加密时间与文件个数成正比 , 大大降低了文件加密所需时间 , 提高了文件加密效率 1 . 2. 分段加密技术 , 此技术解决了加密大文件时 , 系统内存占用高的缺点 , 降低了内存空间使用 , 使 得加密算法在时间和空间上得到统一优化 . 3. 自动识别加密类型 , 解密时无需手工判断

12、加密类型 , 只需输入密码即可实现解密 . 4. 加密状态保留 , 解密之后加密状态得到保留 , 通过程序运行时保存临时性的密码和加密级别来实现简单的按下一个按钮就可以达到加密恢复加密状态的功能 . 3 2 加密算法概述 2.1 加密算法的发展历史 随着信息的日益重要 , 加密算法从无到有 , 从整个发展进程来看大致可分为三个阶段 . 1949 年以前 , 这个时期的加密算法还很简单 , 许多加密算法都是很不安全的 . 基本上以一些字谜为主 , 所以这个时期所用的密码被称为古 典密码 . 随着西方工业革命的到来以及战争的需要 , 密码学进入了逻辑机械时代 , 至此加密算法有了突破性的发展 .

13、主要的加密算法有置换 , 替代和代数 . 其中代数加密算法是由美国电话电报公司的 Gillbert Vernam 于 1917年发明的 , 此加密算法奠定了序列密码的基础 , 在以后的通讯系统和计算机上得到广泛的应用 1 . 1949 至 1975 年期间 , 这一期间计算机技术迅猛发展 , 由于计算机计算能力大幅度提升 , 使得基于计算机的加密算法实现成为可能 . 虽然这个时期 的加密算法还是基于替代和置换思想 , 但是由于计算机高计算能力的运用使得加密算法的复杂度和安全性非古典密码时期所能比拟的 . 可以说是计算机将加密技术从机械时代提升到了电子时代 2 . 1976 年至今 , 随着计算

14、机网络的日益发展 , 信息保密日趋重要 . 加密算法百花齐放 . 从1977 美国制定 DES 为数据加密标准到 1997 年新标准 AES 的出现 . 密码学日新月异 3 . 2.2 加密算法的简介 每个优秀的加密软件身后都有一个稳固加密算 法 . 不管什么加密软件 , 加密算法多是她的灵魂 . 本论文开发的系统采用的 DES, AES, MD5 都是经过历史考验的加密算法 . DES加密算法是一种分组加密算法 , 以 64为为分组对数据进行加密 . DES还是一个对称算法 , 加密解密可以用同一个算法 . 它的特点在于 : 采用了分组方式 , 所以密文截获者在没有得到每一组的全部密文前 ,

15、 不可能得到它的明码 . 另一方面 , DES 加密函数 f 是一个非常复杂的变换 , 其中包括扩展置换 , 按位异或 , s 盒置换以及 P 盒置换 , 在没有公布它的函数的前提下没有人能够得到它的函数变 换 . 本论文开发的系统采用另外的一种加密算法 AES, 又称 Rijndael加密法 , 其 是分组密钥 , 输入数据和密钥长度都是 128 位 . 用 Nr 表示一个数据分组所需加密的论数 , 每一轮都需要输入分组数据长度与扩展密钥的长度相同 . 由于外部输入的加密密钥 K长度往往有限 , 为了获得更长的比特串一般在算法中都要使用一个密钥扩展程序对外部密钥 K 进行扩展 . 其特4 点

16、是对内存要求极低 , 即使在硬件条件限制比较大的情况下也能获得很好的性能 , 从而使得AES 加密算法在对数据提供保护的同时不会对性能产生较大的影响 , 并且其优异的 算法使其成为了最能抵抗能量和时间攻击的算法之一 . 本论文开发的系统密码验证模块采用双重加密算法 , 主要采用的是 MD5 加密算法 . MD5 加密算法是一种不可逆的加密算法 , 所谓不可逆就是说输入数据得到输出数据之后 , 不能够再从输出数据得到到输入数据 . 此种算法用于验证密钥的对错再好不过了 . 5 3 文件保密方式概述 3.1 文件隐藏 文件隐藏是指通过修改文件隐藏属性达到文件隐藏的目的 , 最高级别隐藏方式是系统文

17、件隐藏 . 3.2 文件夹伪装 在系统中无论怎么隐藏都可以被显隐 , 另一种比隐藏更高级的保密方式是文件夹伪装 , 文件夹伪装 是指通过修改文件夹后缀名或者修改配置文件来实现文件夹模拟其他文件的一种方法 . 例如 , 把文件夹伪装成回收站 , 别人就相当不容易发现 , 从而达到保密的目的 . 3.3 头文件加密 前两种保密方式都是在不对需保密文件进行修改的情况下进行保密 , 此种保密方式存在保密程度低 , 容易被发现等问题 . 头文件加密通过加密文件头部分 , 使加密后的文件打开报错的 , 从而达到文件内容保密的效果 . 头文件加密保密方法优点是执行效率高 , 几十 G大小的文件基本上是瞬间完成 . 缺点是只对文件进行了部分加密 , 所以无法对流文件进行加密 . 3.4 文件完全加密 文件完全加密是一种通过加密算法对文件进行彻彻底底加密的一种保密方式 , 其具有安全 , 可靠 , 高保密度等特点 . 在拥有大量优点的同时 , 它拥有一个致命的缺点 , 那就是加密效率底下 , 在进行几十 G 大小的文件加密时 , 其往往需要几十分钟(电脑配置越高时间越少)时间才能完成加密过程 .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。