中国剩余定理 rsa加解密 c源代码_格密码基础 7 (Lecture 4, RSA低指数攻击)

注:本文章中内容和图片主要来源于 Oded Regev 的课堂讲义。

初识 RSA

众所周知的

equation?tex=%5Crm+RSA 公钥密码体制现在被广泛应用于从网络浏览器到智能卡的各种应用中。 自
equation?tex=1977 年首次发表以来,许多研究人员试图寻找系统中的漏洞。 发现了一些巧妙的攻击。 然而,已知的攻击都不是毁灭性的,
equation?tex=%5Crm+RSA 系统仍然被认为是安全的。

在这次课程中,提出了一个这样的攻击,最初源自 Hastad,然后由 Coppersmith 改良。 当

equation?tex=%5Crm+RSA 与低公共指数一起使用时,可以开展此攻击。攻击基于一种寻找低次多项式小解的算法,而这种算法又基于
equation?tex=%5Crm+LLL 算法。 这种寻根算法本身很有趣,也用于对
equation?tex=%5Crm+RSA 系统的其他攻击。
由于很多同学对 RSA 算法不是特别熟悉,我下面简单的介绍下 RSA 算法,还有对加解密算法做一个证明,以帮助大家更好的阅读下面的文章。

让我们描述一个简单版本的RSA密码系统。 设

equation?tex=N%3Dp%C2%B7q 是两个大小大致相同的大素数的乘积。设
equation?tex=r%2Cs 是满足
equation?tex=r%C2%B7s%3D1%28%7B%5Crm+mod%7D+%5C+%CF%95%28N%29%29 的两个整数,其中
equation?tex=%CF%95%28N%29%3D%28p%E2%88%921%29%28q-1%29 是乘法群
equation?tex=%5Cmathbb+Z%5E%E2%88%97_N 的阶数。 我们称
equation?tex=N
equation?tex=%5Crm+RSA 的模,
equation?tex=r 为公共指数,
equation?tex=s 为私有指数。
equation?tex=%28N%2Cr%29 是公钥。 顾名思义,它是公开的,用于加密消息。
equation?tex=%28N%2Cs%29 称为私钥,只有加密消息的接收方知道。 私钥可以解密密文。 消息是整数
equation?tex=M%E2%88%88%5Cmathbb+Z%5E%E2%88%97_N 。 为了加密
equation?tex=M ,计算
equation?tex=C%3DM%5Er%28%7B%5Crm+mod%7D++%5C+N%29 。 为了解密密文,合法接收方计算
equation?tex=C%5Es%28%7B%5Crm+mod%7D%5C+N%29 。 事实上,
equation?tex=C%5Es%3DM%5E%7Br%C2%B7s%7D%3DM%28%7B%5Crm+mod%7D+%5C+N%29 ,其中最后一个等式遵循欧拉定理。
首先让我们看一下欧拉定理。在数论中,欧拉定理,(也称费马-欧拉定理)是一个关于同余的性质。欧拉定理表明,若
equation?tex=n%2Ca 为正整数,且
equation?tex=n%2Ca 互质,则:
equation?tex=a%5E%7B%5Cvarphi%28n%29%7D%3D1%28%7B%5Crm+mod%7D+%5C+n%29

对于密钥的生成和加密阶段,都很好理解,现在我们主要来看下解密过程。

回顾一下,

equation?tex=%5Clangle+N%2Cr%5Crangle+%2C+%5Clangle+N%2Cs%5Crangle 分别为算法中的公钥和私钥,根据算法性质知
equation?tex=r%C2%B7s%3D1%28%7B%5Crm+mod%7D+%5C+%CF%95%28N%29%29 (这里的等号为模等),下同。

证明:

  1. equation?tex=r%C2%B7s%3D1%28%7B%5Crm+mod%7D+%5C+%CF%95%28N%29%29 ,所以
    equation?tex=r%5Ccdot+s%3D1+%28%7B%5Crm+mod%7D+%28p-1%29%29
    equation?tex=r%5Ccdot+s%3D1+%28%7B%5Crm+mod%7D+%28q-1%29%29++ ;
  2. equation?tex=r%C2%B7s%3D+a%28p-1%29+%2B+1%2Ca+%3E+1
  3. 则解密过程
    equation?tex=C%5Es+%3D+M%5E%7Br%5Ccdot+s%7D+%3D+M%5E%7Ba%28p-1%29%2B1%7D%3DM%5Ccdot+M%5E%7Ba%28p-1%29%7D
  4. equation?tex=p 为素数,根据欧拉定理有
    equation?tex=M%5E%7B%28p+-1%29%7D+%3D+1%5C+%7B%5Crm+mod%7D%5C++p ,故
    equation?tex=M%5E%7Ba%28p+-1%29%7D+%3D+1%5C+%7B%5Crm+mod%7D%5C+p
  5. equation?tex=M%5Ccdot+M%5E%7Ba%28p-1%29%7D+%3D+M%5C+%7B%5Crm+mod%7D%5C+p%2C+ 可证
    equation?tex=%5C+C%5Es+%3D+M%5C+%7B%5Crm+mod%7D%5C+p
  6. 同理可证
    equation?tex=%5C+C%5Es+%3D+M%5C+%7B%5Crm+mod%7D%5C+q
  7. 因为
    equation?tex=p%2Cq 都为素数, 所以
    equation?tex=+C%5Es+%3D+M%5C+%7B%5Crm+mod%7D%5C+p%5Ccdot+q , 即
    equation?tex=+C%5Es+%3D+M%5C+%7B%5Crm+mod%7D%5C+N

证毕

equation?tex=%5Csquare

df87efc88c5d0bc001b8e61eff80c726.png
RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的

下面介绍下RSA的低公共指数问题。

Low Public Exponent RSA

在许多实际应用中,加密过程是由一些有限的设备来完成的,例如智能卡。在这种情况下,将

equation?tex=M 提高到 high power 可能会在电池电量、时间等方面付出相当大的代价。为了简化加密过程,人们可能会尝试修改
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值