Monte Carlo methods for index computation ()

We describe some novel methods to compute the index of any integer relative to a given primitive root of a prime p. Our flrst method avoids the use of stored tables and apparently requires O(p 1/2) operations. Our second algorithm, which may be regarded as a method of catching kangaroos, is applicable when the index is known to lie in a certain interval; it requires O(w/2) operations for an interval of width w, but does not have complete certainty of success. It has several possible areas of application, including the f1actorization of integers. 1. A Rho Method for Index Computation. The concept of a random mapping of a finite set is used by Knuth [1, pp. 7-8] to explain the behavior of a type of random number generator. A sequence obtained by iterating such a function in a set of p elements is 'rho-shaped' with a tail and cycle which are random variables with expectation close to (1) /(irp/8) 0.6267 N/p, (as shown first in [2], [3]). Recently [4], we proposed that this theory be applied to recurrence relations such as (2) xi l x ? 1 (mod p), and showed how a very simple factorization method results, in which a prime factor p of a number can be found in only 0(pW2) operations. The method has been further discussed by Guy [5] and Devitt [6], who have found it suitable for use in programmable calculators. We now suggest that the same theory can be applied to sequences such as xo= 1, i1 qx1 0< x1 < jp 13~~~ (3)~SXi 2? 2i3 ()Xi+ 1 xi' (mod p) for 3' p