This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Math 55: Discrete Mathematics, Fall 2008 Supplementary notes on Algorithms for Factoring Introduction The RSA public-key cryptography system relies on the idea that while it is easy to test whether a large number is prime, and therefore easy to construct a number n that is the product of two large primes n = pq , there is no way known to efficiently find the factors of such a number, and thus break the encryption scheme, if n is large. What constitutes large? It is quite practical to construct a product n = pq where the primes p and q have 200 digits each, so n is a 400 digit number. It is also practical to perform RSA encryption and decryption with such a large number n . The computations involved take fractions of a second on current computers. On the other hand, the current record for the largest number not of a special form factored by a general purpose factoring algorithm is 200 digits. This record was achieved by German researchers Bahr, Boehm, Franke, and Kleinjung in 2005 using a cluster of 80 computers running for over a year. Because the running times of the known algorithms are roughly exponential in the square root of the number of digits, factoring a 400 digit number is currently many orders of magnitude more difficult than the record 200 digit number. In these notes we will discuss Pollards algorithm , a simple factoring algorithm based on the Chinese remainder theorem, which usually takes a number of steps roughly proportional to the square root of the smallest factor to be found. In particular, when the number to be factored is a product n = pq of two nearly equal primes, the number of steps required is typically proportional to the fourth root of n . Pollards algorithm is thus much better than trial division, which takes n steps. Using it on an current workstation computer, one can typically factor a number of 20 digits or so in a few seconds. The algorithm is also practical to use for hand computation with the aid of a calculator to factor numbers of about 6 digits....
View Full Document