- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七讲RSA和Rabin算法下
第七讲 RSA和Rabin算法(下) 本讲提要 RSA加密的安全(续) RSA加密实践 Rabin加密算法 Rabin加密的执行 Rabin加密的安全 公钥加密的总结 3.8 循环攻击 3.8 循环攻击 (续) 3.8 循环攻击 (续) 3.9 消息隐藏问题 3.9 消息隐藏问题(续) 3.10 前项搜索攻击 3.11 RSA-OAEP 3.11 RSA-OAEP (续) 3.11 RSA-OAEP (续) 3.12 定时攻击 对RSA算法的攻击,可能不仅仅来自算法本身,对其的不恰当执行同样可能导致系统的漏洞。攻击者将可能利用这些执行的弱点来危及整个RSA系统的安全。对密码系统的执行攻击受到安全工程师和用户的极大关注。 执行攻击包括:定时攻击,电耗分析攻击,出错攻击,和电磁辐射攻击等。我们常常称这些攻击为边信道攻击(side-channel attacks)。边信道这个词用来描述从目标设备,例如,智能卡,无意泄露的信息。 3.12 定时攻击 (续) 在定时攻击中的边信道是指设备在做秘密密钥操作时需要的时间。攻击者能够仔细的测量目标系统的执行时间进而发现存储于设备中的秘密密钥,最终使整个安全系统崩溃。不少现实系统潜在受到这一攻击威胁,包括各种密码令牌,基于网络的密码系统,以及其它攻击者可以准确测量执行时间的应用系统。 3.12 定时攻击 (续) 假定环境.攻击者可以观察系统对多个密文消息g的解密。他也知道加密算法的执行细节并能应用这些信息确定可能发生在算法计算过程中的不同步骤需要的执行时间。同时,假定计算gd(mod n)使用的是上一讲的算法4。 3.12 定时攻击 (续) 3.12 定时攻击 (续) 3.12 定时攻击 (续) 3.12 定时攻击 (续) 4 RSA加密实践 4.1 模的大小 根据分解整数算法特别是数域筛法的进展,RSA中的模n应该至少为1024比特。从长远的安全考虑,应该使用2048比特或更大的模。 4.2 素数的选择 (1) 素数p和q的选择原则是使分解整数n =p?q在计算上不可能。主要对p和q的限制是它们必须有足够的长度并且有差不多相等的比特长度。例如,如果使用1024比特的模n,那么,p和q应该都是在512比特左右。 (2) 另一个对素数p和q的限制是p-q不能太小。如果p和q是随机选择产生,则p-q将会以压倒的概率比较大。 4.2 素数的选择(续) (3) 许多地方推荐使用强素数p和q。一个素数p是强素数需要满足以下三个条件: * p-1 有大的素数因子,称为r; ** p+1 也有大的素数因子; *** r -1 仍然有大的素数因子。 第一个条件的原因是存在Pollard的p-1分解算法,这一算法只在模n存在一个素数因子p满足p-1平滑时有效;第二个条件的原因是存在 p+1分解算法,这一算法只在模n存在一个素数因子p满足p+1平滑时有效;第三个条件的原因为了保证循环攻击无效。 如果素数p随机选择且足够大,则p-1和p+1将有非常大的可能有大素数因子。此外,如果p和q为随机选择,则循环攻击成功的可能性可以忽略。因此,强素数并不能比随机选择素数提供太多的保护。以现有的分解算法知识,并没有一定需要使用强素数的理由。另一方面,产生强素数相对随机产生素数仅增加了微小的计算时间,因此,即使使用强素数也不会带来多少开销。 4.3 指数 (1) 如果随机选择加密指数e,则RSA加密使用算法4将需要k次模平方和平均 k/2次模乘,这里k是模n的比特长度。加密速度可以通过选择小的加密指数e并(或)选择加密指数e的二进制表示中1的个数尽量少。 4.3 指数(续) (2) 在实际中,加密指数通常选择e=3。在这种情况下,要求p-1和q-1都不可以被3整除。这样做的好处是加密操作速度非常快只需要1次模乘和1次模平方。另一个在实际中经常使用的加密指数为e=216+1=65537。这个数字的二进制表示中仅有2个1,因此,在使用算法4加密时仅需要16次模平方和1次模乘。加密指数e=216+1常常认为优于e=3,这是由于在应用中通常不太可能将同一条消息发送给216+1 个接收者。 4.3 指数(续) (3) 由于小指数攻击,需要解密指数dn0.292。 Boneh和Durfee认为他们的攻击算法不能算做理论,这是因为他们也不能证明攻击算法一定总能成功。但是通过实验已经证实了攻击算法的确有效,他们并没有发现一个例子会导致攻击算法失败。 5 Rabin加密算法 5.1 算法描述 5.1 算法描述(续) 5.1 算法描述(续) 5.1 算法描述(续) 5
文档评论(0)