RSA分解算法大全

整数分解算法对比表

算法名称时间复杂度适用位数核心原理优点缺点典型案例
试除法$O(\sqrt{n})$<15位逐个试除≤$\sqrt{n}$的素数实现简单极慢$143=11\times13$
费马分解法$O(n)$15-25位$n=a^2-b^2$平方数附近快一般情况慢$8051=97\times83$
连分数法(CFRAC)$e^{O(\sqrt{\ln n \ln \ln n})}$40-70位连分数逼近比Dixon快内存大50-70位分解
Pollard Rho$O(n^{1/4})$15-40位随机游走找循环内存低概率性$10403=101\times103$
Pollard p-1$O(B \log B)$20-50位利用$p-1$平滑性找特殊因子依赖$p-1$性质RSA弱密钥
Williams p+1同p-120-50位利用$p+1$平滑性补充p-1更局限较少使用
欧拉分解法$O(n^{1/2})$15-25位$n=a^2+b^2$理论意义效率低教学示例
SQUFOF$O(n^{1/4})$20-50位连分数平方形式内存极低实现复杂$10^{15}$内数字
Dixon算法同CFRAC30-50位随机平滑数理论奠基已被取代教学使用
二次筛法(QS)$e^{O(\sqrt{\ln n \ln \ln n})}$50-100位筛法找平滑数百位内最佳>100位慢RSA-129
MPQS优化QS50-130位多项式优化比QS快2倍更复杂RSA-130
SIQS优化QS50-130位自初始化优化最快QS变种最难实现挑战数字
ECM$e^{O(\sqrt{\ln p \ln \ln p})}$50-200+位椭圆曲线阶数找小因子强不保证成功248位数因子
GNFS$e^{O((\ln n)^{1/3})}$100+位数域多项式大数标准需超算RSA-250
SNFS优化GNFS100+位特殊形式优化比GNFS快10倍仅限特例$2^{1039}-1$
Shor算法$O((\log n)^3)$任意位量子傅里叶变换理论最快需量子计算机$15=3\times5$


----------------------------------
工具:
YAFU              - Quadratic Sieves (SIQS/MPQS/QS), Elliptic Curve Method (ECM), P-1, P+1, Squfof, Rho, and Fast Sieve of Eratosthenes
MSIEVE           - Self-Initializing Quadratic Sieve (SIQS) and Number Field Sieve (GNFS/SNFS)
GMP-ECM      - Elliptic Curve Method (ECM), P-1, P+1
GGNFS           - Number Field Sieve (GNFS/SNFS)
CADO-NFS     -CADO-NFS是C / C ++中数字字段筛选(NFS)算法的完整实现,用于分解整数并计算有限字段中的离散对数。网址:https://cado-nfs.gitlabpages.inria.fr/   https://gitlab.inria.fr/cado-nfs/cado-nfs

网页:
  https://gilchrist.great-site.net/jeff/factoring/index.html?i=2
  https://www.alpertron.com.ar/JAVAPROG.HTM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值