信息的安全传输公钥密码学.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息的安全传输公钥密码学.ppt

背包加密算法 RSA算法 RSA算法 加密解密的过程: 加密:C = Me mod n 解密:Cd mod n = (Me)d mod n = Med mod n 该算法必须满足下列条件: 可以找到e,d和n,使得对所有Mn,有Med mod n = M 对所有Mn,计算Me mod n和Cd mod n 比较容易 由e和n确定d是不可行的 RSA算法_问题1 Cd mod n=(Me)d mod n=Med mod n=M在条件ed=1 mod φ(n)下成立,其中φ(n)是欧拉函数。 Cd mod n = ( Me mod n )d mod n = Med mod n = M1+kφ(n) mod n = ( M*( M φ(n) )k ) mod n = ( M*( M φ(n) mod n )k ) mod n = ( M*1k ) mod n = M RSA算法_问题2 在RSA中,加密和解密都需要计算某整数的模n整数次幂,如果先求出整数的幂,再对n取模,那么中间结果会非常大。利用模算术的下列性质计算模幂运算: [(a mod n) ×(b mod n)] mod n = (a×b) mod n 将中间结果对n取模,这使得计算切实可行。 RSA算法_ 问题2 模算术里的求幂运算 RSA所用到的指数很大,所以还应考虑幂运算的效率。 ab mod n的算法: c←0; f ← 1 for i ← k downto 0 do c ← 2 × c f ←( f × f ) mod n if bi=1 then c←c+1 f ←( f ×a ) mod n return f RSA算法_问题2 密钥产生 在应用公钥密码进行通信之前,通信双方都必须产生一对密钥,即: (1)确定两个素数p和q——素性测试(概率测试方法) (2)选择e或者d,并计算d或者e RSA的安全性 对RSA算法的攻击可能有如下四种方式: 穷举攻击:使用大密钥空间抗攻击;效率问题 数学攻击:试图分解两个素数的乘积 计时攻击:依赖于解密算法的运行时间 选择密文攻击:利用RSA算法的性质 RSA的安全性 因子分解问题 分解n为两个素因子p和q 直接确定φ(n)而不先确定p和q 直接确定d,而不先确定φ(n) φ(n)=(p-1)(q-1) d≡e-1(mod φ(n)) RSA的安全性 因子分解问题 对RSA密码分析的讨论大都集中于第一种攻击方法。攻击者攻击RSA体制的关键点在于如何分解n 若分解成功使n=pq,则可以算出φ(n)=(p-1)(q-1),然后由公开的e,解出秘密的d。 若要使RSA安全,p与q必为足够大的素数,使分析者没有办法在多项式时间内将n分解出来 大数因子分解是一个NP问题 目前已知的最好的算法需要进行ex次算术运算。假设我们用一台每秒运算一亿次的计算机来分解一个200位十进制的数,需要3.8×107年,类似地,要分解一个300位的十进制整数,则需要4.86×1013年。可见 ,增加位数,将大大地提高体制的安全性。 因此,从直接分解大数来破译RSA是计算上不可能的,那么是否存在一种破译方法不依赖于的分解呢?虽然现在还没有发现,但是也没有严格的论证。 RSA的安全性 大数因子分解是一个NP问题 直接分解一个大素数的强力攻击的一个实例是:1994年4月分解的RSA密钥RSA-129,即分解了一个129位十进制,425bit的大素数。分解时启用了1600台计算机,耗时8个月,处理了4600MIPS年的数据。1MIPS年是1MIPS的机器一年所能处理数据量。 Pentium100大约是125MIPS,它分解RSA-129需要37年。100台Pentium100需要4个月。 RSA的安全性 大数因子分解是一个NP问题 就目前的计算机水平用1024 bit的密钥是安全的,2048 bit是绝对安全的。RSA实验室认为,512 bit的n已不够安全,应停止使用,现在个人需要用668 bit的n ,公司要用1024 bit的n,极其重要的场合应该用2048 bit的n。 RSA的安全性 计时攻击 攻击者可以通过记录计算机解密消息所用的时间来确定私钥。 这种攻击具有完全不可预知性,它仅依赖于密文。 RSA的安全性 选择密文攻击和最佳非对称加密填充 进行选择密文攻击时,攻击者选择一些密文,并获得相应的明文

文档评论(0)

000 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档