实现文件简单的加密和解密学士学位论文
实验五文件数据加密与解密

实验五文件数据加密与解密1.实验目的(1)练习数据加密与解密的实现方法。
(2)练习将加密数据保存到文件中的方法。
(3)练习从文件中读取加密后的数据的方法。
2.建议用时建议用4小时完成本实验,或者根据自己的理解情况调整实际需要的时间。
3.实验内容设计一个Windows应用程序,实现下面的功能。
(1)使用某种加密算法加密窗体上TextBox控件中显示的文字,然后将其保存到文本文件MyData.txt中。
(2)程序运行时,首先自动判断加密后的文件是否存在,如果文件存在,则根据加密密钥对加密内容进行解密,并将解密后的结果显示在窗体的TextBox控件中。
4.实验步骤提示要顺利完成本实验,需要解决4个问题:一是采用哪种算法进行加密;二是如何将加密后的数据保存到文件中;三是如何保存加密密钥;四是如何将加密后的内容读取出来并进行解密处理。
由于只有知道加密密钥才能进行解密,而实验中要求程序开始运行时就判断是否有加密后的文件,并对文件进行解密。
因此如何在加密的同时将加密密钥也保存下来是完成本实验的关键。
这个实验的实现方法有多种,参考解答仅仅是其中比较简单的一种。
具体实现方法可以按照下面的步骤进行。
(1)创建一个名为DataEncrypt的Windows应用程序,在【解决方案资源管理器】中,将Form1.cs换名为FormMain.cs。
(2)从【工具箱】中向设计窗体拖放一个TextBox控件、一个【保存】按钮和一个【打开】按钮。
界面设计效果如图1-15所示。
图5-1 界面设计(3)在【保存】按钮的Click事件代码中,创建MyData.txt文件,先将加密密钥写入文件中,然后再写入加密后的文本内容。
参考代码如下。
private void buttonSave_Click(object sender, EventArgs e){TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();try{FileStream fileStream = File.Open(fileName, FileMode.Create);fileStream.WriteByte(Convert.ToByte(tdes.Key.Length));fileStream.Write(tdes.Key, 0, tdes.Key.Length);fileStream.WriteByte(Convert.ToByte(tdes.IV.Length));fileStream.Write(tdes.IV, 0, tdes.IV.Length);CryptoStream cryptoStream = new CryptoStream(fileStream,tdes.CreateEncryptor(tdes.Key, tdes.IV),CryptoStreamMode.Write);StreamWriter streamWriter = new StreamWriter(cryptoStream);streamWriter.Write(textBox1.Text);streamWriter.Close();cryptoStream.Close();fileStream.Close();textBox1.Text = "";MessageBox.Show("保存成功");}catch (Exception err){MessageBox.Show(err.Message, "出错");}}(4)编写一个DecryptFromFile方法,先读出加密密钥,再读出加密后的文本,并根据读出的密钥进行解密,然后将解密结果显示出来。
计算机加密论文3900字_计算机加密毕业论文范文模板

计算机加密论文3900字_计算机加密毕业论文范文模板计算机加密论文3900字(一):计算机网络安全中数据加密技术的应用论文摘要:互联网络改变了人们的生活方式和生活习惯,推动了科技经济的发展进程。
然而,计算机网络为我们供了便利的同时,也对网络数据的安全传输、储存工作构成了一定的威胁。
鉴于此,本文首先介绍了数据加密技术的基本概念,并简要分析了影响计算机网络安全的因素,并提出了数据加密技术在计算机网络安全中的应用对策,以期为我国网络加密技术贡献一点微薄的力量,促进我国互联网行业领域的健康发展。
关键词:计算机网络安全;数据加密技术;应用;探析在科学技术飞速发展的今天,数据加密技术逐渐成为了计算机信息数据发展的主流趋势,如何高效应用数据加密技术也成为了备受人们关注的热点问题。
计算机网络技术已经渗透到了人们工作、生活的方方面面,为人们带来了极大的便利条件。
数据加密技术可以对现有的网络数据进行整合、加密,并对数据的查看人员、接收人员进行严格的筛选和过滤,以此确保网络信息传输的安全度和精准度。
1、数据加密技术概述1.1数据加密技术的基本概念数据加密技术是针对互联网信息数据提出的一种现代化密码技术,其作用原理是通过安全密钥,将数据在明文、密文之间相互转化,以此实现对重要数据的保密传输工作。
首先,信息方需要先对数据设置加密函数,或通过在数据上添加密钥等方式,将需要被保护的数据转化为一种没有真实含义的密文,当对方成功接受密文之后,再使用相应的密钥和解密函数,将密文转回原本的明文。
在数据信息安全备受关注的今天,合理应用数据加密技术,可以有效防范不法分子、恶意操作人员对信息数据作出拦截、窃取、篡改等行为,消除了网络信息传输中的部分不安全因素,有助于营造安全、合理的网络信息环境。
1.2数据加密技术的分类根据作用原理、作用过程的不同,数据加密技术可大致分为以下两种类型:(1)存储加密技术:该技术利用密文对数据信息进行合理的储存,以此消除数据储存过程中不必要的安全隐患。
文件加密解密论文

