Elliptic curve factorization in ARIBAS
ARIBAS
has a several builtin functions for integer factorization:
factor16 does trial division by primes < 2**16
rho_factorize uses the Pollard rho method. Its
runtime grows with the square root of the factor, so it
is useful to find (relatively) small prime factors, which
have not already been found by factor16.
cf_factorize and qs_factorize
use the continued fraction method and the quadratic sieve.
The runtime depends on the size of the number to be factored,
and not on the size of the factor. In general,
qs_factorize is faster than cf_factorize.
Since version 1.41, ARIBAS has also the elliptic curve
factorization
ec_factorize
as a builtin function. This is a probabilistic algorithm
using random elliptic curves. Its runtime depends
on the size of the factor. It can find larger factors
than rho_factorize. Hence ec_factorize
can be used to factorize composite numbers which are too
big for qs_factorize, but which have a
relatively small prime factor. One example
is the 8th Fermat number:
==> f8 := 2**256 + 1.
-: 115_79208_92373_16195_42357_09850_08687_90785_32699_84665_64056_40394_
57584_00791_31296_39937
==> ec_factorize(f8).
EC factorization, prime bound 3700, bigprime bound 33300
working .:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.
:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:
factor found with curve parameter 912928 and bigprime 9343
-: 1_23892_63615_52897
ec_factorize may be called with optional 2nd
and 3rd argument. The second argument is a pair
(bound1, bound2) prescribing the prime bound
and bigprime bound for the factors of the order of the
randomly chosen elliptic curve, the third argument is
the maximal number of elliptic curves used. Example:
==> ec_factorize(f8,(10000,80000),200).
EC factorization, prime bound 10000, bigprime bound 80000
working .:.:.:.:.:.:.:.:
factor found with curve parameter 7149702 and bigprime 27541
-: 1_23892_63615_52897
One can exclude the execution of the big prime variation by
setting bound2 equal to 0.
==> ec_factorize(f8,(32000,0),200).
EC factorization with prime bound 32000
working ......................................
factor found with curve parameter 12160191 and prime bound 21504
-: 1_23892_63615_52897
Homepage of ARIBAS
Otto Forster 2004-08-16