文件加密及解密小型软件设计与实现毕业论文设计40论文41文档格式.docx
- 文档编号:21624748
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:25
- 大小:249.58KB
文件加密及解密小型软件设计与实现毕业论文设计40论文41文档格式.docx
《文件加密及解密小型软件设计与实现毕业论文设计40论文41文档格式.docx》由会员分享,可在线阅读,更多相关《文件加密及解密小型软件设计与实现毕业论文设计40论文41文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
DesignandImplementationofDocumenttaggingsoftware
Abstract:
Withtheadventoftheinformationsociety,peopleintheenjoymentofinformationresourcesbroughtabouttremendousbenefits,butalsofacedwithaletterIncomesecurity,aseveretest.Informationsecuritysecurityathreattothecountry'
spoliticalGovernance,economic,military,cultural,ideologicalandotherareasatthesametime,theissueofinformationsecurityisalsoapossibilityofretainingtheirownpersonalPrivacykey.Informationsecurityandsocialstabilityisanecessarypreconditionforsecurity.
Thisarticleisadiscussionpaperonencryptionanddecryptionalgorithmscommonlyusedingraduatedesignthesis,whichdocumentsindetailabouttheencryptionanddecryptionprocessofalgorithmusedinthemethodsandtechniques.Ofpublic-keycryptosystemprivatekeycryptosystemandanalysisandresearch,andpublic-keycryptosystemandonbehalfofprivatekeycryptographyalgorithmRSAalgorithmandDESstudiedandcompared.
Keywords:
Decryption;
fileencryption;
cryptosystem;
DES;
RSA
第一章
绪论
1.1论文背景及意义
至今,密码技术是取得信息安全性最有效的一种方法,密码技术是信息安全的核心技术。
随着网络的发展,网络安全已成为信息化社会的一个焦点问题,因此需要一种网络安全机制来解决这些问题。
在早期,很多的专业计算机人员就通过对网络安全构成威胁的主要因素的研究,已经开发了很多种类的产品。
但纵观所有的网络安全技术,我们不难发现加密技术在扮演着主打角色。
它无处不在,作为其他技术的基础,它发挥了重要的作用。
本论文讲述了加密技术的发展与实现,两种密钥体制(常规密钥密码体制和公开密钥密码体制),以及密钥的管理(主要讨论密钥分配)。
我们可以在加密技术的特点中看到他的发展前景,为网络提供更可靠更安全的运行环境。
通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。
进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存取控制以及其它安全措施是必须而且有效的。
信息安全产品从应用类型上可以分为防火墙类产品、防病毒类产品、防攻击类产品、密码类产品、认证类产品和访问控制类产品。
相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、政府等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。
在本次毕业设计中,对公钥密码体制和私钥密码体制进行了分析和研究,并对公钥密码体制和私钥密码体制的代表DES算法进行了研究和比较。
并且实现了基本的文件加密解密的处理流程,能提供对文件的安全、有效的保护。
1.2本论文的主要方法和研究进展
信息是一种资源,也是一种财富。
在现代社会中,信息处理和通信技术日益发展,保护信息的安全,特别是保护重要信息的安全,越来越成受到国内外有关研究人员的极大重视。
当前由于信息的保护不利和失误,世界各国遭受的损失是巨大的。
现在,国际互联网上的各站点,几乎都有各种各样的安全措施,例如防火墙(FireWall)、网络加密、加密狗等。
但是,这些都是系统或网站层次的安全设施。
对于广大用户来说,更为直接、也更为有效的办法,就是使用信息加密技术。
加密技术是一门实用的技术,有着悠久的历史。
过去,加密技术仅被军事和谋报人员以及某些大型商业企业所采用,应用范围十分有限。
加密学也是一门与数学有关的深奥的科学,有能力研究加密学的人为数不多。
恐怕这也是它鲜为人知、较少应用的原因。
信息安全的内容主要包括五个部分:
信息的保密性、信息的完整性、信息的可用性、信息的可控性、信息的不可否认性。
密码技术是保证信息安全的核心。
密码学泛指一切有关研究密码通信的学问,其中包括下面两个领域:
如何达成秘密通信,以及如何破译秘密通信。
也就是密码编码学:
指如何达到信息的秘密性,鉴别性的科学;
密码分析学:
泛指如何破解密码系统,或伪造信息使密码系统误以为真的科学。
从密码学的发展来看,它经历了传统(古典)密码学、近代密码学、现代密码学几个阶段,计算机、数学领域的最新成果往往与密码学有关或被应用于密码学研究中。
密码学拥有悠久、丰富多彩的历史。
作为古典密码其中的一种,早期出现的密写术形式只需要纸和笔就可以完成。
古典密码学的两大范畴是将消息内容进行重新排列的位移密码和系统地将字母进行替换的替换密码。
古典密码学会透露出与明文统计学结果相关的大量信息,因此容易被破解,如对频率分析可以有效地攻击古典密码。
尽管保密强度很低,由于实现难度低,加密解密快,古典密码至今仍然被广泛使用。
在古典密码学中,有四种类型的代替密码:
简单代替密码,或单字母密码:
就是明文的一个字符用相应的一个密文字符代替。
Caesar密码就是典型的简单替代密码。
多编码代替密码:
它与简单代替密码系统相似,唯一的不同是单个字符明文可以映射成密文的几个字符之一,例如A可能对应于5、13、25或56,“B”可能对应于7、19、31或42,等等。
字母代替密码:
字符块被成组加密,例如“ABA”可能对应于“RTQ”,ABB可能对应于“SLL”等。
多表代替密码:
由多个简单的代替密码构成,例如,可能有5个被使用的不同的简单代替密码,单独的一个字符用来改变明文的每个字符的位置。
20世纪初,包括转轮机在内的一些机械密码加密装置被发明出来,其中最有名的是二次世界大战中德国使用的恩尼格码(Enigma)机。
由这些装置实现的密码显著提高了密码分析的复杂程度,大量的攻击也仅仅取得了有限的结果。
古典密码学以移位密码、替换密码、转轮机为代表,以替代和置换为基础的密码系统在今天看来已经不堪一击,无法保证信息的安全,对处心积虑的攻击者来说形同虚设,因为已经有成熟的分析方法来破解这一类的加密方法。
借助电子计算机的发展,人们可以实现更复杂的密码系统。
与古典密码和机械密码对26个字母进行操作不同,计算机密码的一个显著特征是对二进制串进行操作。
计算机密码对密码分析有更强的抵抗力,只有少数情况下唯密文攻击才会生效。
密码学的大发展时期是上世纪70年代,以DES和RSA算法的提出为代表。
一系列的突破创立了新的密码学体系。
近代密码学的另一个分支是序列密码,这种密码体制采用与明文长度相同的密钥,利用模加(异或)的方法来掩盖明文的内容。
这种加密方法虽然简单,但在使用一次性密钥的情况下,可获得极高的安全性,由于密钥不重复使用,给破译带来了极大的困难。
但这种方法也有其缺点,由于密钥只使用一次,不适合对大量数据进行加密,尤其是流媒体数据,而且大量密钥的分发、传送也是一个问题。
这种方法安全性的关键是要保证密钥序列的随机性,然而“真”随机数是不容易通过固定算法来产生的,而使用“伪随机数”则存在着一定的风险。
近年来提出的“量子密码”采用了量子状态来传递信息。
“海森堡测不准原理”是量子力学的基本原理,它表明,在同一时刻以相同的精度测定量子的位置与动量是不可能的,只能精确测定两者之一。
“单量子不可复制定理”是“海森堡测不准原理”的推论,它表明,在不知道量子状态的情况下复制单个量子是不可能的,因为要复制单个量子就只能先作测量,而测量必然改变量子的状态,所以说不可能。
这样使用量子状态作为“一次性便签”可以达到无条件保密。
因为如果量子在传输中被测量,其状态就会改变,从而在传输中监听者会因此而暴露。
虽然量子密码拥有优秀的安全特性,但目前仍处于研究阶段。
密码原理。
所谓加密,就是将正常情况下可懂的文件数据输入密码机,由密码机变成不可懂的乱码,即将“明文”变成“密文”;
所谓解密,就是上述过程的逆过程,即将“密文”
变成“明文”。
密码机可看做是一个用电子元件实现一种复杂数学运算的机器。
复杂数学运算可记为,这里C=密文,p=明文,k=密钥,f是密码算法。
K是自变量,C是因变量。
不同的K有不同的C,对于某个密码算法f,K的选择范围越大,C的变化就越多,这个密码算法被人破译的难度就越大,保密强度就越高。
如何评价K的选择范围大小呢?
一般是看K的位数,位数长的(如128位以上)选择范围大,位数短的(如56位)选择范围小。
一个国家的密码政策,通常是用位数长的高强度密码(位数可达)保护国家秘密,其它用于保护商业秘密。
在数据传输加密过程中,收发双方线路密码机使用的是相同的密码算法,注入了相同的密钥,发方向收方发出明文,经密码机变成密文后送上公网通信线路,到达收方后先经密码机解密再送到收方电脑上。
密文在公用通信网上传输时,如果被截收,窃密方收到的是不可懂的乱码,无法窃取信息内容。
在文件存储加密中,加密解密卡加解密采用同一种算法和同一个密钥,工作人员用电脑处理文件后先将文件加密再存入磁盘,以防窃密者盗用磁盘窃取文件。
工作人员调用该文件时,文件先经解密再从显示器上显示出来以供使用。
第二章
DES介绍及需求分析
2.1需求分析
数据加密标准曾被美国国家标准局(NBS,现为国家标准与技术研究所NIST)确定为联邦信息处理标准(FIPSPUB46),使用广泛,特别是在金融领域,曾是对称密码体制事实上的世界标准。
目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输、IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。
因此,对于目前的电子交易市场以及一些商业领域,DES依旧存在着广大的需求。
这次课程设计所完成的DES算法,主要是要实现对输入的一组数据,进行DES加密,加密模式分为ECB、CBC、CFB、OFB四种。
函数接口是用户自定义的,我们将完成它的内部构造,并封装成dll,以供用户程序调用。
该算法所要完成的工作主要是,用户输入密钥以及明文,然后选择需要加密的方式。
程序应该实现能判断用户输入的密钥长度是否正确以及输入的数据是否为空,在做出如上判断之后,还要对数据进行填充,填充的方式为:
明文不足整块填充格式为L(1子节长度)+L个连续的0x80。
比如刚好整块数据,最后填充7个0x80,填充的数据为:
0x070x800x800x800x800x800x800x80。
再比如最后一块为7字节,那么填充的数据就为:
0x00。
在这些准备工作之后,方可对数据进行加密。
在解密的时候,还要完成将填充的数据去掉,恢复以前输入的明文。
常规密钥密码体制
所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。
这种加密系统又称为对称密钥系统。
使用对称加密方法,加密与解密方必须使用相同的一种加密算法和相同的密钥。
图2-1加密解密过程示意图
因为通信的双方在加密和解密时使用的是同一个密钥,所以如果其他人获取到这个密钥,那么就会造成失密。
只要通信双方能确保密钥在交换阶段未泄露,那么就可以保证信息的机密性与完整性。
对称加密技术存在着通信双方之间确保密钥安全交换的问题。
同时,一个用户要N个其他用户进行加密通信时,每个用户对应一把密钥,那么他就要管理N把密钥。
当网络N个用户之间进行加密通信时,则需要有N×
(N-1)个密钥,才能保证任意两者之间的通信。
所以,要确保对称加密体系的安全,就好要管理好密钥的产生,分配,存储,和更换。
常规密码体制早期有替代密码和置换密码这二种方式。
下面我们将讲述一个著名的分组密码——美国的数据加密标准DES。
DES是一种对二元数据进行加密的算法,数据分组长度为64位,密文分组长度也是64位,使用的密钥为64位,有效密钥长度为56位,有8位用于奇偶校验,解密时的过程和加密时相似,但密钥的顺序正好相反。
DES算法的弱点是不能提供足够的安全性,因为其密钥容量只有56位。
由于这个原因,后来又提出了三重DES或3DES系统,使用3个不同的密钥对数据块进行(两次或)三次加密,该方法比进行普通加密的三次块。
其强度大约和112比特的密钥强度相当。
密码体制。
收发双方密码机的密码算法一致、密钥一致,这在密码体制中叫“秘密密钥体制”或“单密钥体制”,这是一种传统的密码体制,有系统的理论研究和完善的管理机制,技术成熟,性能稳定,国内自行研制的产品安全可靠、保密强度高,一般用于文件数据加密存储和传输。
国外著名的DES密码就是美国政府1977年发布的密钥长度为56位的“秘密密钥体制”的密码。
这种密码的缺陷是:
仅适用于内部的,点对点方式的,事前双方已知密钥的两点之间的加密传输,保守密钥的秘密十分重要,密钥一旦丢失,整个系统都要立即更换密钥,否则窃密者将可能轻而易举的破解密文。
随着近代计算机网络的发展,不同部门、不同单位网上交往增多,“单密钥体制”显出了它的局限性,人们很难对众多的部门和单位保管好各自不同的密钥。
于是人们又发明了“公开密钥体制”或叫“双密钥体制”。
它是基于一些数学问题而发明出来的密码体制,这些数学问题可记为,其中,写在一起就是,这个公式说明有这样一种数学运算,它可以将用密钥k加密的密文用密钥k’解密,国外1978年公布的RSA密码就是这种有两个密钥的密码。
这种密码保密强度不如单密钥体制的密码,一般用于通信双方的身份确认和数字签名。
在实用的互联网络中,各用户通过加密传输可形成一个虚拟的保密互联网。
该网要由一个各用户认可的密钥管理中心来生成、管理、分发和销毁密钥,同时各用户可将自己的“公钥”也存放在密钥管理中心。
各用户需进行保密通信时,先通过公钥系统进行身份确认(这个过程中密钥管理中心可起到仲裁鉴别作用),双方确认身份后由密钥管理中心分发秘密密钥,双方用得到秘密密钥进行数据或文件的加密传输。
这种工作方式不但适用于党政机关内部,也同样适用于电子商务,但电子商务和党政机关不能使用同一个级别的密码设备,党政机关用的是“普密”设备,电子商务只能用“商密”设备,二者的保密强度是不一样的。
2.2分组加密解密算法-DES算法简介
DES(DataEncryptionStandard)起源于1973年美国国家标准局(NBS)征求国家密码标准方案。
IBM就提交了其在20世纪60年代末设立的一个计算机密码编码学方面的研究项目的结果,这个项目在1971年底研制出了一种称为Lucifer的算法。
它是当时提出的最好的算法,因而在1977年被选为数据加密标准,有效期为5年,随后在1983年、1987年、1993年三次再度授权该算法续用5年。
DES满足了美国国家标准局欲达到的4个目的:
1)提供高质量的数据保护即防止数据XX的泄露和未被察觉的修改
2)具有相当高的复杂性
3)使得破译的开销超过可能获得的利益
4)便于理解和掌握
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。
首先,DES把输入的64位数据块按位重新组合,并把输出分为L0、R0左右两部分,每部分各长32位,并进行前后置换(输入的第58位换到第一位,第50位换到第2位,依此类推,最后一位是原来的第7位),最终由L0输出左32位,R0输出右32位,根据这个法则经过16次迭代运算后,得到L16、R16,将此作为输入,进行与初始置换相反的逆置换,即得到密文输出。
DES算法的入口参数有三个:
Key、Data、Mode。
其中Key为8个字节共64位,是DES算法的工作密钥;
Data也为8个字节64位,是要被加密或被解密的数据;
Mode为DES的工作方式,有两种:
加密或解密,如果Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式作为DES的输出结果;
如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式作为DES的输出结果。
在使用DES时,双方预先约定使用的“密码”即Key,然后用Key去加密数据;
接收方得到密文后使用同样的Key解密得到原数据,这样便实现了安全性较高的数据传输。
2.3
DES加密流程图
DES加密流程图:
图2-2DES加密流程图
2.4DES算法详述
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:
58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,
即将输入的第58位换到第一位,第50位换到第2位,……,依此类推,最后一位是原来的第7位。
L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:
设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:
L0=D550……D8;
R0=D57D49...D7。
经过26次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,即得到密文输出。
逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第40位换回到第1位,其逆置换规则如下表所示:
40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,
38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,
36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,
34,2,42,10,50,18,5826,33,1,41,9,49,17,57,25,
放大换位表
32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,
12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,
22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,1,
单纯换位表
16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,
2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25,
在f(Ri,Ki)算法描述图中,S1,S2...S8为选择函数,其功能是把6bit数据变为4bit数据。
下面给出选择函数Si(i=1,2......8)的功能表:
选择函数Si
S1:
14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,
0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,
4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,
15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,
S2:
15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,
3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,
0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,
13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,
S3:
10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,
13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,
13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,
1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,
S4:
7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,
13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,
10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,
3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,
S5:
2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,
14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,
4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,
11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3,
S6:
12,1,10,15,9,2,6,8,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 加密 解密 小型 软件设计 实现 毕业论文 设计 40 论文 41