分解多项式算法的复杂度最好可为多少?				
			
		我想,好地方用的是试除法,不过不是从最小的素数开始试除的,而是从$sqrt(x)$向下,依次找素数试除的。				
			
		分解是很简单,用Fermat方法就很快可以得到解了,因为p-q太小了.
素性判定还是比较花时间,ARCL算法据说可以在1分钟内判定100位的数的素性.				
			
		:L 
如果是P - Q,且是RSA加密的话
我想P - Q应该不是太小了
而是至少应该是P / 4大小的
所以并不比直接试除简单
否则RSA也忒容易了吧				
			
		RSA安全素数定义:
a)   p,q   长度较接近。
b)   p-1,q-1有大素数因子
c)   (p-1,q-1)很小。
如果我选512位加密
我会选P是255位,Q是257位				
			
		呵呵,我现在想用分解多项式的方法来分解RSA。
呵呵,发现还是不行。多项式乘法无进位,整数相乘有进位。				
			
		:) 
分解多项式的方法只能对付特殊的整数的				
			
		原帖由 liangbch 于 2008-10-28 21:47 发表 http://bbs.emath.ac.cn/images/common/back.gif
我想,好地方用的是试除法,不过不是从最小的素数开始试除的,而是从$sqrt(x)$向下,依次找素数试除的。 
你不是在开玩笑吧?				
			
		不是开玩笑,楼主给出的数有点特殊,利用HugeCalc用这样的方法解题确实可行,不过如果p 与 q (p*q=x) 相差很大的话,这个方法就不行了。
下面是详细步骤。
   1. p0= $\sqrt(x)$
   2. 从P0开始找一个<=p0的数P1,且使得P1与2,3,5,7互质1,计算m= x % p1,如果m=0, 则分别检测 p1 和 x/p1的是否为素数,如果是,则分解完成。
3. 找一个 $p_(i+1)$,使得$p_(i+1)<p_i$ 且$p_(i+1)$与2,3,5,7互质,计算$m= x % p_(i+1)$,如果m=0, 则分别检测 $p_(i+1)$ 和$ x/p_(i+1)$的是否为素数,如果是则分解完成。
4. 重复步骤3, 由于这个题目p和x/p的差很小,用不了几步,就分解掉了。				
			
		无心人,如何用pari/Gp判断多项式的本原性?语句是什么?