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.

6.1 The quadratic sieve factorization method 273<br />

And what, then, of three large primes? One can appreciate that the added<br />

difficulties with two large primes increase still further. It may be worth it, but<br />

it seems likely that instead, using a larger B would be more profitable.<br />

6.1.5 Multiple polynomials<br />

In the basic QS method we let x run over integers near √ n, searching for values<br />

x 2 − n that are B-smooth. The reason we take x near √ n is to minimize the<br />

size of x 2 − n, since smaller numbers are more likely to be smooth than larger<br />

numbers. But for x near to √ n,wehavex 2 − n ≈ 2(x − √ n) √ n,andsoasx<br />

marches away from √ n, so, too, do the numbers x 2 − n, and at a steady and<br />

rapid rate. There is thus built into the basic QS method a certain diminishing<br />

return as one runs the algorithm, with perhaps a healthy yield rate for smooth<br />

reports at the beginning of the sieve, but this rate declining perceptibly as<br />

one continues to sieve.<br />

The multiple polynomial variation of the QS method allows one to get<br />

around this problem by using a family of polynomials rather than just the<br />

one polynomial x 2 − n. Different versions of using multiple polynomials have<br />

been suggested independently by Davis, Holdridge, and Montgomery; see<br />

[Pomerance 1985]. The Montgomery method is slightly better and is the<br />

way we currently use the QS algorithm. Basically, what Montgomery does<br />

is replace the variable x with a wisely chosen linear function in x.<br />

Suppose a, b, c are integers with b 2 − ac = n. Consider the quadratic<br />

polynomial f(x) =ax 2 +2bx + c. Then<br />

so that<br />

af(x) =a 2 x 2 +2abx + ac =(ax + b) 2 − n, (6.2)<br />

(ax + b) 2 ≡ af(x) (modn).<br />

If we have a value of a that is a square times a B-smooth number and a value<br />

of x for which f(x) isB-smooth, then the exponent vector for af(x), once it is<br />

reduced modulo 2, gives us a row for our matrix. Moreover, the possible odd<br />

primes p that can divide f(x) (and do not divide n) are those with p<br />

=1,<br />

n<br />

namely the same primes that we are using in the basic QS algorithm. (It is<br />

somewhat important to have the set of primes occurring not depend on the<br />

polynomial used, since otherwise, we will have more columns for our matrix,<br />

and thus need more rows to generate a dependency.)<br />

We are requiring that the triple a, b, c satisfy b2 − ac = n and that a be<br />

a B-smooth number times a square. However, the reason we are using the<br />

polynomial f(x) is that its values might be small, and so more likely to be<br />

smooth. What conditions should we put on a, b, c to have small values for<br />

f(x) =ax2 +2bx + c? Well, this depends on how long an interval we sieve<br />

on for the given polynomial. Let us decide beforehand that we will only sieve<br />

the polynomial for arguments x running in an interval of length 2M. Also,<br />

by (6.2), we can agree to take the coefficient b so that it satisfies |b| ≤ 1<br />

2a (assuming a is positive). That is, we are ensuring our interval of length 2M

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

Saved successfully!

Ooh no, something went wrong!