武汉工程大学计算机科学与工程学院综合设计报告设计名称:软件工程技能训练设计题目:加密解密工具的设计学生学号:0705060117专业班级:07双特(1)班学生姓名:舒欢学生成绩:指导教师(职称):胡宏银(副教授)课题工作时间:2010/5/24 至2010/6/25说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
成绩评定表学生姓名:舒欢学号:0705060117 班级07双特(1)班答辩记录表指导教师评语武汉工程大学计算机科学与工程学院综合设计报告目录摘要 .......................................................... I I Abstract ......................................................... I II 第一章绪论 .. (1)1.1设计背景 (1)1.2设计目的 (1)1.3 设计基本原理 (2)第二章设计简介及设计方案论述 (3)2.1 需求分析 (3)2.2 总体设计框架 (3)2.3信息加密技术简介 (4)2.3.1加密解密技术摡述 (4)2.3.2 加密算法 (4)第三章详细设计 (5)3.1 界面设计 (5)3.1.1 加密解密界面设计 (5)3.1.2 加密密钥界面设计 (7)3.1.2 解密密钥界面设计 (8)3.2实现代码设计 (9)3.2.1 DES的加密设计 (9)3.2.2 DES解密设计 (11)第四章设计结果及分析 (12)4.1 设计结果展示 (12)4.2 设计结果分析及说明 (15)总结 (16)致谢 (17)参考文献 (18)日记 (19)摘要伴随着网络技术的发展,人们的网络活动也越来越频繁,随之而来的安全性的要求也就越来越高,应用信息加密技术,保证了人们在网络活动中对自己的信息和一些相关资料的保密的要求,保证了网络的安全性和保密性。
加密与解密算法研究论文

加密与解密算法研究论文摘要:计算机信息的保密问题显得越来越重要,无论是个人信息通信还是电子商务发展,都迫切需要保证Internet网上信息传输的安全,需要保证信息安全。
其中,信息安全的核心是密码技术。
关键词:信息安全密码技术方案论证应用1.对称密码体制对称密码体制是一种传统密码体制,也称为私钥密码体制。
在对称加密系统中,加密和解密采用相同的密钥。
因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。
对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。
但是对于大型网络,当用户群很大,分布很广时,密钥的分配和保存就成了问题。
2.非对称密码体制非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。
在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥向公众公开,谁都可以使用,解密密钥只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,故其可称为公钥密码体制。
如果一个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息。
私钥是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。
3.目的和意义(1)解决大规模网络应用中密钥的分发和管理问题采用分组密码、序列密码等对称密码体制时,加解密双方所用的密钥都是秘密的,而且需要定期更换,新的密钥总是要通过某种秘密渠道分配给使用方,在传递的过程中,稍有不慎,就容易泄露。
公钥密码加密密钥通常是公开的,而解密密钥是秘密的,由用户自己保存,不需要往返交换和传递,大大减少了密钥泄露的危险性。
同时,在网络通信中使用对称密码体制时,网络内任何两个用户都需要使用互不相同的密钥,只有这样,才能保证不被第三方窃听,因而N 个用户就要使用N(N–1)/2个密钥。
采用公钥密码体制,N个用户只需要产生N对密钥。
毕业设计(论文)-USB KEY文件加密系统的设计与实现

