数据加密技术的研究综述毕业论文管理资料Word格式.docx
- 文档编号:22041208
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:25
- 大小:45.81KB
数据加密技术的研究综述毕业论文管理资料Word格式.docx
《数据加密技术的研究综述毕业论文管理资料Word格式.docx》由会员分享,可在线阅读,更多相关《数据加密技术的研究综述毕业论文管理资料Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
附录一伪随机数加密法的加密和解密程序33
引言
随着网络技术的发展,网络安全也就成为当今网络社会的焦点中的焦点,几乎没有人不在谈论网络上的安全问题,病毒、黑客程序、邮件炸弹、远程侦听等这一切都无不让人胆战心惊。
病毒、黑客的猖獗使身处今日网络社会的人们感觉到谈网色变,无所适从。
用户必需清楚地认识到,这一切一切的安全问题不可一下全部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒程序,因为任何反病毒程序都只能在新病毒发现之后才能开发出来,目前还没有哪能一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,所以用户不能有等网络安全了再上网的念头,因为或许网络不能有这么一日,就象“矛”与“盾”,网络与病毒、黑客永远是一对共存体。
现代的电脑加密技术就是适应了网络安全的需要而应运产生的,它为用户进行一般的电子商务活动提供了安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。
其实加密技术也不是什么新生事物,只不过应用在当今电子商务、电脑网络中还是近几年的历史。
加密作为保障数据安全的一种方式,它不是现在才有的,它产生的历史相当久远,它是起源于要追溯于公元前2000年(几个世纪了),虽然它不是现在所讲的加密技术(甚至不叫加密),但作为一种加密的概念,确实早在几个世纪前就诞生了。
当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些方法来保护他们的书面信息。
近期加密技术主要应用于军事领域,如美国独立战争、美国内战和两次世界大战。
最广为人知的编码机器是GermanEnigma机,在第二次世界大战中德国人利用它创建了加密信息。
此后,由于AlanTuring和Ultra计划以及其他人的努力,终于对德国人的密码进行了破解。
当初,计算机的研究就是为了破解德国人的密码,人们并没有想到计算机给今天带来的信息革命。
随着计算机的发展,运算能力的增强,过去的密码都变得十分简单了,于是人们又不断地研究出了新的数据加密方式,如利用ROSA算法产生的私钥和公钥就是在这个基础上产生的。
本文主介绍究各种加密算法以及各类加密算法的优缺点,以及各类加密技术在军事、科学等多方面的应用。
1概述
背景
当今网络社会选择加密已是我们必然选择,一方面是因为在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输。
而且这种不安全性是互联网存在基础——TCP/IP协议所固有的,包括一些基于TCP/IP的服务;
另一方面,互联网给众多的商家带来了无限的商机,互联网把全世界连在了一起,走向互联网就意味着走向了世界,这对于无数商家无疑是梦寐以求的好事,特别是对于中小企业。
为了解决这一对矛盾,选择数据加密以及基于加密技术的数字签名已成为必然选择。
随着信息技术的发展与应用,信息安全的内涵在不断的延伸,从最初的信息保密性发展到信息的完整性、可用性、可控性和不可否认性,进而又发展为"
攻(攻击)、防(防范)、测(检测)、控(控制)、管(管理)、评(评估)"
等多方面的基础理论和实施技术。
就理论研究而言,一些关键的基础理论需要保密,因为从基础理论研究到实际应用的距离很短。
现代信息系统中的信息安全其核心问题是密码理论及其应用,其基础是可信信息系统的构作与评估。
总的来说,目前在信息安全领域人们所关注的焦点主要有以下几方面:
1)
密码理论与技术;
2)
安全协议理论与技术;
3)
安全体系结构理论与技术;
4)
信息对抗理论与技术;
5)
网络安全与安全产品。
自从1976年公钥密码的思想提出以来,国际上已经提出了许多种公钥密码体制,但比较流行的主要有两类:
一类是基于大整数因子分解问题的,其中最典型的代表是RSA;
另一类是基于离散对数问题的,比如ElGamal公钥密码和影响比较大的椭圆曲线公钥密码。
由于分解大整数的能力日益增强,所以对RSA的安全带来了一定的威胁。
目前768比特模长的RSA已不安全。
一般建议使用1024比特模长,预计要保证20年的安全就要选择1280比特的模长,增大模长带来了实现上的难度。
而基于离散对数问题的公钥密码在目前技术下512比特模长就能够保证其安全性。
特别是椭圆曲线上的离散对数的计算要比有限域上的离散对数的计算更困难,目前技术下只需要160比特模长即可,适合于智能卡的实现,因而受到国内外学者的广泛关注。
公钥密码主要用于数字签名和密钥分配。
当然,数字签名和密钥分配都有自己的研究体系,形成了各自的理论框架。
目前数字签名的研究内容非常丰富,包括普通签名和特殊签名。
特殊签名有盲签名,代理签名,群签名,不可否认签名,公平盲签名,门限签名,具有消息恢复功能的签名等,它与具体应用环境密切相关。
显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS),部分州已制定了数字签名法。
法国是第一个制定数字签名法的国家,其他国家也正在实施之中。
在密钥管理方面,国际上也做了很多工作,比如1993年美国提出的密钥托管理论和技术、(已经发展到第3版本)以及麻省里工学院开发的Kerboros协议(已经发展到第5版本)等,这些工作影响很大。
密钥管理中还有一种很重要的技术就是秘密共享技术,它是一种分割秘密的技术,目的是阻止秘密过于集中,自从1979年Shamir提出这种思想以来,秘密共享理论和技术达到了空前的发展和应用,特别是其应用至今人们仍十分关注。
我国学者在这些方面也做了一些跟踪研究,发表了很多论文,。
但没有听说过哪个部门有制定数字签名法的意向。
本文的主要内容及组织结构
本文研究的内容为几种数据加密技术的原理及应用。
第一章,主要是介绍数据加密技术的背景。
第二章,主要是介绍数据加密技术的原理、数据加密技术分类体系及各种加密技术的优缺点。
第三章,主要是介绍DES加密标准算法及DES标准算法案例。
第四章,主要是介绍RSA加密算法标准、结构以及RSA加密算法案例和探索。
第五章,主要是介绍其他几种加密技术的原理及应用。
2数据加密和加密系统
本部分主要介绍数据加密技术的基本原理,并介绍数据加密技术的分类,以及它们分别应用于什么场合,另外介绍一下加密系统的体系结构和原理,具体介绍主要的加密技术如对称加密、非对称加密以及数字签名等。
数据加密技术原理
数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径达到保护数据不被人非法窃取、阅读的目的。
该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
当信息发送者需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文;
信息发送者用信息接收者的公钥加密上述对称密钥;
信息发送者将第一步和第二步的结果结合在一起传给信息接收者,称为数字信封;
信息接收者使用自己的私钥解密被加密的对称密钥,再用此对称密钥解密被发送方加密的密文,得到真正的原文[1]。
数据加密技术的分类及其应用
加密技术通常分为两大类:
“对称式”和“非对称式”。
对称式加密就是加密和解密使用同一个密钥,通常称之为“SessionKey”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的SessionKey长度为56Bits。
非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。
这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。
它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。
而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。
■SSL加密技术
用一种电子证书(electriccertificate)来实行身份进行验证后,双方就可以用保密密钥进行安全的会话了。
它同时使用“对称”和“非对称”加密方法,在客户与电子商务的服务器进行沟通的过程中,客户会产生一个SessionKey,然后客户用服务器端的公钥将SessionKey进行加密,再传给服务器端,在双方都知道SessionKey后,传输的数据都是以SessionKey进行加密与解密的,但服务器端发给用户的公钥必需先向有关发证机关申请,以得到公证。
■VPN加密
将具有加密/解密功能的路由器使人们通过互联网连接专用局域网,这就是通常所说的虚拟专用网(VPN)。
当数据离开发送者所在的局域网时,该数据首先被用户端连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当达到目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了[2]。
数据加密在银行系统中的应用
数据加密就是按照确定的密码算法把敏感的明文数据变换成难以识别的密文数据,通过使用不同的密钥,可用同一加密算法把同一明文加密成不同的密文。
当需要时,可使用密钥把密文数据还原成明文数据,称为解密。
这样就可以实现数据的保密性。
众所周知,各种相关网络安全的黑客和病毒都是依赖网络平台进行的,而如果在网络平台上就能切断黑客和病毒的传播途径,那么就能更好地保证安全。
众多银行如农业银行、建设银行、工商银行等都采取了数据加密技术与网络交换设备联动。
即是指交换机或防火墙在运行的过程中,将各种数据流的信息上报给安全设备,数字加密系统可根据上报信息和数据流内容进行检测,在发现网络安全事件的时候,进行有针对性的动作,并将这些对安全事件反应的动作发送到交换机或防火墙上,由交换机或防火墙来实现精确端口的关闭和断开,这样就可以使数据库得到及时充分有效的保护。
由于金融系统“网上银行”的兴起,银行系统的安全问题显得越来越重要,安全隐患已成为迫在眉睫的首要问题。
为了解决银行的安全隐患,因此各种数据加密在银行系统中起着越来越重要的作用。
■对称加密算法
对称加密算法是应用较早的加密算法,技术成熟。
在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。
收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。
在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。
应用于:
电子商务。
■不对称加密算法
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。
在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。
加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。
不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;
收信方收到加密密文后,使用自己的私钥才能解密密文。
显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。
由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。
广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。
以不对称加密算法为基础的加密技术应用非常广泛。
主要应用于:
VPN系统。
■不可逆加密算法
不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。
显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。
不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。
近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。
加密体制存在的问题
不足之处是,交易双方都使用同样钥匙,安全性得不到保证。
此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。
对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。
在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。
不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。
在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(SecureHashStandard:
安全杂乱信息标准)等。
对称加密、非对称加密和数字签名
对称加密算法使用单个私钥来加密和解密数据。
由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被XX的代理得到。
非对称加密使用一个必须对XX的用户保密的私钥和一个可以对任何人公开的公钥。
公钥和私钥都在数学上相关联;
用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。
公钥可以提供给任何人;
公钥用于对要发送到私钥持有者的数据进行加密。
两个密钥对于通信会话都是唯一的。
数字签名(DigitalSignature)是公开密钥加密技术的一种应用,是指用发送方的私有密钥加密报文摘要,然后将其与原始的信息附加在一起,合称为数字签名。
其使用方式是:
报文的发送方从报文文本中生成一个128位或160位的单向散列值(或报文摘要),并用自己的私有的密钥对这个散列值进行加密,形成发送方的数字签名;
然后将这个数字签名作为报文的附件和报文一起发送给报文的接收方;
报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要),接着再用发送方的公开密钥对报文附加的数字签名进行解密;
如果这两个散列值相同,那么接收方就能确认数字签名是发送方的。
通过数字签名能够实现对原始报文的的鉴别和验证,保证报文的完整性、权威性和发送者对报文的不可抵赖性。
数字签名机制提供了一种鉴别方法,普遍用于银行、电子商务等,以解决伪造、抵赖、冒充、篡改等问题。
3DES加密标准
本部分主要介绍DES的定义、起源,并介绍DES算法的框架以及DES实际的案例,然后讨论一下DES算法的安全性和DES的应用误区;
最后介绍一下DES的拓展算法,例如3DES、AES算法。
DES介绍和DES算法框架
它出自IBM的研究工作,并在1997年被美国政府正式采纳。
它很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DES是嵌入硬件中的。
通常,自动取款机(AutomatedTellerMachine,ATM)都使用DES。
DES使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。
这是一个迭代的分组密码,使用称为Feistel的技术,其中将加密的文本块分成两半。
使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;
接着交换这两半,这一过程会继续下去,但最后一个循环不交换。
DES使用16个循环。
DES的主要形式被称为蛮力的或彻底密钥搜索,即重复尝试各种密钥直到有一个符合为止。
如果DES使用56位的密钥,则可能的密钥数量是2的56次方个。
随着计算机系统能力的不断发展,DES的安全性比它刚出现时会弱得多,然而从非关键性质的实际出发,仍可以认为它是足够的。
不过,DES现在仅用于旧系统的鉴定,而更多地选择新的加密标准—高级加密标准(AdvancedEncryptionStandard,AES)。
DES的常见变体是三重DES,使用168位的密钥对资料进行三次加密的一种机制;
它通常(但非始终)提供极其强大的安全性。
如果三个56位的子元素都相同,则三重DES向后兼容DES。
DES实例分析
密文到明文的解密过程可采用与加密完全相同的算法。
不过解密要用加密的逆变换,就是把上面的最后换位表和初始换位表完全倒过来变换。
这里不再赘述。
下面这个例子中演示了如何使用c#中的加密包进行DES算法加密,大家可以借助这个例子一窥DES加密的用法。
:
usingSystem;
using;
publicclassEncryptStringDES{
publicstaticvoidMain(String[]args){
if(<
1){
("
Usage:
des_demo
encrypt>
"
args[0]);
return;
}
//使用UTF8函数加密输入参数
UTF8Encodingutf8Encoding=newUTF8Encoding();
byte[]inputByteArray=(args
[0].ToCharArray());
//方式一:
调用默认的DES实现方法DES_CSP.
DESdes=();
//方式二:
直接使用DES_CSP()实现DES的实体
转贴于中国//DES_CSPDES=newDES_CSP();
//初始化DES加密的密钥和一个随机的、8比特的初始化向量(IV)
Byte[]key={0x01,0x23,0x45,0x67,0x89,0xab,
0xcd,0xef};
Byte[]IV={0x12,0x34,0x56,0x78,0x90,0xab,
=key;
=IV;
//建立加密流
SymmetricStreamEncryptorsse=();
//使用CryptoMemoryStream方法获取加密过程的输出
CryptoMemoryStreamcms=newCryptoMemoryStream();
//将SymmetricStreamEncryptor流中的加密数据输出到
CryptoMemoryStream中
(cms);
//加密完毕,将结果输出到控制台
(inputByteArray);
();
//获取加密数据
byte[]encryptedData=;
//输出加密后结果
加密结果:
);
for(inti=0;
i<
;
i++){
{0:
X2}"
encryptedData[i]);
//上面演示了如何进行加密,下面演示如何进行解密
SymmetricStreamDecryptorssd=();
cms=newCryptoMemoryStream();
(encryptedData);
byte[]decryptedData=;
char[]decryptedCharArray=(decryptedData);
解密后数据:
(decryptedCharArray);
}
}
编译:
D:
\csharp>
csc
Microsoft(R)C#CompilerVersion[NGWSruntime
]
Copyright(C)MicrosoftCorp2000.Allrightsreserved.
运行实例:
使用C#编写DES加密程序的framework
加密结果:
3D2264C657D1C4C3CF77CE2FD0E1782A4DED7AA8
83F90E14E1BA38
7B06418DB5E93F000DC328D1F96D174B6EA74168
40
解密后数据:
使用C#编写DES加密程序的framework
DES算法具有极高的安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。
通过穷尽搜索空间,可获得总共256
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 加密 技术 研究 综述 毕业论文 管理 资料