对称式加密技术和非对称式加密技术 毕业论文.doc
《对称式加密技术和非对称式加密技术 毕业论文.doc》由会员分享,可在线阅读,更多相关《对称式加密技术和非对称式加密技术 毕业论文.doc(24页珍藏版)》请在三一文库上搜索。
1、目 录1、引言21.1 加密的由来21.2 加密的概念31.3加密的理由32、加密技术分析42.1对称式加密技术42.1.1 描述42.1.2对称加密算法分析42.2 非对称加密技术62.2.1 描述62.2.2目的和意义72.2.3 RSA公钥加密技术73、具体设计103.1设计介绍103.2设计的代码144、DES算法深入研究154.1具体分析154.1.1 DES 的工作方式154.1.2 DES 算法使用步骤154.1.3 算法的安全性分析174.1.4 本设计的变体175、结束语22致 谢24参考文献25- 24 -1、引言信息是一种资源,也是一种财富。在现代社会中,信息处理和通信技
2、术日益发展,保护信息的安全,特别是保护重要信息的安全,已成为国际社会普遍关注的重大问题。现在越来越多的软式是收费软件,比如瑞星,卡巴斯基等等。这就需要用到序列号了。但是现在越来越多的软件被破解,严重影响了其开发公司的经济利益,于是就需要给这个序列号加密才行。保护知识产权,抵制盗版软件,是目前中国软件业所面临的迫切问题。可是,尽管国家一再加大力度,打击非法软件出版物,扶持正版软件,但实际效果并不理想。眼见着无孔不入的盗版软件对软件市场的侵害,更多的软件商选择了购买加密产品或者加密技术来保护自己的软件。 本课题的实现,可以使所使用的软件更加安全,有效的维护软件开发公司的利益,以及抑制软件的破解,打
3、击盗版,支持正版。验证一个软件只能允许在一台机器上面使用,如果到另外一台机器必须获取另外的新的机器激活码。可以有效的保护软件公司的软性资产,让软性资产在用户使用的时候变成有形资产。1.1 加密的由来加密作为保障数据安全的一种方式,它不是现在才有的,它产生的历史相当久远,它是起源于要追溯于公元前2000年(几个世纪了),虽然它不是现在我们所讲的加密技术(甚至不叫加密),但作为一种加密的概念,确实早在几个世纪前就诞生了。当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些方法来保护他们的书面信息。近期加密技术主要应用于军事领域,如美国独立战争
4、、美国内战和两次世界大战。最广为人知的编码机器是German Enigma机,在第二次世界大战中德国人利用它创建了加密信息。此后,由于Alan Turing和Ultra计划以及其他人的努力,终于对德国人的密码进行了破解。当初,计算机的研究就是为了破解德国人的密码,人们并没有想到计算机给今天带来的信息革命。随着计算机的发展,运算能力的增强,过去的密码都变得十分简单了,于是人们又不断地研究出了新的数据加密方式,如利用ROSA算法产生的私钥和公钥就是在这个基础上产生的。1.2 加密的概念数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其
5、只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。1.3加密的理由当今网络社会选择加密已是我们别无选择,其一是我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输。而且这种不安全性是互联网存在基础TCP/IP协议所固有的,包括一些基于TCP/IP的服务;另一方面,互联网给众多的商家带来了无限的商机,互联网把全世界连在了一起,走向互联网就意味着走向了世界,这对于无数商家无疑是梦寐以求的好事,特别是对于中小企业。为了解决这一对矛
6、盾、为了能在安全的基础上大开这通向世界之门,我们只好选择了数据加密和基于加密技术的数字签名。 加密在网络上的作用就是防止有用或私有化信息在网络上被拦截和窃取。一个简单的例子就是密码的传输,计算机密码极为重要,许多安全防护体系是基于密码的,密码的泄露在某种意义上来讲意味着其安全体系的全面崩溃。通过网络进行登录时,所键入的密码以明文的形式被传输到服务器,而网络上的窃听是一件极为容易的事情,所以很有可能黑客会窃取得用户的密码,如果用户是Root用户或Administrator用户,那后果将是极为严重的。2、加密技术分析下面介绍两种加密方法:对称式加密技术和非对称式加密技术。2.1对称式加密技术2.1
7、.1 描述对称算法(symmetric algorithm),有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。特点分析 :对称加密的优点在于算法实现后的效率高、速度快。 对称加密的缺点在于密钥的管理过于复杂。如果任何一对发送方和接收方都有他们各自商议的密钥的话,那么很明显,假设有
8、N个用户进行对称加密通信,如果按照上述方法,则他们要产生N(N-1)把密钥,每一个用户要记住或保留N-1把密钥,当N很大时,记住是不可能的,而保留起来又会引起密钥泄漏可能性的增加。常用的对称加密算法有DES,DEA等。2.1.2对称加密算法分析对称加密算法的分类:对称加密算法可以分成两类:一类为序列算法(stream algorithm):一次只对明文中单个位(有时为字节)加密或解密运算。另一类为分组算法(block algorithm):一次明文的一组固定长度的字节加密或解密运算。 现代计算机密码算法一般采用的都是分组算法,而且一般分组的长度为64位,之所以如此是由于这个长度大到足以防止分析
9、破译,但又小到足以方便使用。一、DES加密算法简介(Data Encryption Standard )1973 年 5 月 15 日,美国国家标准局 (NBS) 在“联邦注册”上发布了一条通知,征求密码算法,用于在传输和存储期间保护数据。IBM 提交了一个候选算法,它是 IBM 内部开发的,名为 LUCIFER。在美国国家安全局 (NSA) 的“指导”下完成了算法评估之后,在 1977 年 7 月 15 日,NBS 采纳了 LUCIFER 算法的修正版作为新的数据加密标准。原先规定使用10年,但由于新的加密标准还没有完成,所以DES算法及其的变形算法一直广泛的应用于信息加密方面。(本文将在第
10、四部分具体介绍DES算法及应用,并编写相应加密代码。)二、AES算法DES 算法是全世界最广泛使用的加密算法。最近,就在 2000 年 10 月,它在其初期就取得的硬件方面的优势已经阻碍了其发展,作为政府加密技术的基础,它已由“高级加密标准”(AES) 中包含的另一种加密算法代替了。AES 是指定的标准密码系统,未来将由政府和银行业用户使用。AES 用来实际编码数据的加密算法与以前的 DES 标准不同。AES算法的标准是:1 AES 应该可以公开定义。2 AES 应该是对称的块密码。3 AES 应该设计成密钥长度可以根据需要增加。4 AES 应该可以在硬件和软件中实现。6 将根据以下要素评价符
11、合上述要求的算法:具有安全性(密码分析所需的努力)、计算效率、内存需求、硬件和软件可适用性、简易性、灵活性 三、IDEA加密算法1、算法简介:IDEA算法是International Data Encryption Algorithmic 的缩写,意为国际数据加密算法。是由中国学者朱学嘉博士和著名密码学家James Massey 于1990年联合提出的,当时被叫作PES(Proposed Encryption Standard)算法,后为了加强抵抗差分密码分,经修改于1992年最后完成,并命名为IDEA算法。2、算法的安全性分析:安全性:IDEA的密钥长度是128位,比DES长了2倍多。所以如
12、果用穷举强行攻击的话,那么,为了获得密钥需要 次搜索,如果可以设计一种每秒能搜索十亿把密钥的芯片,并且采用十亿个芯片来并行处理的话,也要用上 年。而对于其他攻击方式来说,由于此算法比较的新,在设计时已经考虑到了如差分攻击等密码分析的威胁,所以还未有关于有谁发现了能比较成功的攻击IDEA方法的结果。从这点来看,IDEA还是很安全的。四、总结几种算法的性能对比见表21表21算法密钥长度分组长度循环次数DES566416三重DES112、1686448AES128、192、25612810、12、14IDEA128648速度:在200MHz的奔腾机上的对比见表22表22CDJGP(+pgcc101)
13、AES30.2Mbps68.275MbpsDES(RSAREF)10.6Mbps16.7Mbps3DES4.4Mbps7.3Mbps五、安全性1990年以来,特制的DES Cracker的机器可在几个小时内找出一个DES密钥。换句话说,通过测试所有可能的密钥值,此硬件可以确定用于加密信息的是哪个密钥。假设一台一秒内可找出DES密钥的机器(如,每秒试255个密钥),如果用它来找出128-bit AES的密钥,大约需要149万亿年。2.2 非对称加密技术2.2.1 描述非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。在公钥加密系统中,加密和解密是相对独立的,加密和解密会
14、使用两把不同的密钥,加密密钥向公众公开,谁都可以使用,解密密钥只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,故其可称为公钥密码体制。如果一个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息。私钥是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。2.2.2目的和意义(1)解决大规模网络应用中密钥的分发和管理问题采用分组密码、序列密码等对称密码体制时,加解密双方所用的密钥都是秘密的,而且需要定期更换,新的密钥总是要通过某种秘密渠道分配给使用方,在传递的过程中,稍有不慎,就容易泄露。公钥密码加密密钥通常是公开的,而解密密钥是秘密的,由用户自己保
15、存,不需要往返交换和传递,大大减少了密钥泄露的危险性。同时,在网络通信中使用对称密码体制时,网络内任何两个用户都需要使用互不相同的密钥,只有这样,才能保证不被第三方窃听,因而N个用户就要使用N(N1)/2个密钥。采用公钥密码体制,N个用户只需要产生N对密钥。由此可见,只有公钥密码才能方便、可靠地解决大规模网络应用中密钥的分发和管理问题。(2)实现网络中的数字签名机制对称密钥技术由于其自身的局限性,无法提供网络中的数字签名。这是因为数字签名是网络中表征人或机构的真实性的重要手段,数字签名的数据需要有惟一性、私有性,而对称密钥技术中的密钥至少需要在交互双方之间共享,因此,不满足惟一性、私有性,无法
16、用做网络中的数字签名。相比之下,公钥密码技术由于存在一对公钥和私钥,私钥可以表征惟一性和私有性,而且经私钥加密的数据只能用与之对应的公钥来验证,其他人无法仿冒,所以,可以用做网络中的数字签名服务。2.2.3 RSA公钥加密技术RS A是Rivest,Shamir,Adleman提出基于数论的非对称密钥体制。RSA是建立在大整数分解的困难上的,是一种分组密码体制。RSA建立方法如下:首先随机选两个大素数p,q , 计算n=pq;计算欧拉函数(n)=(p-1)(q-1);任选一个整数e为公开加密密钥,由e求出秘密解密密钥加密/解密:将明文分成长度小于 位的明文块m,加密过程是:c = E(m,e)
17、 = mod n 解密过程是:m = D(c,d) = mod n 。一、RSA公钥密码体制的安全性分析RSA的安全性依赖于大整数的因式分解问题。实际上,人们推测RSA的安全性依赖于大整数的因式分解问题,但谁也没有在数学上证明从c和e计算m需要对n 进行因式分解。可以想象可能会有完全不同的方式去分析RSA。然而,如果这种方法能让密码解析员推导出d,则它也可以用作大整数因式分解的新方法。最难以令人置信的是,有些RSA变体已经被证明与因式分解同样困难。甚至从RSA加密的密文中恢复出某些特定的位也与解密整个消息同样困难。二、RSA算法工作原理首先,找出三个数,p,q,r,其中p,q是两个相异的质数,
18、r是与(p-1)(q-1)互质的数.p,q,r这三个数便是privatekey 接著,找出m,使得rm=1mod(p-1)(q-1).这个m一定存在,因为r与(p-1)(q-1)互质,用辗转相除法就可以得到了.再来,计算n=pq.m,n这两个数便是public key编码过程是,若资料为a,将其看成是一个大整数,假设a=n的话,就将a表成s进位(s=n,通常取s=2t),则每一位数均小于n,然后分段编码.接下来,计算b=ammodn,(0=b若p,q是相异质数,rm=1 mod (p-1)(q-1),a是任意一个正整数,b=am mod pq, c=br mod pq, 则c=amod pq
19、证明的过程, 会用到费马小定理, 叙述如下:m是任一质数,n是任一整数,则nm=nmodm因为rm=1 mod(p-1)(q-1),所以rm=k(p-1)(q-1)+1,其中k是整数因为在modulo中是preserve乘法的(x=y mod z and u=v mod z=xu=yv mod z),所以c=br=(am)r=a(rm)=a(k(p-1)(q-1)+1)mod pq(1)如果a不是p的倍数,也不是q的倍数时: 则a(p-1)=1modp(费马小定理)=a(k(p-1)(q-1)=1 modp a(q-1) =1 mod q(费马小定理)=a(k(p-1)(q-1)=1 modq
20、所以p,q均能整除a(k(p-1)(q-1即a(k(p-1)(q-1)=1modpq即a(k(p-1)(q-1)=1 mod pq=c=a(k(p-1)(q-1)+1)=a mod pq(2)如果a是p的倍数,但不是q的倍数时:则a(q-1)=1 mod q(费马小定理)=a(k(p-1)(q-1)=1 mod q=c=a(k(p-1)(q-1)+1)=a mod q=q|c-a 因p|a=c=a(k(p-1)(q-1)+1)=0 modp=p|c-a 所以,pq|c-a=c=amod pq(3)如果a是q的倍数,但不是p的倍数时,证明同上(4)如果a同时是p和q的倍数时:则pq|a =c=a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对称式加密技术和非对称式加密技术 毕业论文 对称 加密 技术
链接地址:https://www.31doc.com/p-3928196.html