RSA中模数分解方法
RSA中对模数n分解的方法
1、暴力算法
家人们,但凡数值大一点包算不出来的,有着超级简单的脚本思路,但是等pycharm运行出结果的时间都够睡一觉了!
2、费马分解
原理是将模数n分解成平方差的格式,适用于分解俩个因子接近的奇数(不是奇数就把他变成奇数呗!)
$$
n = a^2 - b^2 = (a+b)(a-b)
$$
具体步骤如下:
- 找到一个整数 a,使 a^2^ 接近 n 并且 a^2^≥n。
- 计算 b^2^=a^2^−n.
- 检查 b^2^ 是否是一个完全平方数。如果是,那么 n 的因子为 (a+b)和 (a−b)。
- 如果 b^2^ 不是一个完全平方数,增加 a 的值并重复步骤 2。
1 | import math |
3、在线工具分解
这个网站还是比较靠谱的了,可以比较快的分解出因数
4、factorint函数分解
1 | from sympy import factorint |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Starcraft planet!