- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RSA算法分析
目录 RSA概述 RSA算法详解 测试脚本中的函数介绍 1976年,Diffie和Hellman在文章“密码学新方向(New Direction in Cryptography)”中首次提出了公开密钥密码体制的思想,1977年, Rivest、Shamir和Adleman三个人实现了公开密钥密码体制,现在称 为RSA公开密钥体制。 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解 和操作。 RSA算法是一种非对称密码算法。 RSA算法的安全性基于数论中大整数分解的困难性。 迄今为止理论上最为成熟完善的公钥密码体制。 概况: RSA安全性: RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。RSA 的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。人们已能分解多个十进制位的大素数。因此,为了防止可以很容易地分解n,模数n必须选大一些 一般 RSA算法的模数n要到1024位甚至2048位才能保证安全。 RSA的速度: 由于进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。RSA的速度比对应同样安全级别的对称密码算法要慢1000倍左右 RSA不足: 产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。 安全性受到攻击:时间攻击、模数n攻击 速度太慢,由于RSA 的分组长度太大,为保证安全性,n 至少也 要 600 bitx以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。因此,使用RSA只能加密少量数据,大量的数据加密还要靠对称密码算法。 RSA与DES的区别: DES:对称加密算法,加解密用同一个密钥,安全性差,但速度快。 RSA:非对称加密算法,加解密双方都使用自己的公钥和私钥,私钥只有自己知道(也可能丢失),安全性好,但速度慢。 RSA概述 RSA算法详解 数学的基本概念: 素数:除了能表示为自身和1的乘积以外,不能表示为任何其它两个整数的乘积。例如,15=3*5,15不是素数;13=13*1,13是素数。素数也称为“质数” 互素数:公约数只有1的两个自然数,叫做互质数,即互素数 模指数运算:模运算是整数运算,有一个整数m,以n为模做模运算,即m mod n。即m去被n整除,只取所得的余数作为结果,就叫做模运算。例如,10 mod 3=1;28 mod 2 =0等。模指数运算就是先做指数运算,取其结果再做模运算。如53 mod 7=125 mod 7=6 RSA算法详解 RSA算法既可用于加密、又可用于数字签名, 且加解密的算法完全相同的。 其中,公钥用于加密、验签;私钥用于解密、签名。 下表为公钥、私钥的组成,以及加密、解密的公式: RSA算法描述: (1)选择一对不同的、足够大的素数p和q。 (2)计算n=p·q。 (3)计算f(n)=(p-1)(q-1),同时对p和q严加保密,不让任何人知道。 (4)找一个与f(n)互质的数e,且1ef(n)。 (5)计算d,使得d·e ≡1 mod f(n)或d≡e-1 mod f(n) (6)公钥KU=(e,n),私钥KR=(d,n)。 (7)加密时,先将明文变换成0至n-1的一个整数m。若明文较长,可先分割成适当的组,然后再进行交换。设密文为C,则加密过程为:c≡ me(mod n) (8)解密过程为:m≡ cd(mod n) RSA算法详解 注:≡是数论中表示同余的符号。公式中,≡符号的左边必须和符号右边同余,也就是两边模运算结果相同。显而易见,不管f(n)取什么值,符号右边1 mod f(n)的结果都等于1;符号的左边d与e的乘积做模运算后的结果也必须等于1。这就需要计算出d的值,让这个同余等式能够成立 RSA算法详解 选p=7,q=17。 求n=p×q=119, f(n)=(p-1)(q-1)=96。 取e=5,满足1e f(n),且gcd(f(n),e)=1。确定满足d·e=1 mod 96且小于96的d,因为77×5=385=4×96+1,所以d为77。 因此公开钥为{5,119},秘密钥为{77,119}。设明文m=19,则由加密过程得密文为 C=195 mod 119≡2476099 mod 119=66 解密为6677mod 119=19 示例: RSA算法详解 QA
文档评论(0)