加密与解密算法的研究计算机论文_第1页
加密与解密算法的研究计算机论文_第2页
加密与解密算法的研究计算机论文_第3页
加密与解密算法的研究计算机论文_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、加密与解密算法的研究_计算机论文加密与解密算法的研究_计算机论文摘 要:计算机信息的保密问题显得越来越重要,无论是个人信息通信还是电子商务发展,都迫切需要保证internet网上信息传输的安全,需要保证信息安全。其中,信息安全的核心是密码技术。关键词:信息安全 密码技术 方案论证 应用1对称密码体制对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大

2、的情况下,对称加密系统是有效的。但是对于大型网络,当用户群很大,分布很广时,密钥的分配和保存就成了问题。2非对称密码体制非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥向公众公开,谁都可以使用,解密密钥只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,故其可称为公钥密码体制。如果一个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息。私钥是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。3目的和意义(1)解决大规模网络应用中密钥的分发和

3、管理问题采用分组密码、序列密码等对称密码体制时,加解密双方所用的密钥都是秘密的,而且需要定期更换,新的密钥总是要通过某种秘密渠道分配给使用方,在传递的过程中,稍有不慎,就容易泄露。公钥密码加密密钥通常是公开的,而解密密钥是秘密的,由用户自己保存,不需要往返交换和传递,大大减少了密钥泄露的危险性。同时,在网络通信中使用对称密码体制时,网络内任何两个用户都需要使用互不相同的密钥,只有这样,才能保证不被第三方窃听,因而n个用户就要使用n(n1)/2个密钥。采用公钥密码体制,n个用户只需要产生n对密钥。由此可见,只有公钥密码才能方便、可靠地解决大规模网络应用中密钥的分发和管理问题。(2)实现网络中的数

4、字签名机制对称密钥技术由于其自身的局限性,无法提供网络中的数字签名。这是因为数字签名是网络中表征人或机构的真实性的重要手段,数字签名的数据需要有惟一性、私有性,而对称密钥技术中的密钥至少需要在交互双方之间共享,因此,不满足惟一性、私有性,无法用做网络中的数字签名。相比之下,公钥密码技术由于存在一对公钥和私钥,私钥可以表征惟一性和私有性,而且经私钥加密的数据只能用与之对应的公钥来验证,其他人无法仿冒,所以,可以用做网络中的数字签名服务。二、方案论证1介绍rsa公钥密码体制rs a是rivest,shamir,adleman提出基于数论的非对称密钥体制。rsa是建立在大整数分解的困难上的,是一种分

5、组密码体制。rsa建立方法如下:首先随机选两个大素数p,q , 计算n=p • q;计算欧拉函数 (n)=(p-1)(q-1);任选一个整数e为公开加密密钥,由e求出秘密解密密钥加密/解密:将明文分成长度小于 位的明文块m,加密过程是:c = e(m,e) = mod n解密过程是:m = d(c,d) = mod n2rsa公钥密码体制的安全性分析rsa的安全性依赖于大整数的因式分解问题。实际上,人们推测rsa的安全性依赖于大整数的因式分解问题,但谁也没有在数学上证明从c和e计算m需要对n 进行因式分解。可以想象可能会有完全不同的方式去分析rsa。然而,如果这种方法能让密码解析员推

6、导出d,则它也可以用作大整数因式分解的新方法。最难以令人置信的是,有些rsa变体已经被证明与因式分解同样困难。甚至从rsa加密的密文中恢复出某些特定的位也与解密整个消息同样困难。3设计rsa系统的注意事项(1)经过对rsa安全性的分析,可以得出使用rsa时应该注意的事项:随机选择足够大素数;在使用rsa的通信网络协议中,不应该使用公共模;不要让攻击者得到原始的解密结果;解密密钥d相对模数n来说不应过小;应该或者加密密钥大;或者被加密的信息m总是大而且m不能是一些已知值的乘积,后面一种情况可以在加密前对m填充随机值实现。相关的消息不能用同样的密钥加密,加密前对消息进行随机值填充破坏消息之间的代数

7、联系及相关性,但是要注意填充算法的选择;应该使获得对任意值的原始签名不可能。被签名的消息应该与模数差不多大,而且不是一些已知值的乘积;(2)rsa系统的参数选择rsa系统是第一个将安全性植基于因子分解的系统。很明显地,在公开密钥(e,n)中,若n能被因子分解,则在模n中所有元素价的最小公倍数(即所谓陷门)t=(n)=(p-1)(q-1)即无从隐藏。使得解密密钥d不再是秘密,进而整个rsa系统即不安全。虽然迄今人们尚无法“证明”,破解rsa系统等于因子分解。但一般“相信”rsa系统的安全性,等价于因子分解。即:若能分解因子n,即攻破rsa系统;若能攻破rsa系统,即分解因子n(相信,但未证明)。

8、因此,在使用rsa系统时,对于公开密钥n的选择非常重要。必须使得公开n后,任何人无法从n得到t。此外,对于公开密钥e与解密密钥d,亦需有所限制。否则在使用上可能会导致rsa系统被攻破,或应用在密码协议上不安全。 4rsa公钥密码体制的应用(1)数字签名长期以来的日常生活中,对于重要的文件,为了防止对文件的否认,伪造,篡改等等的破坏,传统的方法是在文件上手写签名。但是在计算机系统中无法使用手写签名,而代之对应的数字签名机制。数字签名应该能实现手写签名的作用,其本质特征就是仅能利用签名者的私有信息产生签名。因此,当它被验证时,它也能被信任的第三方(如法官)在任一时刻证明只有私有信息的唯一掌握者才能

9、产生此签名。其特点:签名是可信的,签名是不能伪造的,签名是不可重用的,签名后的文件是不能更改的,签名是不能否认的。三、过程论述1rsa算法工作原理首先,找出三个数,p,q,r,其中p,q是两个相异的质数,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,然

10、后分段编码.接下来,计算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 证明的过程, 会用到费马小定理, 叙述如下:m是任一质数,n是任一整数,则nm=nmodm证明>因为rm=1 mod(p-1)(q-1),所以rm=k(p-1)(q-1)+1,其中k是整数因为在modulo中是preserve乘法的(x=ymodz and u=vmodz=>xu=yv modz),所以c=br=(am)r=a(rm)=a(k(p-1)(q-1)+1)modpq(1)如

11、果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所以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 modq=>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所以,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论