RSA加密之小私钥攻击
- RSA加密对私钥的攻击比对公钥的攻击难多了,这篇博客主要讲解的就是RSA小私钥攻击,主要讲解如下内容,可能会分成两三篇博客进行记录,也可能只用一篇博客进行记录。

- 使用小私钥指数的RSA具有一定的风险。尽管在某些场景下,尽可能降低解密成本可能是比较有吸引力的,但如果私钥指数选择得过小,就会存在非常现实且有效的攻击,使得整个密码系统完全不安全。
- 在任何密码系统中,如果私钥(或秘密密钥)是从一个较小的集合中选取的,那么总是可以通过简单的穷举法搜索出来密钥从而破坏该系统。对RSA而言所有满足的私钥指数都可以直接通过猜测得到,其中取决于当前技术的发展水平。例如,在目前的计算能力下,恢复所有满足的私钥指数是可行的,而对所有满足的私钥指数则是不可行的。
- 然而,接下来介绍的攻击方法,都能够恢复原大于简单穷举搜索所能覆盖范围的私钥指数。事实上,所有这些攻击都可以有效地攻破私钥指数大小达到(其中)的RSA实例。对于一个
1024比特的模数,即便是这些攻击中最弱的一种,也已经可以破解私钥指数满足的RSA实例。 - 与前面几个攻击不太相同的是,那些攻击通常是在给定公钥以及一个或多个密文的情况下恢复一个或多个明文,然而针对小私钥指数RSA的所有攻击,都是利用密钥等式,仅凭借公钥就通过分解模数来彻底攻破RSA实例。
- 在以下攻击中,除非另有说明,我们将假设公钥指数和私钥指数都是在模意义下定义的,并且二者都小于。
- 由如下密钥等式:
- 我们可以推出如下一个不等式关系:
- 特别地,由于本章关注的是小私钥指数RSA,因此有。当指数是模定义时,同样的论证也依然成立。
维纳连分数攻击
- 第一个具有重大意义的RSA小私钥指数攻击就是维纳连分数攻击。仅仅只有公钥,这个攻击可以使用的连分数展开某个渐进分数所活动信息来分解模数。
- 下面的定理最一般的形式重新描述了维纳连分数攻击,记该定理为
定理5.2,定理内容如下:- 设是一个RSA的模数,设是一个有效的公钥指数,并且是定义在模下与之对应的私钥指数。
- 设是一个满足密钥等式的整数,,,以及
- 如果私钥指数满足,那么能在关于和的多项式时间内被分解。
- 证明如下:
题型1 维纳攻击
维纳攻击 题目1
- 题目来源:
维纳攻击 题目2
- 题目来源:
XYCTF2024 - 题目附件如下:
1 | import gmpy2 |
拓展维纳攻击
Boneh and Durfee攻击
共模攻击
共私钥攻击
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!