USB KEY 文件加密系统的设计与实现摘要随着信息技术的飞速发展,文件的安全性越来越被重视。
为了实现对个人重要信息的加密,防止别人窃取个人的文件信息,提高文件的安全性,文件加密成为了一个重要的课题。
本设计为了解决用户记忆烦琐的密码问题,以软、硬件相结合的方式,实现了文件加密和解密的功能。
具有操作简单、稳定性高、兼容性好、速度快等特点。
该系统使用Rockey2加密锁,用Delphi进行开发。
本系统分为两部分,一部分是文件的加密解密;另一部分是加密锁的管理工具。
后一部分由本人完成。
本文主要介绍了USB KEY文件加密工具的总体设计和详细设计思路以及应用和编码。
在总体设计中主要介绍了设计该工具的需求分析、系统的选型、以及Rockey2加密锁的介绍。
在详细设计中主要介绍了系统功能的分析、Rockey2加密锁的内存分配、以及数据库的相关设计。
在应用和编码部分主要介绍了硬件的安装,初始化、写用户名和密码的应用和编码,管理界面的设计以及数据库的相关操作。
最后介绍了系统的不足以及改进方案。
关键字:USB;加密;Delphi;管理The Files Encryption Tool Based on USB-KEY——USB -KEY Management SystemAbstractWith the rapid development of IT, the security of the files has been increasingly attention. To implement encryption for important personal information, preventing others that steal personal information, improving the security of the document, encryption has been a very important topic.This design aims to solve the problem that users passwords are remembered difficulty, implement the functions of encryption and decryption for documents by the combination of software and hardware. It has many characteristics, such as simple, stable, good compatibility, speed and so on. The system uses Rockey2 USB Key, developed with Delphi. This system has two parts, one part mark is the document encryption deciphering; another part of the administration implement being to encrypt a lock. The queen part is completed by me.This paper introduces the brief design, detailed design, the application and coding of USB KEY file encryption tool. It introduces the requirements analysis, the system selection for the design, and Rockey2 encryption in the brief design. And it introduces the main functions of the system analysis, the memory allocation of encryption Rockey2, and the related database design in the detailed design. Besides, in the aspect of application and coding, it main introduces the hardware installation, initialization, writing users’ name, passwords for application and coding, and design of management interface, operation of the database. Finally, it introduces the shortcomings of the system and how to improve it.Key word:USB; Encryption; Delphi; Management.目录论文总页数:22页1 引言 (1)1.1选题背景 (1)1.2国内外研究现状 (1)1.3本设计研究的意义 (1)1.4本设计研究的方法 (1)2 USB KEY文件加密工具总体设计 (2)2.1USB KEY文件加密工具需求分析 (2)2.2系统选型 (3)2.2.1设计语言:Delphi (3)2.2.2数据库的选择 (4)2.2.3开发工具的选择 (4)2.2.4开发硬件的选择 (5)2.3 ROCKEY2加密锁 (5)2.3.1 Rockey2加密锁简介 (5)2.3.2 Rockey2加密锁特点 (5)2.3.3 Rockey2加密锁优点 (5)2.3.4 Rockey2 加密锁要点说明 (6)3 USB KEY文件加密工具系统详细设计 (6)3.1 系统功能模块分析 (6)3.2ROCKEY2加密锁内存分配 (7)3.2数据库设计 (8)3.2.1数据库需求分析 (8)3.2.2数据库实体关系设计 (8)3.2.3数据库逻辑设计 (9)4应用以及编码 (11)4.1初始化以及写密码的过程的应用与编码 (11)4.2管理界面的设计 (11)4.2.1管理主界面设计 (11)4.2.2分类管理模块的设计 (11)4.2.3添加客户模块的设计 (12)4.2.4编辑客户模块的设计 (13)4.2.5查看客户模块的设计 (13)4.2.6 Rockey 初始化模块 (14)4.3数据库操作 (15)结论 (17)参考文献 (17)1 引言1.1选题背景随着社会高科技,商品经济化突飞猛进的发展,计算机的应用已经普及到经济和社会生活的各个领域。
实现文件简单的加密与解密-精选文档

