找回密码
 欢迎注册
查看: 985|回复: 13

[提问] 这个强大的质因数分解工具是怎么开发出来的?

[复制链接]
发表于 2023-11-17 14:26:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
这个质因数分解工具……
https://zh.numberempire.com/numberfactorizer.php

可以在1秒内分解70位以内的任意合数。我想知道这个工具用的是什么算法?

而10^70约等于2^256,这是不是意味着256位的RSA加密系统已经不安全了?

我编程实现过Pollard-Rho算法:
https://zhuanlan.zhihu.com/p/267884783

可惜该算法只能快速分解10^38以内的合数,

如果硬要使用该算法分解70位的合数,

则需要10^(70/4)约等于3*10^17次运算,约等于1年的CPU时间,显然无法做到1秒这么快。

通过查询百度百科,可以找到这样一个词条:

https://baike.baidu.com/item/%E6 ... B%E9%80%89%E6%B3%95

但没有找到该算法对应的程序代码。

我想问一下这个算法的代码是不是非常复杂,以至于无法通过一篇科普文把算法的原理和程序实现步骤说清楚?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-17 15:36:35 | 显示全部楼层
RSA现在512比特一下肯定已经不安全了,一般认为1K比特左右也不太安全了,最好上2K甚至3K以上。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-17 17:47:16 | 显示全部楼层
之前在github见过一个gnfs的,现在怎么也找不到。不过找到一个类似的,这个包含了多种算法。
https://github.com/bbuhrow/yafu
这些理论很复杂,我看不懂,后来就没继续折腾了。

点评

gnfs的话应该是cado-nfs,我试了一下,分解70位大概一分钟  发表于 2023-11-22 22:17
nyy
数域筛法估计没那么快  发表于 2023-11-20 09:30
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-19 10:53:29 | 显示全部楼层
应该也是递归算法,但算力提高了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-19 19:54:45 | 显示全部楼层
有可能使用的是查询法。试试10^69-1241
你随机生成两个35位的大质数,然后
乘起来,应该做不到一秒钟就分解了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-19 19:57:33 | 显示全部楼层
论坛密码被浏览器保存了,
然后连续几天不用浏览器访问论坛,
然后是就被退出了。我感觉是这样。
不知道有没有人遇到类似的情况。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-20 09:19:44 | 显示全部楼层
1730094121708583941745321846630716635557190568712076798609128046567341

试试这个整数,是不是一秒钟就能分解完的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-20 09:22:14 | 显示全部楼层
nyy 发表于 2023-11-20 09:19
1730094121708583941745321846630716635557190568712076798609128046567341

试试这个整数,是不是一秒钟就 ...

网站有记忆,试试这个整数
12998212960232852288871595221751349373875268430680730735304014728525703
这个整数我没分解过
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-20 09:23:52 | 显示全部楼层
你说的一秒内,肯定不正确,因为我找到10秒这样才能分解的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-20 09:28:57 | 显示全部楼层
Clear["Global`*"];(*清除所有变量*)
m=29
p1=NextPrime@RandomInteger[{10^(m-1),10^m}]
p2=NextPrime@RandomInteger[{10^(70-m-1),10^(70-m)}]
n=p1*p2


给你代码,根据这个代码,你应该能找到大量整数是一秒分解不完的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-2 10:09 , Processed in 0.046567 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表