10.12.2012 Views

Prime Numbers

Prime Numbers

Prime Numbers

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

300 Chapter 6 SUBEXPONENTIAL FACTORING ALGORITHMS<br />

lattice. Using techniques to find such short vectors, they came up with a<br />

choice for A, B, C all at most 36 digits long. They then used both f(x) and<br />

g(x) =Ax 2 + Bx+ C to complete the factorization of n, finding that n is the<br />

product of two primes, the smaller being<br />

447798287131284928051408304965265782892174953181087929.<br />

Many polynomials<br />

It is not hard to come up with many polynomials that may be used<br />

in NFS. For example, choose the degree d, letm = n 1/(d+1) ,writen in<br />

base m, getting n = cdn d + ··· + c0, letf(x) = cdx d + ··· + c0, andlet<br />

fj(x) =f(x)+jx − mj for various small integers j. Or one could look at the<br />

family fj,k(x) =f(x)+kx 2 − (mk − j)x − mj for various small integers k, j.<br />

Each of these polynomials evaluated at m is n.<br />

One might use such a family to search for a particularly favorable<br />

polynomial, such as one where there is a tendency for many small primes<br />

to have multiple roots. Such a polynomial may have its homogeneous form<br />

being smooth more frequently than a polynomial where the small primes do<br />

not have this tendency.<br />

But can all of the polynomials be used together? There is an obvious<br />

hindrance to doing this. Each time a new polynomial is introduced, the<br />

factor base must be extended to take into account the ways primes split<br />

for this polynomial. That is, each polynomial used must have its own field<br />

of coordinates in the exponent vectors, so that introducing more polynomials<br />

makes for longer vectors.<br />

In [Coppersmith 1993] a way is found to (theoretically) get around this<br />

problem. He uses a large factor base for the linear form a − bm and small<br />

factor bases for the various polynomials used. Specifically, if the primes up<br />

to B are used for the linear form, and k polynomials are used, then we use<br />

primes only up to B/k for each of these polynomials. Further, we consider<br />

only pairs a, b where both a − bm is B-smooth and the homogeneous form of<br />

one of the polynomials is (B/k)-smooth. After B relations are collected, we<br />

(most likely) have more than enough to create congruent squares.<br />

Coppersmith suggests first sieving over the linear form a − bm for Bsmooth<br />

numbers, and then individually checking at the homogeneous form of<br />

each polynomial used to see if the value at a, b is B/k-smooth. This check can<br />

be quickly done using the elliptic curve method (see Section 7.4). The elliptic<br />

curve method (ECM) used as a smoothness test is not as efficient in practice as<br />

sieving. However, if one wanted to use ECM in QS or NFS instead of sieving,<br />

the overall heuristic complexity would remain unchanged, the only difference<br />

coming in the o(1) expression. In Coppersmith’s variant of NFS he cannot<br />

efficiently use sieving to check his homogeneous polynomials for smoothness,<br />

since the pairs a, b that he checks for are irregularly spaced, being those where<br />

a−bm has passed a smoothness test. (One might actually sieve over the letter<br />

j in the family fj(x) suggested above, but this will not be a long enough array<br />

to make the sieve economical.) Nevertheless, using ECM as a smoothness test

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!