Factorization: Pollard's method
17 Dec 2021
§ Motivation
The RSA algorithm relies on the fact that finding the factorization of a number is very difficult. The value is given out as part of the public key in RSA; if one were able to compute quickly from , then they will be able to break the RSA algorithm
§ Pollard's Factorization Algorithm
Pollard's
Suppose we know is composite with unknown prime factors with size of roughly .
Then, let and .
We can compute for all .
Then, starting with we compute
If , then is a non-trivial factor of . Otherwise, increment by and repeat until a factor is found.
If we have exhausted our list of 's, i.e. , then we can keep generating more values of . The value of is a loose upper-bound on the problem.
This method relies on the idea that for a sufficiently large number of values , one will likely have with high probability that the values will be distinct.
There is no strict rule on how to choose values of , however, it has been found that the aforementioned method works well in practice.
As for why the soft upper-bound of works, we can refer to the following lemma.
Suppose , and that the numbers are independently chosen from the set , then the probability that the values are distinct is
The number of all length sequences taken from values is . The number of sequences where no value is repeated is . Then dividing by yields the result we found.
If we let , then we arrive at
Therefore, if we choose and the values follow a uniformly random distribution, we can expect a collision in
As an aside, in the paper where Pollard gave this method, he also introduced his "kangaroo algorithm" for solving the discrete logarithm problem in any finite cyclic group. I just thought the name was amusing.