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.5 Exercises 311<br />

of the rational polynomial G(x) have the same sign. Deduce from this that<br />

1 ≤|g(1)| = |G(−0.49)| < |G(0.51)| = |g(2)|, and similarly |h(2)| > 1, so that<br />

the factorization n = g(2)h(2) is nontrivial.<br />

6.11. Use the method of Exercise 6.9 to factor n = 187 using the base<br />

m = 10. Do the same with n = 4189,m= 29.<br />

6.12. Generalize the x(u, v),y(u, v) construction in Section 6.1.7 to arbitrary<br />

numbers n satisfying (6.4).<br />

6.13. Give a heuristic argument for the complexity bound<br />

<br />

exp (c + o(1))(ln n) 1/3 (ln ln n) 2/3<br />

operations, with c = (32/9) 1/3 , for the special number field sieve (SNFS).<br />

6.14. Here we sketch some practical QS examples that can serve as guidance<br />

for the creation of truly powerful QS implementations. In particular, the<br />

reader who chooses to implement QS can use the following examples for<br />

program checking. Incidentally, each one of the examples below—except<br />

the last—can be effected on a typical symbolic processor possessed of<br />

multiprecision operations. So the exercise shows that numbers in the 30digit<br />

region and beyond can be handled even without fast, compiled<br />

implementations.<br />

(1) In Algorithm 6.1.1 let us take the very small example n = 10807 and,<br />

because this n is well below typical ranges of applicability of practical<br />

QS, let us force at the start of the algorithm the smoothness limit<br />

B = 200. Then you should find k = 21 appropriate primes, You then get a<br />

21 × 21 binary matrix, and can Gaussian-reduce said matrix. Incidentally,<br />

packages exist for such matrix algebra, e.g., in the Mathematica language<br />

a matrix m can be reduced for such purpose with the single statement<br />

r = NullSpace[Transpose[m], Modulus->2];<br />

(although, as pointed out to us by D. Lichtblau one may optimize the<br />

overall operation by intervention at a lower level, using bit operations<br />

rather than (mod 2) reduction, say). With such a command, there is a<br />

row of the reduced matrix r that has just three 1’s, and this leads to the<br />

relation:<br />

3 4 · 11 4 · 13 4 ≡ 106 2 · 128 2 · 158 2 (mod n),<br />

and thus a factorization of n.<br />

(2) Now for a somewhat larger composite, namely n = 7001 · 70001, try using<br />

the B assignment of Algorithm 6.1.1 as is, in which case you should have<br />

B = 2305, k = 164. The resulting 164 × 164 matrix is not too unwieldy<br />

in this day and age, so you should be able to factor n using the same<br />

approach as in the previous item.<br />

(3) Now try to factor the Mersenne number n =2 67 −1 but using smoothness<br />

bound B = 80000, leading to k = 3962. Not only will this example start

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

Saved successfully!

Ooh no, something went wrong!