A Lemma on Factoring
And a dilemma on making further use of it
Gary Miller is a Professor of Computer Science at Carnegie Mellon University. He is best known for the Miller-Rabin primality test, which was cited in awarding him the 2003 ACM Paris Kanellakis Award along with Michael Rabin, Robert Solovay, and Volker Strassen. He has, however, been active in many other areas. His publications page has the best database functionality of any I know, and needs it.
Today Ken and I wish to talk about a result that evolved from Gary’s classic 1975 primality-testing paper into Section 2 of an equally classic 1986 joint work with Eric Bach and Jeffrey Shallit on factoring. That paper also ascribes it to Douglas L. Long. We wonder if it can be evolved further.
I still recall the night I heard about Gary’s great result. This was before e-mail and of course the Internet. Social media meant phone calls or even letters. David Dobkin had heard about the result, and we were both at a party on a Saturday night when he grabbed me, and took me aside—the party was loud–and told me about Gary’s theorem on primality testing. I was immediately excited, a breakthrough? Certainly if one believes the Extended Riemann Hypothesis as used in the paper to get an time algorithm, where is the number of digits in the number being tested, and the tilde ignores factors of . The unconditional primality test of Manindra Agrawal, Neeraj Kayal, and Nitin Saxena, which was since improved to , was definitely hailed as one, including the 2006 Gödel prize.
Last year, Gary was hailed here for a “theoretical breakthrough…with enormous practical potential” on the solving of linear systems of equations from symmetric diagonally dominant matrices. The paper is joint with Ioannis Koutis and Richard Peng, and appeared at FOCS 2010. The CMU press release notes that Gaussian elimination “was first published by Chinese mathematicians 2,000 years ago”—a case of “everything being named after Gauss.”
The Result
We will state the result only for the case where are two distinct odd primes. This shows off the method, avoids messy notation, and is the most important case anyway. In crypto-systems that use factoring as a hardness assumption this is usually the case that they care about.
The related significance of the result is expressed by the title of the referenced paper by Long: “Random equivalence of factorization and computation of orders.” This is the equivalence used implicitly in Peter Shor’s famous paper on factoring by quantum computers. We have not been able to trace Long’s paper beyond the “to appear” citations. In any event, Shor cites the 1976 journal version of Miller’s paper for this equivalence.
Lemma 1 Suppose we are given integers and such that where and are odd primes, and is a multiple of . Then we can factor in randomized polynomial time.
The proof below is a slight simplification of the one in Section 2 of the 1986 paper, but still strikes us as not the proof from The Book. We thought you might like looking at it.
Factoring Via GCD
There really is one theme that is used over and over in most methods of factoring: try to construct an integer so that divides and does not. Then the value of will equal , and is factored. Of course the roles of and can be exchanged—the key is that only one prime divides and the other does not. Note that the ancient algorithm of Euclid computes in time that is a small power of the number of digits in and , thus in polynomial time.
Let’s look at how this strategy factors provided we know a multiple of .
Define to be true when only one of and divides . Also define to be true when both
and
are odd numbers. The rationale for these definitions is the following two lemmas:
Lemma 2 There is a randomized algorithm that factors with probability at least one-half, provided is true.
Proof. Assume that is true, and divides . Pick a random in , and compute . We claim that at least half the time this is a factor of . Picking by the Chinese Remainder Theorem (CRT) is equivalent to picking modulo each prime separately. Now , since and divides . So we need to show that
is true only at most half the time. Since does not divide there is some so that . This uses that is a cyclic group of order . But then the set of so that is a proper subgroup, and thus has at most half the elements modulo . This proves the lemma.
Lemma 3 There is a randomized algorithm that factors with probability at least one-half, provided is true.
Proof. Assume that is true. Pick a random in , and compute . We claim that at least half the time this is a factor of . Since is true there is an so that and is odd, and there is an so that and is also odd. Now picking randomly means that at least half the time will be a quadratic residue modulo one of the primes and a non-residue modulo the other. So assume that is a quadratic residue modulo and a non-residue modulo . Then,
by the famous Euler criterion. The last step is to note that by definition of and this is the same as:
Putting This Together
Recall that we start with an —any —such that divides . Note that we don’t yet know what is, we just know that it is among the divisors of the we have.
Our goal is to find —possibly another —so that or is true. Define , and let be such that is an odd integer. We run and for all . If any yields a factor we are done. Otherwise, we try the process again. The final point is that this process works at least one-half the time.
Let’s prove that. Initially divides by assumption. If does not divide then is true and we are done. Note that since is odd, neither divides it. Hence there must exist a least such that and both divide but do not both divide . If exactly one divides then holds and again we are done.
So suppose neither divides . Then we have integers and such that
Necessarily and are both odd, else one of or would divide . Thus is true. This each run of the above process has at least a one-half chance to factor.
Open Problems
Is there a way, given knowledge of , to improve the probability of hitting an such that one of or divides ? Of course this is equivalent to improving the heuristic odds on factoring.
[fixed AKS names, clarified last eqn in Lemma 3, fixed CMU link]
The names should be Neeraj Kayal and Nitin Saxena.
Whoops! Tushar Saxena is someone I knew (of) while he was at Albany. Thanks. Meanwhile, I was occupied with Mac Firefox momentarily displaying the raw LaTeX code rather than rendering it, but it is now OK again.
To me and may be ambiguous but most intuitively parses like and . I assume you mean what would be clearer as and .
Ørjan Johansen,
Good point. We should have fixed that. Of course it only divide by 2. Thanks.
Fixed—thanks. Actually, here’s a weird “excuse” while tired: I was trying to work out whether only one evaluation of B^*(r_{k-1},M) might be needed in the algorithm as originally written, so mentally I was seeing powers of 2 in those denominators…
Very nice post.
But I can’t resist: Joel David Hamkins has, in my biased opinion, a slightly better publication page.
By “better” I only mean the database functionality, of course.
“But I can’t resist: Joel David Hamkins has, in my biased opinion, a slightly better publication page.”
Not bad. But nobody beats Neal Young:
http://www.cs.ucr.edu/~neal/publications
“Last year, Gary was hailed here”
The link at the word “here” seems to be broken.
Fixed—the “http://” was missing. Thanks. Alternate, perhaps more permanent, link in the CMU archives here.
When I was an undergrad in the 70s Miller was working on graph embedding, and had some nice papers on efficient ways to embed planar graphs. At the time, I got the impression he was moving in the direction of graph isomorphism, but apparently he changed course interestingly.
I don’t know why the period r got by quantum computing can be divided by p-1. Could you say more about it? I can only infer that r divides (p-1)(q-1).