实现文件简单的加密和解密
目录 Content
课题来源 关键重难点 成果与结论 缺点、不足
课题来源 Source
随着信息社会的到来,人们在享受信息资源所带来的巨大的利 益的同时,也面临着信息安全的严峻考验,密码技术是取得信 息安全性最有效的一种方法。 文件传输,电子邮件往来; 静态的文件保护,数据备份。 公开算法、私有算法; 对称算法,非对称算法。 本课题是一个关于文件简单的加密和解密的毕业设计,基于AES算 法实现文件的加密和解密。
缺点、不足 Disadvantage
加密体系: 密码会出现在内存与缓存中,存在被截取的问题。
谢谢
欢迎各位老师批评指导
法。 软件保护: 思路:shellcode编码;摘要算法。 实现:三步。 在UI设计上,采用选项卡的设计,这样可以减小程序界面的大小, 而且功能划分比较明确。 在操作方面:提升用户体验;作为普通用户,并不需要那么强大的 功能,设计一款能够满足我们日常需要的、操作简洁的文件加解密 软件。
关键重难点 Difficulty
AES算法设计巧妙,比较复杂,需要深入理解AES算法的原理,才 能灵活应用于本次毕业设计。 在保护文件的同时,怎样保护软件自身的安全,防止核心代码和加 密体系的泄露。 一款好的应用程序,除了功能外,要有良好的UI,之前没有设计过 UI,希望这次设计的界面能尽可能符合用户的习惯。 目前网络上有许多加密软件,功能也比较强大,怎样才能吸引更多 的人使用,面向哪些用户群体。
文件加密系统毕业设计

文件加密系统毕业设计文件加密系统毕业设计随着信息技术的快速发展,我们生活中的大部分数据都以电子文件的形式存在。
然而,随之而来的是数据泄露和信息安全的威胁。
为了保护个人和机构的隐私,文件加密系统变得越来越重要。
本文将探讨一个关于文件加密系统的毕业设计方案。
1. 引言文件加密系统是一种将文件转化为密文的技术,以保护文件内容不被未授权的人访问。
它利用密码学中的算法和密钥来加密和解密文件。
一个好的文件加密系统应该具备高安全性、高效性和易用性。
2. 设计目标在设计文件加密系统的过程中,我们需要明确设计目标。
首先,系统应该能够保护文件的机密性,确保只有授权的用户才能访问文件内容。
其次,系统应该具备高效性,即在加密和解密过程中不会对文件的处理速度造成过大的影响。
最后,系统应该易于使用,用户不需要过多的专业知识就可以使用系统进行文件加密和解密操作。
3. 系统架构文件加密系统的架构应该包括加密算法、密钥管理和用户界面。
加密算法是文件加密系统的核心部分,它决定了文件加密和解密的过程。
常用的加密算法包括对称加密算法和非对称加密算法。
密钥管理是指对密钥的生成、存储和分发进行管理。
用户界面应该提供友好的操作界面,使用户能够方便地使用系统进行加密和解密操作。
4. 加密算法选择在选择加密算法时,我们需要考虑安全性和效率。
对称加密算法使用相同的密钥进行加密和解密,它具有高效性但密钥管理较为复杂。
非对称加密算法使用公钥和私钥进行加密和解密,它具有较高的安全性但效率较低。
根据实际需求,我们可以选择适合的加密算法。
5. 密钥管理密钥管理是文件加密系统中的重要环节。
密钥的生成应该是随机的,并且需要定期更换。
密钥的存储应该采取安全的方式,例如使用密码保险箱或硬件安全模块。
密钥的分发应该确保只有授权的用户才能获取到密钥。
6. 用户界面设计用户界面应该简洁明了,方便用户进行操作。
用户应该能够轻松地选择要加密或解密的文件,并设置相应的加密算法和密钥。
Java课程设计(论文)-加密和解密

