RSA公钥密码体制简介.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RSA 密码 体制 简介
- 资源描述:
-
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,1,公钥密码技术,2,RSA,公钥密码算法,主要内容:,RSA,公钥密码算法,,RSA,公钥密码的实现。,重点:,RSA,算法,脱密的快速实现,素数生成算法。,难点:,素数生成算法。,3,RSA,体制,由,Rivest,、,Shamir,、,Adleman,于,1978,年首次发表;,最容易理解和实现的公钥算法,;,经受住了多年深入的攻击,;,其理论基础是一种特殊的可逆模幂运算,其安全性基于分解大整数的困难性;,RSA,既可用于加密,又可用于数字签名,已得到广泛采用;,RSA,已被许多标准化组织,(,如,ISO,、,ITU,、,IETF,和,SWIFT,等,),接纳;,目前许多国家标准仍采用,RSA,或它的变型,4,假设,m,为要传送的报文。,1,、任产生两个素数,p,与,q,,使得,n=pqm,2,、随机选择数,e,:,e,与,(p-1)(q-1),互素,3,、用辗转相除法求,d,:,ed=1 mod(p-1)(q-1),4,、公开:(,e,,,n,),保密:,d,加密过程:,c=m,e,mod n,解密过程:,m=c,d,mod n,一、,RSA,算法,1,、,RSA,算法描述,5,定义,:任给一个正整数,m,,如果用,m,去除任意两个整数,a,、,b,所得的余数相同,称,a,、,b,对模,m,同余。记为:,若余数不同,则,a,、,b,对模,m,不同余。记为:。,定理,:,当且仅当,m|(a-b),。,定理,:欧拉定理,对任意 有,推论,:,费尔马定理,,若,p,为素数,则,其中,2,、工作原理,6,RSA,算法论证,E,和,D,的可逆性,要证明:,D(E(M)=M,M,C,d,(M,e,),d,M,ed,mod n,因为,ed,1 mod,(,n),,这说明,ed,t,(,n)+1,其中,t,为某整数。所以,M,ed,M,t(n)+1,mod n,。,因此要证明,M,ed,M mod n,,只需证明,M,t(n)+1,M mod n,。,7,RSA,算法论证,在(,M,,,n,),1,的情况下,根据数论,(Euler,定理,),,,M,t(n),1 mod n,,,于是有,,M,t(n)+1,M mod n,。,8,RSA,算法论证,在(,M,,,n,),1,的情况下,分两种情况:,第一种情况:,M1,2,3,n-1,因为,n=pq,,,p,和,q,为素数,,M1,2,3,n-1,,且(,M,,,n,),1,。,这说明,M,必含,p,或,q,之一为其因子,而且不能同,时包含两者,否则将有,Mn,,与,M1,2,3,n-1,矛盾。,9,RSA,算法论证,10,RSA,算法论证,不妨设,M,ap,。,又因,q,为素数,且,M,不包含,q,,故有(,M,,,q,),1,,,于是有,,M,(,q),1 mod q,。,进一步有,,M,t(p-1),(,q),1 mod q,。,因为,q,是素数,,(,q),(,q-1,),所以,t(p-1),(,q),t,(,n),,,所以有,M,t,(,n),1 mod q,。,11,于是,,M,t,(,n),bq+1,,其中,b,为某整数。,两边同乘,M,,,M,t,(,n)+1,bqM+M,。,因为,M,ap,,故,M,t(n)+1,bqap+M=abn+M,。,取模,n,得,,M,(n)+1,M mod n,。,RSA,算法论证,12,第二种情况:,M,0,当,M,0,时,直接验证,可知命题成立。,RSA,算法论证,13,RSA,算法论证,加密和解密运算的可交换性,D(E(M)=(M,e,),d,=M,ed,=(M,d,),e,=E(D(M)mod n,所以,,RSA,密码可同时确保数据的秘密性和数据的,真实性。,14,RSA,算法论证,加解密算法的有效性,RSA,密码的加解密运算是,模幂运算,,有比较有效,的算法。,15,RSA,算法论证,在计算上由公开密钥不能求出解密钥,小合数的因子分解是容易的,然而大合数的因子分,解却是十分困难的。关于大合数的因子分解的时间,复杂度下限目前尚没有一般的结果,迄今为止的各,种因子分解算法提示人们,这一时间下限,将不低于,O,(,EXP,(,lnNlnlnN,),1/2,),。,根据这一结论,只要合数足够大,进行因子分解是,相当困难的。,16,RSA,算法论证,假设截获密文,C,,从中求出明文,M,。他知道,MC,d,mod n,,,因为,n,是公开的,要从,C,中求出明文,M,,必须,先求,出,d,,而,d,是保密的,。但他知道,,ed1 mod,(,n),,,e,是公开的,要从中求出,d,,必须先求出,(,n),,而,(,n),是保密的,。但他又知道,,(,n)=(p-1)(q-1),,,17,要从中求出,(,n),,必须,先求出,p,和,q,,而,p,和,q,是保密的,。,但他知道,,n=pq,,,要从,n,求出,p,和,q,,只有对,n,进行因子分解。而当,n,足够大时,,这是很困难的。,RSA,算法论证,只要能对,n,进行因子分解,便可攻破,RSA,密码。由此可以,得出,,破译,RSA,密码的困难性对,n,因子分解的困难性。,目,前尚不能证明两者是否能确切相等,因为不能确知除了对,n,进行因子分解的方法外,是否还有别的更简捷的破译方,法。,18,3,、例子:,假设,RSA,体制中,p=3,q=11,取加密密钥,e=7.,(1),求脱密密钥,d;,(2),写出相应的加密算法和脱密算法,;,(3),对明文,m=8,加密。,7d,mod20=1,因,e=7,与 互素,故可解模方程 ,即,解,:,此时,n,p,q,33,,且,得到,d,3,。,19,故,RSA,体制明、密文空间,:,Z,/(33),加密密钥:,(e,n)=(7,33),脱密密钥:,(d,p,q)=(3,3,11),加密算法,:,c,m,7,mod33,脱密算法,:,m,c,3,mod33,对明文,m,8,加密,得,:,c,8,7,mod33=2,20,二、,RSA,算法的参数选择,为了确保,RSA,密码的安全,必须认真选择密码参数:,p,和,q,要足够大;,一般应用:,p,和,q,应,512 bits,重要应用:,p,和,q,应,1024 bits,p,和,q,应为强素数,文献指出,只要,(p-1),、,(p+1),、,(q-1),、,(q+1),四,个数之一只有小的素因子,,n,就容易分解。,p,和,q,的差要大;,21,(,p-1,)和(,q-1,)的最大公因子要小,。,如果(,p-1,)和(,q-1,)的最大公因子太大,则易受,迭代加密,攻击,。,e,的选择,随机且含,1,多就安全,但加密速度慢。于是,有的学者建议取,e,216+1,65537,d,的选择,d,不能太小,要足够大,不要许多用户共用一个模,n,;,易受共模攻击,22,1989,年,Lenstra,Manasse,利用二次筛法使用数百台工作站分解了,106,位十进制数;,1990,年,Lenstra,Manasse,Pollar,利用数域筛法使用,700,台工作站花费个月时间将,155,位十进制数分解成三个素数之积;,1994,年,Atkins,Graff,Lenstra,Lerland,利用多重二次筛法的双重大素数算法动用,1600,台计算机联网,,600,名志愿者花费个月时间分解了,129,位十进制数;,2002,年成功分解,158,位的十进制数。,结论:,154,位十进制数(,512bit,)的模长已经不安全,应使用,308,位十进制数(,1024bit,)模长。,23,三、,RSA,算法中大素数生成,RSA,的安全性基础是基于,大合数分解,的困难性,在,RSA,算法中要求模数,N,是两个大素数,p,和,q,的乘积。,用户选择模数,N,的方法是先找到两个素数,然后生成相应的模数,N,。,素数判定,是要解决的首要问题。,24,1,、产生大素数的算法(,Rabin,素性检测算法,),由欧拉定理知,若,n,为素数:,则,n,可能为素数,也可能为合数,。,Rabin,由此设计了一个,判定,n,是否为,素数的算法,。,反过来若:,则,n,必为合数。,若,25,1,、产生大素数的算法,Rabin,素性检测算法,Rabin,素性检测法是一种,概率,素数测试法。,其输入为一奇数,输出为两种状态,Yes,或,No,。若输入一奇数,N,,而输出为,No,,即表示,N,必定为合数。若,输出为,Yes,,则表示,N,为素数的,概率为,1-,,其中,为此素数测试法中,可控制的任意小数,,但不能为,0,。(,是在,N,是合数的条件下误判为素数的条件概率。),26,Rabin,素性检测算法:,(1),任取一个大奇数,n,(,2,)任取 且,(a,n)=1,(,3,)如果,则判,n,是素数;,否则判,n,是合数,重新选取,n,重复上过程。,Rabin,证明了由上述算法所产生的素数的误判概率,:,由此,我们将算法中的第,(2),和,(3),步骤重复,k,次,这样判定,n,为素数的误判概率小于等于,(1/4),k,。,计算复杂度为:,O(log,2,n),3,),27,Miller-Rabin,算法,随机选择一个奇整数,n(,如利用伪随机数产生器,),;,随机选择一个整数,an,;,执行诸如,Miller-Rabin,等概率素数测试。若,n,未通过测试,则转到第一步;,若,n,通过足够多次的测试,则接受,n,;否则转向第,2,步。,28,在实际使用中,通过首先检验待检测的随机数是否是小素数,(,例如所有小于,1000,的素数,),的倍数,待检测通过后再执行,Rabin,检测。,Miller-,Rabin,素数检测算法,已经作为标准的检测算法列入,IEEE P1363,的附录,和,NIST,的数字签名标准的附录,,作为密码学标准使用。,29,RSA,的加脱密计算都是在模,N,运算下进行的,尽管这两个加脱密计算公式形式上比较简单,但由于其加、脱密的两个主要运算,即,指数运算,与,模大整数运算,均涉及到很大的数,故,RSA,的实现还是有较大的难度。,快速乘方算法,30,指数运算 最简单而直接的计算方法,就是将,m,连续乘,e-1,次,如此就可以获得的值了。,当,m,或,e,很大时,其计算复杂度将是非常高的。,在指数运算中,比较有名的是,二元法(也称为平方乘法),31,设,e,为,k,位二进制数,,w(e),为,e,的二进制系数中为,1,的个,数,则最多只需要计算,w(e)-1,次平方,和,w(e),次数的模,乘,。从而大大简化了计算。,32,以,512,比特加密指数为例,整数,e,的二进制表示为,:,一般的加密过程为,:,33,当要对明文进行加密时,可先进行预处理,计算出,m,2,、,m,3,等,这种方法我们称之为窗口法。,34,例:,计算,:,35,第一步首先计算,第二步计算,第三步计算,第四步计算,最后一步计算,结论:,36,快速模乘算法,反复平方乘算法解决了快速乘方取模的问题,,仍未解决快速模乘的问题;,Montgomery,算法,是一种快速模乘的好算法;,将以上两种算法结合成为实现,RSA,密码的,有效,方法。,37,Montgomery,算法的思路:,要计算,Y=AB mod n,因为,n,很大,取模运算困难,采取一,个小的模,R,,回避大模数的计算。,利用空间换时间,多用存储空间换取快速。,缺点:不能直接计算出,Y=AB mod n,,只能计算出中间,值,AB,R,-1,mod n,,因此还需要预处理和调整运算。一次性,计算,Y=AB mod n,并不划算。,适合:,RSA,等密码中多次的模乘计算。,38,对称密钥密码学与公钥密码学,1,、对称密钥密码学的优点,(,1,)能够设计为具有很高的数据吞吐率。硬件实现可以达到每秒加密几百兆字节,而软件实现的吞吐率也达到了每秒兆字节的数量级。,(,2,)对称密码的密钥相对较短。,(,3,)对称密钥密码可以作为要素来构造各种密码机制。比如伪随机数生成器、杂凑函数、快速数字签名方案等,(,4,)对称密钥密码能合成强密码。简单变换容易被分拆,但是研究其弱点后,可用来构造强的乘积密码。,39,2,、对称密钥密码学的缺点,(,1,)在一个双方的通信中,密钥必须在两端都保密。,(,2,)在大型网络中,要管理许多密钥对。其结果是,有效的密钥管理需要一个无条件可信的,TTP,。(称一个,TTP,是无条件可信的,如果它在所有事情上都可信。例如它也许可以访问用户的秘密密钥和私钥,还承担着公钥和标识符的联系),(,3,)对实体,A,与,B,之间的一个双方通信,使用密钥的良好习惯是:经常更换密钥,通常是会话密钥一次一换。,(,4,)源自对称密钥加密的数字签名机制通常需要关于公开验证函数的大密钥,或者使用,TTP,。,40,3,、公钥密码学的优点,(,1,)只有私钥必须保密。(但必须保证公钥的真实性),(,2,)与无条件可信的,TTP,相反,公钥密码管理需要的只是一个功能上可信的,TTP,(称一个,TTP,是功能上可信的,如果它是诚实且公正的,但是不可以访问用户的秘密密钥和私钥)。关于使用方式,和实时的需要使用相反,这个,TTP,也许只需以离线方式使用。,(,3,)依赖于使用方式的差别,一个私钥,/,公钥对可以在一段相当长的时期内保持不变,甚至数年。比如多次会话使用相同密钥。,41,(,4,)许多公钥方案产生了相对有效的数字签名机制。用于刻画公开验证函数的密钥通常比对称密钥小很多。,(,5,)在大型网络中,所需密钥的数量要比对称密钥情形下少很多。,42,4,、公钥密码学的缺点,(,1,)在吞吐率方面,大多流行的公钥加密方法要比已知最好的对称密钥加密方案慢几个数量级。,(,2,)密钥长度(如,RSA,的,1024,比特)明显要比对称密钥(如,64,比特或,128,比特)加密所需大得多(,10,倍或更多)。这是因为针对对称密钥系统的最有效的攻击是密钥穷搜(这一般是设计要求),而对公钥系统来说,快捷攻击(如因子分解)比穷搜有效得多。,43,(,3,)没有公钥方案被证明是安全的(对分组秘密也一样)。至今发现的最有效的公钥加密方案都把安全性建立在一小批数论问题的困难性假定之上。,(,4,)公钥密码学没有对称密钥加密那样长久的历史,它在,20,世纪,70,年代中期才被发现。,44,5,、总结,对称密钥加密和公钥加密有许多互补的优点。目前的密码系统融合了两者的优势。,凭借公钥加密技术来建立密钥,然后用于实体,A,和,B,进行通信的对称密钥密码系统。,A,和,B,就可综合利用公钥方案的公钥与私钥对长期性,以及对称密钥方案的高效性。数据加密通常是加密过程耗费时间最多的部分,而公钥方案实现的密钥建立只是,A,和,B,之间整个加密过程的一小部分(从耗时来考虑)。,45,在计算效率上,公钥加密比不上对称加密,但也没有证明说一定是这样。总得来说,公钥密码学推动有效的签名(特别是不可抵赖性)和密钥管理,对称密钥密码学对加密及一些数据完整性应用很有效。,谢谢,46,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




RSA公钥密码体制简介.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13176536.html