首先这道题切入点很明显,e和n是同数量级的,也就说明d的范围会比较小。我们的攻击目标是就是d
1990年有人证明假如p大于 q而小于2q(这是一个很经常的情况)而 d < 1 3 × N 1 4 d < {\frac {1}{3}} \times N ^{ {\frac{1}{4}}} d<31×N41,那么从 N和 e可以很有效地推算出 d。
参考自维基百科Wiener‘s attack
具体怎么做的呢,首先从RSA原理中我们知道了 e d = 1 m o d ϕ ( N ) ed = 1 \ mod \ {\phi{(N)}} ed=1 mod ϕ(N),即 ϕ ( N ) = e d − 1 k \phi{(N)} = {\frac{ed - 1}{k}} ϕ(N)=