浅析RSA算法的安全性.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析RSA算法的安全性   摘要:随着计算机科学技术及网络通信技术的飞速发展和 Internet的快速普及,计算机网络的和无线通信技术的应用已遍及人类社会的各个领域。网络的发展给人们带来了前所未有的便利,同时也给人们提出了新的挑战。如果通过网络以明文方式传送不希望第三方知道的敏感信息,无论是通过无线还是有线传输,所传送的敏感信息很容易被第三方窃听。若把在公共信道上传送的信息以密文的方式传输,使窃听者难以获得有用信息,则可达到安全通信的目的。密码技术是唯一已知的实用方法。   关键词:RSA算法;网络;密码;安全性   中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)27-7660-02      1 RSA 公钥密码算法简介      1978年美国麻省理工学院(MIT)的研究小组成员李维斯特(R.L.Rives)、沙米尔(A.Shamir)和艾德勒曼(L.Adelman)在杂志IEEE上发表论文,提出了一种以幂模函数为密码算法的公钥体制,通称RSA公钥密码体制。它是一种比较典型的公开密钥加密算法,也是迄今为止理论上最为成熟和完善的一种公钥密码体制。普遍认为是一个比较理想的公钥体制,到目前为止,仍不失为最有希望的一种公钥密码体制。   1.1 RSA 公钥密码算法的数学基础   同大多数公钥密码体制一样,RSA的安全性主要取决于构造其加密算法的数学函数的求逆的困难性,我们称这样的函数为单向函数。单向函数在密码学中起一个中心作用。它对公钥密码体制的构造是非常重要的。单向函数的研究是公钥密码体制理论中的一个重要课题。但是,虽然很多函数(包括RSA算法的加密函数)被认为或被相信是单向的,但目前还没有一个函数能被证明是单向的。所谓“单向函数”就是极难求得其反函数的函数。单向函数是贯穿整个公钥密码体制的一个核心概念。   RSA的基础是数论的欧拉定理。   欧拉定理:若整数a和n互素,则a?渍(n)≡1 mod n   其中?准(n)是比n小但与n互素的正整数个数。   推论(Fermat):若p是素数,(a,p)=1,则ap-1≡1 mod p   1.2 RSA加密算法的流程   1) 找到三个数:p, q, d,其中p和q是两个相异的质数,d是与(p-1)(q-1)互质的数。计算出n=pq。   2) 寻找另一个数e,使得ed ≡1 mod ?准(n)。因为d与?准(n)互质,所以用辗转相除法一定可以找到e。   3) 把{n, e}公开,作为公钥,(n, d)就是私钥;加密时,将待加密信息M看成一个大整数,假设Mn,计算C = Me mod n ,显然oCn, C就是加密后的信息。注意,这里的假设条件总是可以成立的,因为当M ≥ n的话,我们可以将M表示成s进位(s ≤ n 通常s =2t),则每一位数均小于n,然后就可以分段应用上面的方法加密。解密时,计算M = Cd mod n 即可。如果第三者进行窃听时,他会得到几个数:m, n(=pq), e。他如果要解码的话,必须想办法得到d。所以,他必须先对n作质因数分解。如果他能够成功的分解n,得到这两个质数p和q,那么就表明此算法被攻破,而这是一个困难的问题,也是RSA算法的基础。   1.3 RSA 公钥密码算法的实现   RSA运用两个指数e和d,这里e是公共的而d是私密的。假定P是明文C是密文,发信方运用C=Pe mod n从明文P来创建密文C;收信方运用P=Cd mod n恢复发信方发送的明文。模n是一个非常大的数,是在密钥生成过程中创建的。数对(e,n)称为公钥,是可以对外公布的,(d,n)称为私钥,为解密者所有,不对外公布,此外,公钥和私钥是互逆的,也可以以(d,n)为公钥而(e,n)为私钥。创建公钥和私钥的步骤如下:   1) 随机选取两个不同的大素数p和q,记n=p*q,此处的n即为RSA算法的模。   2) 随机选取e,要求e与(p-1)(q-1)互质,且1e(p-1)(q-1),此处的e和1)中的n组合起来即为公钥数对,e的选取可以人工指定,比如本软件中e的数值始终为65537。   3) 计算满足e × d=1(mod(p-1)(q-1))的d,此处的d即为私钥。公式e × d=1(mod(p-1)(q-1))表示数e和d互为乘法逆,即满足(p-1)(q-1) × z+1=e × d其中z为整数。   4) 加密过程为C=Me mod n,M为明文,C为密文。   5) 解密过程为M=Cd mod n。      2 RSA攻击      2.1 攻击手段   攻击者对 RAS系统攻击有:强行攻击、定时攻击、穷举攻击、统计分析攻击、数学分析攻击。   强行攻击:强行攻击是

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档