Removing randomness from computational number theory

In recent years, many probabilistic algorithms (i.e., algorithms that can toss coins) that run in polynomial time have been discovered for problems with no known deterministic polynomial time algorithms. Perhaps the most famous example is the problem of testing large (say, 100 digit) numbers for primality. Even for problems which are known to have deterministic polynomial time algorithms, these algorithms are often not as fast as some probabilistic algorithms for the same problem. Even though probabilistic algorithms are useful in practice, we would like to know, for both theoretical and practical reasons, if randomization is really necessary to obtain the most e cient algorithms for certain problems. That is, we would like to know for which problems there is an inherent gap between the deterministic and probabilistic complexities of these problems. In this research, we consider two problems of a number theoretic nature: factoring polynomials over nite elds and constructing irreducible polynomials of speci ed degree over nite elds. We present new results that narrow the gap between the known deterministic and probabilistic complexities of these problems. One of our results is a deterministic polynomial time reduction from the latter problem to the former, giving rise to a deterministic algorithm for constructing irreducible polynomials that runs in polynomial time for elds of small characteristic. Another of our results is a new deterministic factoring algorithm whose worst-case running time is asymptotically faster than that of previously known deterministic algorithms for this problem. We also analyze the average-case running time of our algorithm (averaging over inputs), proving that it is just about as fast as the expected running time (averaging over coin tosses) of some of the fastest probabilistic algorithms. In particular, the average-case running time of our algorithm is polynomial. i Preface Some of the results in this thesis have previously appeared in [38] and [39]. I wish to thank my advisor, Eric Bach. Working with Eric has truly been a delight, and his encouragement and support were invaluable in conducting this research. Thanks also goes to Anne Condon, Jon Sorenson and John Strikwerda for providing me with corrections and insightful comments on an early draft of this thesis. I would like to also thank Hendrik Lenstra for sharing several of his ideas with me, and Hiroshi Gunji, in whose classes I learned quite a bit about algebra. This research was supported by NSF grants DCR-8504485 and DCR8552596. ii

[1]  Eric Bach,et al.  Realistic analysis of some randomized algorithms , 1987, J. Comput. Syst. Sci..

[2]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[3]  Victor Shoup On the Deterministic Complexity of Factoring Polynomials over Finite Fields , 1990, Inf. Process. Lett..

[4]  N. Katz An estimate for character sums , 1989 .

[5]  Victor Shoup,et al.  New algorithms for finding irreducible polynomials over finite fields , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[6]  The parallel complexity of exponentiating polynomials over finite fields , 1988, JACM.

[7]  J. Chahal Equations over Finite Fields , 1988 .

[8]  Joachim von zur Gathen,et al.  Factoring Polynomials and Primitive Elements for Special Primes , 1987, Theor. Comput. Sci..

[9]  C. Pomerance Fast, Rigorous Factorization and Discrete Logarithm Algorithms , 1987 .

[10]  Joachim Gathen,et al.  Irreducible Polynomials over Finite Fields , 1986, FSTTCS.

[11]  Leonard M. Adleman,et al.  Finding irreducible polynomials over finite fields , 1986, STOC '86.

[12]  Ming-Deh A. Huang Riemann hypothesis and finding roots over finite fields , 1985, STOC '85.

[13]  J. Gathen,et al.  Factorization of multivariate polynomials over finite fields , 1985 .

[14]  Wayne Eberly,et al.  Very Fast Parallel Matrix and Polynomial Arithmetic , 1984, FOCS.

[15]  Ronald L. Rivest,et al.  A Knapsack Type Public Key Cryptosystem Based On Arithmetic in Finite Fields , 1984, CRYPTO.

[16]  Arjen K. Lenstra,et al.  Factorization of Polynomials , 1983 .

[17]  Joachim von zur Gathen,et al.  Parallel algorithms for algebraic problems , 1983, SIAM J. Comput..

[18]  Paul Camion Improving an algorithm for factoring polynomials over a finite field and constructing large irreducible polynomials , 1983, IEEE Trans. Inf. Theory.

[19]  Paul Camion A Deterministic Algorithm for Factorizing Polynomials of Fq [X] , 1983 .

[20]  Daniel Lazard On Polynomial Factorization , 1982, EUROCAM.

[21]  Michael Ben-Or,et al.  Probabilistic algorithms in finite fields , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[22]  D. Cantor,et al.  A new algorithm for factoring polynomials over finite fields , 1981 .

[23]  Michael O. Rabin,et al.  Probabilistic Algorithms in Finite Fields , 1980, SIAM J. Comput..

[24]  A. Odlyzko,et al.  A bound for the least prime ideal in the Chebotarev Density Theorem , 1979 .

[25]  Wolfgang M. Schmidt,et al.  Equations over Finite Fields: An Elementary Approach , 1976 .

[26]  Vaughan R. Pratt,et al.  Every Prime has a Succinct Certificate , 1975, SIAM J. Comput..

[27]  Allan Borodin,et al.  The computational complexity of algebraic and numeric problems , 1975, Elsevier computer science library.

[28]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[29]  M. D. MacLaren The Art of Computer Programming. Volume 2: Seminumerical Algorithms (Donald E. Knuth) , 1970 .

[30]  I. Niven Formal Power Series , 1969 .

[31]  Elwyn R. Berlekamp,et al.  Algebraic coding theory , 1984, McGraw-Hill series in systems science.

[32]  D. A. Burgess On Dirichlet Characters of Polynomials , 1963 .

[33]  D. A. Burgess On Character Sums and Primitive Roots , 1962 .

[34]  N. Ankeny The least quadratic non residue , 1952 .

[35]  H. W. Turnbull,et al.  Theory of Equations , 1940 .