10.12.2012 Views

Prime Numbers

Prime Numbers

Prime Numbers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.2 Number field sieve 291<br />

is conjectured that it is sufficient to choose k = ⌊3lgn⌋ (with the k primes qj<br />

chosen as the least possible). Probably a somewhat smaller value of k would<br />

also suffice, but this aspect is not a time bottleneck for the algorithm.<br />

We use the pairs qj,sj to augment our exponent vectors with k additional<br />

entries. If a−bsj<br />

= 1, the entry corresponding to qj,sj in the exponent vector<br />

qj<br />

for a − bα is 0. If the Legendre symbol is −1, the entry is 1. (This allows the<br />

translation from the multiplicative group {1, −1} of order 2 to the additive<br />

group Z2 of order 2.) These augmented exponent vectors turn out now to be<br />

not only necessary, but also sufficient (in practice) for constructing squares.<br />

6.2.5 Basic NFS: Square roots<br />

Suppose we have overcome all the obstructions of the last section, and we now<br />

have a set S of coprime integer pairs such that f ′ 2 (α) (a,b)∈S (a − bα) =γ2<br />

for γ ∈ Z[α], and <br />

(a,b)∈S (a − bm) =v2 for v ∈ Z. We then are nearly done,<br />

for if u is an integer with φ(γ) ≡ u (mod n), then u 2 ≡ (f ′ (m)v) 2 (mod n),<br />

and we may attempt to factor n via gcd(u − f ′ (m)v, n).<br />

However, a problem remains. The methods of the above sections allow us<br />

to find the set S with the above properties, but they do not say how we might<br />

go about finding the square roots γ and v. That is, we have squares, one in<br />

Z[α], the other in Z, and we wish to find their square roots.<br />

The problem for v is simple, and can be done in the same way as in QS.<br />

From the exponent vectors, we can deduce easily the prime factorization of<br />

v 2 , and from this, we can deduce even more easily the prime factorization of<br />

v. We actually do not need to know the integer v; rather, we need to know<br />

only its residue modulo n. For each prime power divisor of v, compute its<br />

residue mod n by a fast modular powering algorithm, say Algorithm 2.1.5.<br />

Then multiply these residues together in Zn, finally getting v (mod n).<br />

The more difficult, and more interesting, problem is the computation of γ.<br />

If γ is expressed as a0 + a1α + ···+ ad−1α d−1 ,thenanintegeru that works is<br />

a0 + a1m + ···+ ad−1m d−1 . Since again we are interested only in the residue<br />

u (mod n), it means that we are interested only in the residues aj (mod n).<br />

This is good, since the integers a0,...,ad−1 might well be very large, with<br />

perhaps about as many digits as the square root of the number of steps for<br />

the rest of the algorithm! One would not want to do much arithmetic with<br />

such huge numbers. Even if one computed only the algebraic integer γ 2 ,and<br />

did not worry about finding the square root γ, one would have to use the<br />

fast multiplication methods of Chapter 8.8 in order to keep the computation<br />

within the time bound of Section 6.2.3. And this does not even begin to touch<br />

how one would take the square root.<br />

If we are in the special case where Z[α] =I and this ring is a unique<br />

factorization domain, we can use a method similar to the one sketched above<br />

for computing v (mod n). But in the general case, our ring may be far from<br />

being a UFD.

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

Saved successfully!

Ooh no, something went wrong!