Java课程设计(论文)-加密和解密课程设计(论文)任务书软件学院软件工程专业班一、课程设计(论文)题目加密与解密二、课程设计(论文)工作自年月日起至年月日止。
三、课程设计(论文) 地点:四、课程设计(论文)内容要求:1(本课程设计的目的(1)使学生巩固和提高Java编程技术(2)培养学生掌握程序设计的基本思路和方法;(3)加强学生研发、调试程序的能力;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。
2(课程设计的任务及要求1)任务:(1)设计GUI界面的Hannoi塔,用户可以通过拖动鼠标移动各个塔上的盘子,程序也可以自动演示盘子的移动过程。
;(2)有三个表示塔的对象,分别命名为A、B和C。
A塔上有若干个盘子,盘子的大小不等,并按着大小顺序依次摆放在A塔上,大盘在下,小盘在上。
用户可以用鼠标拖动盘子,把A 塔上的盘子全部移动到另外两个塔中的任何一个塔上。
要求每次只能移动一个盘子,在任何时候不允许大盘压在小盘的上面。
(3)用户也可以选择让程序自动演示。
选择自动演示后,程序将以动画形式演示把A塔上的盘子全部移到C塔的过程,并将移动过程以文本形式显示在一个文本区中。
2)创新要求:在基本要求达到后,可进行创新设计,增加功能和游戏趣味性。
3)课程设计论文编写要求(1)课程设计任务及要求(2)需求分析(3)设计思路--工作原理、功能规划(4)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。
(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。
(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式) (7) 报告按规定排版打印,要求装订平整,否则要求返工;(8) 课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实现文件简单的加密和解密摘要随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。
信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域。
同时,信息安全也是人们保护个人隐私的关键,是社会稳定安全的必要前提条件。
信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信、控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。
信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。
现今,加密是一种保护信息安全性最有效的方法。
密码技术是信息安全的核心技术。
本文是一篇关于文件简单加密和解密软件——文件管家的毕业设计论文:用AES 算法实现文件的加密和解密,用MD5实现文件校验功能,用覆盖技术实现文件粉碎功能;并且设计了一套完整的注册码验证体系,防止软件被逆向,从而保护软件的安全。
关键词:文件;加密;解密;粉碎;反逆向;AESSimple implementation fileencryption and decryptionAbstractWith the arrival of the information society, people not only enjoy the enormous benefits of information resources, but also face the severe challenges of information security. Information security has become a worldwide problem. The problem has become a threat to the political, economic, military, cultural, ideological and other aspects of a country. Meanwhile, the information security is the key of protecting individual privacy and the prerequisite for social stability and security.Information security is a comprehensive interdisciplinary field, involving a wide range of disciplines such as mathematics, cryptography, computer, communications, control, artificial intelligence, security, engineering, humanities and so on, It has been being a hot subject with rapid development. Information countermeasure and network security is a core focus, whose research and developments will stimulate and accelerate the study and progress of related disciplines. So far, the password to information security technology is the most effective method. Cryptography is the core technology of information security.This article is about a software named File Manager, which can simply encrypt and decrypt files. The software uses AES algorithm to encrypt and decrypt files, MD5 to check the files, and overlay technique to achieve the feature of file shredder. Meanwhile, there is a complete set of design registration code verification system, which is used to protect the software from reverse, thus to protect the security of the software.Key words:file; encrypt; decrypt; shredder; Anti-Reverse; AES目录摘要 (i)Abstract (ii)1 绪论 (1)1.1 论文背景 (1)1.2 主要工作 (1)1.3 本文结构 (1)2 AES介绍 (2)2.1 AES概述 (2)2.2 轮密钥加(AddRoundKey) (3)2.3 字节替代(SubBytes) (3)2.4 行移位(ShiftRows) (5)2.5 列混淆(MixColumns) (6)2.6 密钥调度(Key Schedule) (7)3 系统设计 (8)3.1 设计概述 (8)3.1.1 界面设计 (8)3.1.2 实现代码设计 (8)3.1.3 操作流程 (8)3.2 界面设计 (9)3.2.1 LOGO设计 (9)3.2.2 加密选项卡的设计 (10)3.2.3 解密选项卡的设计 (11)3.2.4 工具箱选项卡的设计 (12)3.3 实现代码设计 (12)3.3.1 加密选项卡的设计 (13)3.3.2 解密选项卡的设计 (14)3.3.3 工具箱选项卡的设计 (15)3.3.4 程序流程图 (16)4 设计结果及分析 (20)4.1 设计结果展示 (20)4.1.1 软件初始化 (20)4.1.2 注册码验证 (22)4.1.3 文件加密 (24)4.1.4 文件解密 (27)4.1.5 文件校验 (29)4.1.6 文件粉碎 (29)4.2 设计结果分析及说明 (30)4.2.1 软件初始化 (30)4.2.2 注册码验证 (32)4.2.3 文件加密 (35)4.2.4 文件解密 (37)4.2.5 文件校验 (38)4.2.6 文件粉碎 (39)结论 (41)参考文献 (42)致谢 (43)外文原文 (44)中文翻译 (55)1 绪论1.1 论文背景信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。
信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。
网络技术的快速发展,给我们的生活带来了方便,提高了我们的工作效率,丰富了我们的生活,但同时,安全问题也时刻困扰着我们。
连接在网络上的计算机随时都有被黑客攻击的可能,在网络上收发的文件也有可能被黑客截获,而这种不安全的因素是TCP/IP协议所固有的,所以为了保护重要的文件安全,我们必须给重要的文件加密。
本论文讲述了加密技术的实现。
通过数据加密,人们可以有效地保证个人数据的安全,以及在通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。
1.2 主要工作实现文件简单的加密和解密,保护数据安全。
实现文件校验功能,用于验证文件的完整性和正确性。
通过覆盖技术使删除的文件不可恢复,实现文件粉碎功能。
设计一套完整的加密体系,在核心代码运行前优先取得程序控制权做校验工作,保护软件的安全。
1.3 本文结构本文第一部分主要以绪论为主,说明了文章的研究背景、主要工作,概要说明了所做的工作。
第二部分主要是文件加密解密的相关知识的介绍,介绍了AES算法的原理。
第三部分叙述了设计的思路、重点。
第四部分为设计结果及分析,将劳动成果展现给大家。
第五部分为结论、致谢和参考文献,列出了文章的参考文献和引用文献,反映本文研究工作的背景和依据。
2 AES介绍2.1 AES概述AES是一个迭代的、对称密钥分组的加密算法,即它的加密和解密过程都使用同一个密钥。
AES分组密码接受一个128位的明文,并且在一个128、192、256位秘密密钥的控制下产生一个128位的密文。
它是一个替代- 置换网络的设计,并且带有一个称为轮的步骤的集合,其中轮数可以为9、11或者13(对应于128、192或者256位的密钥),这样可以将明文映射为密文。
一轮AES由下面的4步组成:(1)字节替代(SubBytes):用一个S盒完成分组中的按字节的代换。
(2)行移位(ShiftRows):一个简单的置换。
(3)列混淆(MixColumns):一个利用在域GF()上的算术特性的代换。
(4)轮密钥加(AddRoundKey):利用当前分组和扩展密钥的一部分进行按位XOR。
每一轮分别使用它自己的128位轮密钥(round key),它是由秘密密钥通过一个称为密钥调度(key schedule) 的过程处理而产生的。
不要低估一个设计合理的密钥调度方案的重要性。
它把密钥的熵散发给每一个轮密钥。
如果熵没有被很好地传播,就会产生各种麻烦,例如等价密钥、相关密钥以及其他类似的分别征服攻击(distinguishing attack)。
AES把128位的输入看作是一个由16个字节组成的向量,并用一个4 x4的列矩阵(big-endian)的形式来组织,叫做状态(state)。
即第1个字节映射为0.0A,第3个字节映射为0.3A,第4个字节为1.0A,第16个字节映射为3.3A,如图2-1所示。
图2-1 AES的状态示意图整个AES分组密码由下面的步骤组成:(1)AddRoundKey(round=0)(2)for round=1到Nr-1 (9、11或者13,这取决于密钥的大小)doSubBytesShiftRowsMixColumnsAddRoundKey(round)(3)SubBytes(4)ShiftRows(5)AddRoundKey(Nr)2.2 轮密钥加(AddRoundKey)轮函数的这一步是把轮密钥加到状态中(在GF(2)中)。
它执行了16个并行的把密钥加到状态中的运算。
GF(2)的加法是通过异或运算来完成的,如图2-2所示。