找回密码
 欢迎注册
楼主: 福娃PNP

[讨论] 素性检测与整数分解

[复制链接]
发表于 2008-5-17 17:11:21 | 显示全部楼层
很早就有利用连分数法来分解大数的方法了.MathWorld上也有介绍:http://mathworld.wolfram.com/ContinuedFractionFactorizationAlgorithm.html 只不过,人家是找满足$x^2=y^2(mod N)$的$(x,y)$,而楼主是求它的一种特殊情况y=1而已. 由此,可以想见,求解的困难程度更大了.所以,楼主的这条路是到不了罗马了.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:13:25 | 显示全部楼层
mathe 因子分解的筛算法第一个是Fermat算法 第二个成功的就是连分数算法 所以,尝试这个方法并没有意义了 而使用根号N的方法就是二次筛算法 已经发展到多项式筛 是仅次于数域筛的一个算法 无论从理论上还是从实践上 我们都无法进行这个问题的任何尝试 太复杂了 所以说,因子分解我们只有用大牛写的程序的能耐
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:27:04 | 显示全部楼层
初期的算法都是尝试求平方同余 后期的方法都是一个综合性的 具体是找尽可能多的同余式 分解两边,综合到一起 然后计算两边的素因子的方幂 其素因子以事先计算的范围为主 超出范围的因子及其结果可能被抛弃 一旦两边方幂同时达到2的倍数 那就找到一个分解了 称为因子基算法
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:28:17 | 显示全部楼层
而楼主的思路还是停留在初期 求平方剩余的原始阶段 所以说,并不是一个好方法啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:34:08 | 显示全部楼层
举个例子 假设因子基选择$2, 3, 5, 7$ 计算得到(仅做演示,任何细节均可能不符合实际) $x_1^2 -= 2*3*5 mod N$ $x_2^2 -= 3*5 mod N$ $x_3^2 -= 7 mod N$ $x_4^2 -= 2*7 mod N$ 显然 $(x_1x_2x_3x_4)^2 = (2*3*5*7)^2 mod N$ $N$得到分解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:36:24 | 显示全部楼层
实际得到的结果可能上几十万甚至上百万 其结果的处理是使用线性代数的方法 类似于求矩阵的行或者列的相关
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:41:20 | 显示全部楼层
呵呵,Fermat方法和连分数法,taocp第二卷讲的很清楚.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:45:35 | 显示全部楼层
至于具体如何求$sqrt(N)$的算法 假设$a_1$为小于$sqrt(N)$最大整数 计算$sqrt(N) - a_1$的连分数展开,直到出现结果$2a_1$则结束,下面的连分数将循环前面的结果,即从$a_2$开始重复出现,是一个很简单的高精度浮点计算的程序。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 17:50:58 | 显示全部楼层
首先声明对19#的错误纠正 对25#假设N没有小因子,则计算连分数就是一个简单的O(N)算法 嘿嘿,由于N很大,所以消耗多少时间你可以计算了 由于计算除法的时间是O(lgNlglgN),所以在真实机器上的时间是O(NlgNlglgN) 再次对19#的错误表示抱歉 时间复杂度很小,但是N很大 嘿嘿 现在明白了么? 即使分解了N,sqrt(N)的连分数的循环节长度是所有素因子循环节长度的最小公倍数 也是个O(N)算法
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-17 18:42:07 | 显示全部楼层
找到一个有用的页面: http://en.wikipedia.org/wiki/Periodic_continued_fraction 其中最后说$sqrt(D)$连分数的周期大概为$O(sqrt(D)log(D))$,所以这个时间复杂度太高了一些。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-25 13:58 , Processed in 0.022541 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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