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.

314 Chapter 6 SUBEXPONENTIAL FACTORING ALGORITHMS<br />

where the ± ambiguities are tried one at a time, until the vector resulting<br />

from this multiplication by H−1 has all integer components. Such a vector<br />

will be a square root in the number field. To aid in any implementations,<br />

we give here an explicit, small example of this rooting method. Let us<br />

take the polynomial f(x) = x3 +5x + 6 and square-root the entity<br />

γ2 = 117 − 366x +46x2 modulo f(x) (we are using preknowledge that the<br />

entity here really is a square). We construct the Vandermode matrix using<br />

zeros of f, namely(α1,α2,α3) = −1, 1 − i √ 23 /2, 1+i √ 23 /2 ,asa<br />

numerical entity whose first row is (1, −1, 1) with complex entries in the<br />

other rows. There needs to be enough precision, which for this present<br />

example is say 12 decimal digits. Then we take a (componentwise) square<br />

root and try the eight possible (±) combinations<br />

γ = H −1<br />

⎛<br />

⎝ ±r1<br />

⎞ ⎛<br />

±r2 ⎠ , ⎝<br />

±r3<br />

r1<br />

⎞ <br />

⎛<br />

<br />

r2 ⎠<br />

<br />

= H ⎝<br />

r3<br />

177<br />

⎞<br />

− 366 ⎠.<br />

46<br />

Sure enough, one of these eight combinations is the vector<br />

⎛<br />

γ = ⎝ 15<br />

⎞<br />

− 9 ⎠<br />

−1<br />

indicating that<br />

15 − 9x − x 2 2 mod f(x) = 117 − 366x +46x 2<br />

as desired.<br />

(8) Just as with Exercise 6.14, we can only go so far with symbolic<br />

processors and must move to fast, compiled programs to handle large<br />

composites. Still, numbers in the region of 30 digits can indeed be handled<br />

interpretively. Take the repunit n = (10 29 − 1)/9, force d =4,B = 30000,<br />

and this time force also k = 100, to see a successful factorization that<br />

is doable without fast programs. In this case, you can use any of the<br />

above methods for handling degree-4 number fields, still with bruteforce<br />

multiplying-out for the γ 2 entity (although for the given parameters<br />

one already needs perhaps 3000-digit precision, and the advanced means<br />

discussed in the text and in Exercise 6.18 start to look tantalizing for the<br />

square-rooting stage).<br />

The explicit tasks above should go a long way toward the polishing of a serious<br />

NFS implementation. However, there is more that can be done even for these<br />

relatively minuscule composites. For example, the free relations and other<br />

optimizations of Section 6.2.7 can help even for the above tasks, and should<br />

certainly be invoked for large composites.<br />

6.16. Here we solve an explicit and simple DL problem to give an illustration<br />

of the index-calculus method (Algorithm 6.4.1). Take the prime p =2 13 − 1,

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

Saved successfully!

Ooh no, something went wrong!