数据加密论文.docx
- 文档编号:3505312
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:23
- 大小:723.66KB
数据加密论文.docx
《数据加密论文.docx》由会员分享,可在线阅读,更多相关《数据加密论文.docx(23页珍藏版)》请在冰豆网上搜索。
数据加密论文
商丘职业技术学院
毕业论文
题目:
数据加密
2012年3月6日
摘要
文件密码技术是网络与信息安全的核心技术,其基本的设计思想是把欲发送消息(明文)的各种变换(称为加密算法)后的载体形式(称为密文)进行存储和传输,授权的接受者用相应的变换(称为解密算法)恢复明文,不合法的截收者对明文不可见或不理解,从而达到信息安全的目的。
【关键词】明文加密算法密文解密算法
ABSTRACT
Documentcodetechnologyisthecoreofthenetworkandinformationsecuritytechnology,itsbasicdesignthoughtistosendthemessage(plaintext)ofallkindsoftransform(calledencryptionalgorithm)afterthecarrierform(calledciphertext)forstorageandtransmission,authorizedreceiverusingcorrespondingtransform(calleddecryptionalgorithm)resumeexpressly,notlegalJieShouexpresslytheinvisibleordon'tunderstand,soastoachievethepurposeofinformationsecurity.
【keywords】expresslyencryptionalgorithmciphertextdecryptionalgorithm
第一章绪论
1.1绪言
在信息时代,信息安全问题越来越重要。
我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。
因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。
解决这个问题的方式就是数据加密。
一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。
有些时候用户可能需要对一些机密文件进行加密,不一定因为要在网络上进行传输该文件,而是担心有人窃取计算机口令而获得该机密文件。
身份认证是基于加密技术的,作用为用来确定用户是否是真实的。
在传输过程中对数据进行加密,可以保障数据在传输过程中安全。
网络安全所要求的保密性、完整性、可用性,都可以利用密码技术来实现。
可以说,密码技术是保护大型通信网络上传输信息的实用手段之一。
密码由来
公元前405年,雅典和斯巴达之间的伯罗奔尼撒战争已进入尾声。
斯巴达军队逐渐占据了优势地位,准备对雅典发动最后一击。
这时,原来站在斯巴达一边的波斯帝国突然改变态度,停止了对斯巴达的援助,意图是使雅典和斯巴达在持续的战争中两败俱伤,以便从中渔利。
在这种情况下,斯巴达急需摸清波斯帝国的具体行动计划,以便采取新的战略方针。
正在这时,斯巴达军队捕获了一名从波斯帝国回雅典送信的雅典信使。
斯巴达士兵仔细搜查这名信使,可搜查了好大一阵,除了从他身上搜出一条布满杂乱无章的希腊字母的普通腰带外,别无他获。
情报究竟藏在什么地方呢?
斯巴达军队统帅莱桑德把注意力集中到了那条腰带上,情报一定就在那些杂乱的字母之中。
他反复琢磨研究这些天书似的文字,把腰带上的字母用各种方法重新排列组合,怎么也解不出来。
最后,莱桑德失去了信心,他一边摆弄着那条腰带,一边思考着弄到情报的其他途径。
当他无意中把腰带呈螺旋形缠绕在手中的剑鞘上时,奇迹出现了。
原来腰带上那些杂乱无章的字母,竟组成了一段文字。
这便是雅典间谍送回的一份情报,它告诉雅典,波斯军队准备在斯巴达军队发起最后攻击时,突然对斯巴达军队进行袭击。
斯巴达军队根据这份情报马上改变了作战计划,先以迅雷不及掩耳之势攻击毫无防备的波斯军队,并一举将它击溃,解除了后顾之忧。
随后,斯巴达军队回师征伐雅典,终于取得了战争的最后胜利。
雅典间谍送回的腰带情报,就是世界上最早的密码情报,具体运用方法是,通信双方首先约定密码解读规则,然后通信—方将腰带(或羊皮等其他东西)缠绕在约定长度和粗细的木棍上书写。
收信—方接到后,如不把腰带缠绕在同样长度和粗细的木棍上,就只能看到一些毫无规则的字母。
后来,这种密码通信方式在希腊广为流传。
现代的密码电
报,据说就是受了它的启发而发明的。
“密码”一词对人们来说并不陌生,人们可以举出许多有关使用密码的例子。
如保密通信设备中使用“密码”,个人在银行取款使用“密码”,在计算机登录和屏幕保护中使用“密码”,开启保险箱使用“密码”,儿童玩电子游戏中使用“密码”等等。
这里指的是一种特定的暗号或口令字。
现代的密码已经比古代有了长远的发展,并逐渐形成一门科学,吸引着越来越多的人们为之奋斗。
文件加密是一种常见的密码学应用。
文件加密技术是下面三种技术的结合
(1)密码技术.包括对称密码和非对称密码,可能是分组密码,也可能采用序列密码文件加密的底层技术是数据加密。
(2)操作系统。
文件系统是操作系统的重要组成部分。
对文件的输入输出操作或文件的组织和存储形式进行加密也是文件加密的常用于段。
对动态文件进行加密尤其需要熟悉文件系统的细节。
文件系统与操作系统其他部分的关联,如设备管理、进程管理和内存管理等,都可被用于文件加密。
(3)文件分析技术。
不同的文件类型的语义操作体现在对该文件类型进行操作的应用程序中,通过分析文件的语法结构和关联的应用程序代码而进行一些置换和替换,在实际应用中经常可以达到一定的文件加密效果。
1.2选择该课题的意义
随着现代信息快速发展和网络的普及,人们可以不用出门而了解世界大事和一些重要的信息。
人们在这快速发展的今天再也没有属于自己的秘密,你已经成了“裸人”。
因此我们要保护好自己的个人信息,使我们个人隐私不被泄漏。
所以文件的加密对我们来说非常的重要,文件的加密可以用到各个领域,它将要影响我们未来的生活。
第二章数据加密
2.1密码学概述
密码学是一门古老而深奥的学科,对一般人来说是非常陌生的。
长期以来,只在很小的范围内使用,如军事、外交、情报等部门。
计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科。
随着计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。
在国外,它已成为计算机安全主要的研究方向。
密码学技术介绍
密码学的历史比较悠久,在四千年前,古埃及人就开始使用密码来保密传递消息。
两千多年前,罗马国王JuliusCaesare(恺撒)就开始使用目前称为“恺撒密码”的密码系统。
但是密码技术直到本20世纪40年代以后才有重大突破和发展。
特别是20世纪70年代后期,由于计算机、电子通信的广泛使用,现代密码学得到了空前的发展。
2.2消息和加密
遵循国际命名标准,加密和解密可以翻译成:
“Encipher(译成密码)”和“(Decipher)(解译密码)”。
也可以这样命名:
“Encrypt(加密)”和“Decrypt(解密)”。
消息被称为明文。
用某种方法伪装消息以隐藏它的内容的过程称为加密,加了密的消息称为密文,而把密文转变为明文的过程称为解密,表明了加密和解密的过程。
明文密文
明文用M(Message,消息)或P(Plaintext,明文)表示,它可能是比特流、文本文件、位图、数字化的语音流或者数字化的视频图像等。
密文用C(Cipher)表示,也是二进制数据,有时和M一样大,有时稍大。
通过压缩和加密的结合,C有可能比P小些。
加密函数E作用于M得到密文C,用数学公式表示为:
E(M)=C。
解密函数D作用于C产生M,用数据公式表示为:
D(C)=M。
先加密后再解密消息,原始的明文将恢复出来,D(E(M))=M必须成立。
2.3密码学的性质
除了提供机密性外,密码学需要提供三方面的功能:
鉴别、完整性和抗抵赖性。
这些功能是通过计算机进行社会交流,至关重要的需求。
鉴别:
消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。
完整性:
消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法消息。
抗抵赖性:
发送消息者事后不可能虚假地否认他发送的消息。
第三章密钥和算法
3.1密钥
K可以是很多数值里的任意值,密钥K的可能值的范围叫做密钥空间。
加密和解密运算都使用这个密钥,即运算都依赖于密钥,并用K作为下标表示,加解密函数表达为:
ØEK(M)=C
ØDK(C)=M
ØDK(EK(M))=M,如图所示。
有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥K1与相应的解密密钥K2不同,在这种情况下,加密和解密的函数表达式为:
ØEK1(M)=C
ØDK2(C)=M
函数必须具有的特性是,DK2(EK1(M))=M,如图所示。
3.2凯撒加解密算法实现
50B.C,JuliusCeasar使用了一种简单的替换密码-——后被人称为恺撒密码(Caesarcipher)
w首先被应用于军事上(cfGallicWars)
w替换方法,每个字母用其后的第三个字母替换
wCaesarcipher可以描述如下:
wPlain:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
wCipher:
DEFGHIJKLMNOPQRSTUVWXYZABC
w一般形式,可以把Caesarcipher中字母移动的位数由3变为1-25中的任何一个
importjava.util.Scanner;
publicclassCaeser{
privateStringtable;//定义密钥字母表
privateintkey;//定义密钥key
publicCaeser(Stringtable,intkey){
//根据不同的字母表和不同的密钥生成一个新的凯撒算法,达到通用的目的
super();
this.table=table;
this.key=key;
}
publicStringencrypt(Stringfrom){
//凯撒加密算法,传入明文字符串,返回一个密文字符串
Stringto="";
for(inti=0;i to+=table.charAt((table.indexOf(from.charAt(i))+key)%table.length()); } returnto; } publicstaticvoidmain(String[]args){ Caesercaeser=new Caeser("abcdefghijklmnopqrstuvwxyz",3); Scannerscanner=newScanner(System.in); System.out.println("请输入要加密的字符串"); Stringstr=scanner.nextLine();//输入字符串security Stringresult=caeser.encrypt(str);//调用加密方法进行加密 System.out.print(result);//可得结果vhfxulwb } } 3.3对称算法 基于密钥的算法通常有两类: 对称算法和公开密钥算法(非对称算法)。 对称算法有时又叫传统密码算法,加密密钥能够从解密密钥中推算出来,反过来也成立。 在大多数对称算法中,加解密的密钥是相同的。 对称算法要求发送者和接收者在安全通信之前,协商一个密钥。 对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加解密。 对称算法的加密和解密表示为: ØEK(M)=C ØDK(C)=M 3.4公开密钥算法 公开密钥算法(非对称算法)的加密的密钥和解密的密钥不同,而且解密密钥不能根据加密密钥计算出来,或者至少在可以计算的时间内不能计算出来。 之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。 加密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。 公开密钥K1加密表示为: EK1(M)=C。 公开密钥和私人密钥是不同的,用相应的私人密钥K2解密可表示为: DK2(C)=M。 3.5DES算法 美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。 加密算法要达到的目的有四点: Ø提供高质量的数据保护,防止数据XX的泄露和未被察觉的修改; Ø具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握; ØDES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础; Ø实现经济,运行有效,并且适用于多种完全不同的应用。 DES算法的安全性: DES算法正式公开发表以后,引起了一场激烈的争论。 1977年Diffie和Hellman提出了制造一个每秒能测试106个密钥的大规模芯片,这种芯片的机器大约一天就可以搜索DES算法的整个密钥空间,制造这样的机器需要两千万美元。 1993年R.Session和M.Wiener给出了一个非常详细的密钥搜索机器的设计方案,它基于并行的密钥搜索芯片,此芯片每秒测试5×107个密钥,当时这种芯片的造价是10.5美元,5760个这样的芯片组成的系统需要10万美元,这一系统平均1.5天即可找到密钥,如果利用10个这样的系统,费用是100万美元,但搜索时间可以降到2.5小时。 可见这种机制是不安全的。 1997年1月28日,美国的RSA数据安全公司在互联网上开展了一项名为“密钥挑战”的竞赛,悬赏一万美元,破解一段用56比特密钥加密的DES密文。 计划公布后引起了网络用户的强力响应。 一位名叫RockeVerser的程序员设计了一个可以通过互联网分段运行的密钥穷举搜索程序,组织实施了一个称为DESHALL的搜索行动,成千上万的志愿者加入到计划中,在计划实施的第96天,即挑战赛计划公布的第140天,1997年6月17日晚上10点39分,美国盐湖城Inetz公司的职员MichaelSanders成功地找到了密钥,在计算机上显示了明文: “Theunknownmessageis: Strongcryptographymakestheworldasaferplace”。 DES算法的原理: DES算法的入口参数有三个: Key、Data、Mode。 其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式有两种: 加密或解密。 DES算法是这样工作的: 如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。 DES算法的实现步骤 DES算法实现加密需要三个步骤: ▪第一步: 变换明文。 对给定的64位比特的明文x,首先通过一个置换IP表来重新排列x,从而构造出64位比特的x0,x0=IP(x)=L0R0,其中L0表示x0的前32比特,R0表示x0的后32位。 ▪第二步: 按照规则迭代。 规则为 ØLi=Ri-1 ØRi=Li⊕f(Ri-1,Ki)(i=1,2,3…16) Ø经过第一步变换已经得到L0和R0的值,其中符号⊕表示的数学运算是异或,f表示一种置换,由S盒置换构成,Ki是一些由密钥编排函数产生的比特块。 f和Ki将在后面介绍。 ▪第三步: 对L16R16利用IP-1作逆置换,就得到了密文y。 加密过程如图所示。 DES算法的应用误区: DES算法具有比较高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。 而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的,当然,随着科学技术的发展,当出现超高速计算机后,我们可考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。 3.6RSA算法 1976年,Diffie和Hellman在文章“密码学新方向(NewDirectioninCryptography)”中首次提出了公开密钥密码体制的思想,1977年,Rivest、Shamir和Adleman三个人实现了公开密钥密码体制,现在称为RSA公开密钥体制,它是第一个既能用于数据加密也能用于数字签名的算法。 这种算法易于理解和操作,算法的名字以发明者的名字命名: RonRivest,AdiShamir和LeonardAdleman。 但RSA的安全性一直未能得到理论上的证明。 它经历了各种攻击,至今未被完全攻破。 RSA体制 ▪RSA体制可以简单描述如下: Ø (1)、生成两个大素数p和q。 Ø (2)、计算这两个素数的乘积n=p×q。 Ø(3)、计算小于n并且与n互质的整数的个数,即欧拉函数φ(n)=(p-1)(q-1)。 Ø(4)、选择一个随机数b满足1 Ø(5)、计算ab=1modφ(n)。 Ø(6)、保密a,p和q,公开n和b。 ▪利用RSA加密时,明文以分组的方式加密: 每一个分组的比特数应该小于log2n比特。 加密明文x时,利用公钥(b,n)来计算c=xbmodn就可以得到相应的密文c。 解密的时候,通过计算camodn就可以恢复出明文x。 ▪选取的素数p和q要足够大,从而乘积n足够大,在事先不知道p和q的情况下分解n是计算上不可行的。 ▪常用的公钥加密算法包括: RSA密码体制、ElGamal密码体制和散列函数密码体制(MD4、MD5等)。 RSA算法的安全性 RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。 假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。 目前,RSA的一些变种算法已被证明等价于大数分解。 不管怎样,分解n是最显然的攻击方法。 现在,人们已能分解多个十进制位的大素数。 因此,模数n必须选大一些,因具体适用情况而定 RSA算法的速度 由于进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,无论是软件还是硬件实现。 速度一直是RSA的缺陷。 一般来说只用于少量数据加密。 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。 RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。 第四章office文件加密 4.1Word文档的加密 建立一个Word文档 打开“工具”里的“选项”,单击“安全性”,设置密码。 4.2PPT文件加密 .建立一个PPT文件 打开“工具”里的“选项”,单击“安全性”,设置密码。 4.3Excel文件的加密 建立一个Excel文件 打开“工具”里的“选项”,单击“安全性”,设置密码 4.4压缩文件的加密 过程: 过程 过程 文件加密后密码遗忘 对于很多字处理软件的文件加密和ZIP等压缩包的加密,你是不能靠加密逆过程来完成的,因为那从理论上是异常困难的。 目前有一些相关的软件,他们的思想一般都是用一个大字典集中的数据循环用相同算法加密后与密码的密文匹配,直到一致时则说明找到了密码。 你可以去寻找这些软件,当然,有些软件是有后门的,比如DOS下的WPS,Ctrl+qiubojun就是通用密码。 第五章加密软件 常见的文件加密解密工具 王者加密解密大师7.85 宏杰文件夹加密 密码大师V5.0 万能加密器V5.5 文件密码箱2012 文件夹伪装王1.28 在这介绍一种权威的一种加密软件: PGP加密软件 一、PGP简介 PGP,全名: PrettyGoodPrivacy,也是一个混合型加密体系的称呼。 通常只理解为是PGP公司的系列软件。 能对邮件、文件、文件夹、整个硬盘加密,全网段加密权限和访问权限控制等。 PGP能够提供独立计算机上的信息保护功能,使得这个保密系统更加完备。 它的主要功能是: 数据加密,包括电子邮件、任何储存起来的文件、还有即时通讯(例如ICQ之类)。 二、PGP的主要功能 1、在任何软件中进行加密/签名以及解密/效验。 通过PGP选项和电子邮件插件,您可以在任何软件当中使用PGP的功能。 2、创建以及管理密钥。 使用PGPkeys来创建、查看、和维护您自己的PGP密钥对;以及把任何人的公钥加入您的公钥库中。 3、创建自解密压缩文档(self-decryptingarchives,SDA)。 您可以建立一个自动解密的可执行文件。 任何人不需要事先安装PGP,只要得知该文件的加密密码,就可以把这个文件解密。 这个功能尤其在需要把文件发送给没有安装PGP的人时特别好用。 并且,此功能还能对内嵌其中的文件进行压缩,压缩率与ZIP相似,比RAR略低(某些时候略高,比如含有大量文本)。 总的来说,该功能是相当出色的。 4、可以创建一个.pgd的文件,此文件用PGPDisk功能加载后,将以新分区的形式出现,您可以在此分区内放入需要保密的任何文件。 其使用私钥和密码两者共用的方式保存加密数据,保密性坚不可摧,但需要注意的是,一定要在重装系统前记得备份“我的文档”中的“PGP”文件夹里的所有文件,以备重装后恢复您的私钥。 切记切记,否则将永远没有可能再次打开曾经在该系统下创建的任何加密文件! 5、您可以使用PGP粉碎工具来永久地删除那些敏感的文件和文件夹,而不会遗留任何的数据片段在硬盘上。 您也可以使用PGP自由空间粉碎器来再次清除已经被删除的文件实际占用的硬盘空间。 这两个工具都是要确保您所删除的数据将永远不可能被别有用心的人恢复。 6、该功能可将您的整个硬盘上所有数据加密,甚至包括操作系统本身。 提供极高的安全性,没有密码之人绝无可能使用您的系统或查看硬盘里面存放的文件、文件夹等数据。 即便是硬盘被拆卸到另外的计算机上,该功能仍将忠实的保护您的数据、加密后的数据维持原有的结构,文件和文件夹的位置都不会改变。 7、该功能可将支持的即时消息工具(IM,也称即时通讯工具、聊天工具)所发送的信息完全经由PGP处理,只有拥有对应私钥的和密码的对方才可以解开消息的内容。 任何人截获到也没有任何意义,仅仅是一堆乱码。 8、该功能可以创建类似其他压缩软件打包压缩后的文件包,但不同的是其拥有坚不可摧的安全性。 9、可以使用PGP接管您的共享文件夹本身以及其中的文件,安全性远远高于操作系统本身提供的帐号验证功能。 并且可以方便的管理允许的授权用户可以进行的操作。 极大的方便了需要经常在内部网络中共享文件的企业用户,免于受蠕虫病毒和黑客的侵袭。 10、创建可移动加密介质(闪存盘/CD/DVD)产品-PGPPortable。 曾经独立的该产
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 加密 论文