fbpx
Wikipedia

Pollard's kangaroo algorithm

In computational number theory and computational algebra, Pollard's kangaroo algorithm (also Pollard's lambda algorithm, see Naming below) is an algorithm for solving the discrete logarithm problem. The algorithm was introduced in 1978 by the number theorist John M. Pollard, in the same paper as his better-known Pollard's rho algorithm for solving the same problem.[1][2] Although Pollard described the application of his algorithm to the discrete logarithm problem in the multiplicative group of units modulo a prime p, it is in fact a generic discrete logarithm algorithm—it will work in any finite cyclic group.

Algorithm edit

Suppose   is a finite cyclic group of order   which is generated by the element  , and we seek to find the discrete logarithm   of the element   to the base  . In other words, one seeks   such that  . The lambda algorithm allows one to search for   in some interval  . One may search the entire range of possible logarithms by setting   and  .

1. Choose a set   of positive integers of mean roughly   and define a pseudorandom map  .

2. Choose an integer   and compute a sequence of group elements   according to:

  •  
  •  

3. Compute

 

Observe that:

 

4. Begin computing a second sequence of group elements   according to:

  •  
  •  

and a corresponding sequence of integers   according to:

 .

Observe that:

 

5. Stop computing terms of   and   when either of the following conditions are met:

A)   for some  . If the sequences   and   "collide" in this manner, then we have:
 
and so we are done.
B)  . If this occurs, then the algorithm has failed to find  . Subsequent attempts can be made by changing the choice of   and/or  .

Complexity edit

Pollard gives the time complexity of the algorithm as  , using a probabilistic argument based on the assumption that   acts pseudorandomly. Since   can be represented using   bits, this is exponential in the problem size (though still a significant improvement over the trivial brute-force algorithm that takes time  ). For an example of a subexponential time discrete logarithm algorithm, see the index calculus algorithm.

Naming edit

The algorithm is well known by two names.

The first is "Pollard's kangaroo algorithm". This name is a reference to an analogy used in the paper presenting the algorithm, where the algorithm is explained in terms of using a tame kangaroo to trap a wild kangaroo. Pollard has explained[3] that this analogy was inspired by a "fascinating" article published in the same issue of Scientific American as an exposition of the RSA public key cryptosystem. The article[4] described an experiment in which a kangaroo's "energetic cost of locomotion, measured in terms of oxygen consumption at various speeds, was determined by placing kangaroos on a treadmill".

The second is "Pollard's lambda algorithm". Much like the name of another of Pollard's discrete logarithm algorithms, Pollard's rho algorithm, this name refers to the similarity between a visualisation of the algorithm and the Greek letter lambda ( ). The shorter stroke of the letter lambda corresponds to the sequence  , since it starts from the position b to the right of x. Accordingly, the longer stroke corresponds to the sequence  , which "collides with" the first sequence (just like the strokes of a lambda intersect) and then follows it subsequently.

Pollard has expressed a preference for the name "kangaroo algorithm",[5] as this avoids confusion with some parallel versions of his rho algorithm, which have also been called "lambda algorithms".

See also edit

References edit

  1. ^ Pollard, John M. (July 1978) [1977-05-01, 1977-11-18]. "Monte Carlo Methods for Index Computation (mod p)" (PDF). Mathematics of Computation. 32 (143). Mathematics Department, Plessey Telecommunications Research, Taplow Court, Maidenhead, Berkshire, UK: American Mathematical Society: 918–924. ISSN 0025-5718. (PDF) from the original on 2013-05-03. Retrieved 2023-08-19. (7 pages)
  2. ^ van Oorschot, Paul C.; Wiener, Michael J. (1999). "Parallel collision search with cryptanalytic applications". Journal of Cryptology. 12 (1). International Association for Cryptologic Research: 1–28. ISSN 0933-2790.
  3. ^ Pollard, John M. (2000-08-10) [1998-01-23, 1999-09-27]. "Kangaroos, Monopoly and Discrete Logarithms" (PDF). Journal of Cryptology. 13 (4). Tidmarsh Cottage, Manor Farm Lane, Tidmarsh, Reading, UK: International Association for Cryptologic Research: 437–447. doi:10.1007/s001450010010. ISSN 0933-2790. (PDF) from the original on 2023-08-18. Retrieved 2023-08-19. (11 pages)
  4. ^ Dawson, Terence J. (1977-08-01). "Kangaroos". Scientific American. Vol. 237, no. 2. Scientific American, Inc. pp. 78–89. ISSN 0036-8733. JSTOR 24954004.
  5. ^ Pollard, John M. "Jmptidcott2". from the original on 2023-08-18. Retrieved 2023-08-19.
  6. ^ Pollard, John M. (July 2000). "Kruskal's Card Trick" (PDF). The Mathematical Gazette. 84 (500). Tidmarsh Cottage, Manor Farm Lane, Tidmarsh, Reading, UK: The Mathematical Association: 265–267. ISSN 0025-5572. JSTOR 3621657. 84.29. (PDF) from the original on 2023-08-18. Retrieved 2023-08-19. (1+3 pages)

Further reading edit

  • Montenegro, Ravi [at Wikidata]; Tetali, Prasad V. (2010-11-07) [2009-05-31]. How Long Does it Take to Catch a Wild Kangaroo? (PDF). Proceedings of the forty-first annual ACM symposium on Theory of computing (STOC 2009). pp. 553–560. arXiv:0812.0789. doi:10.1145/1536414.1536490. S2CID 12797847. (PDF) from the original on 2023-08-20. Retrieved 2023-08-20.

pollard, kangaroo, algorithm, computational, number, theory, computational, algebra, also, pollard, lambda, algorithm, naming, below, algorithm, solving, discrete, logarithm, problem, algorithm, introduced, 1978, number, theorist, john, pollard, same, paper, b. In computational number theory and computational algebra Pollard s kangaroo algorithm also Pollard s lambda algorithm see Naming below is an algorithm for solving the discrete logarithm problem The algorithm was introduced in 1978 by the number theorist John M Pollard in the same paper as his better known Pollard s rho algorithm for solving the same problem 1 2 Although Pollard described the application of his algorithm to the discrete logarithm problem in the multiplicative group of units modulo a prime p it is in fact a generic discrete logarithm algorithm it will work in any finite cyclic group Contents 1 Algorithm 2 Complexity 3 Naming 4 See also 5 References 6 Further readingAlgorithm editSuppose G displaystyle G nbsp is a finite cyclic group of order n displaystyle n nbsp which is generated by the element a displaystyle alpha nbsp and we seek to find the discrete logarithm x displaystyle x nbsp of the element b displaystyle beta nbsp to the base a displaystyle alpha nbsp In other words one seeks x Z n displaystyle x in Z n nbsp such that a x b displaystyle alpha x beta nbsp The lambda algorithm allows one to search for x displaystyle x nbsp in some interval a b Z n displaystyle a ldots b subset Z n nbsp One may search the entire range of possible logarithms by setting a 0 displaystyle a 0 nbsp and b n 1 displaystyle b n 1 nbsp 1 Choose a set S displaystyle S nbsp of positive integers of mean roughly b a displaystyle sqrt b a nbsp and define a pseudorandom map f G S displaystyle f G rightarrow S nbsp 2 Choose an integer N displaystyle N nbsp and compute a sequence of group elements x 0 x 1 x N displaystyle x 0 x 1 ldots x N nbsp according to x 0 a b displaystyle x 0 alpha b nbsp x i 1 x i a f x i for i 0 1 N 1 displaystyle x i 1 x i alpha f x i text for i 0 1 ldots N 1 nbsp 3 Compute d i 0 N 1 f x i displaystyle d sum i 0 N 1 f x i nbsp Observe that x N x 0 a d a b d displaystyle x N x 0 alpha d alpha b d nbsp 4 Begin computing a second sequence of group elements y 0 y 1 displaystyle y 0 y 1 ldots nbsp according to y 0 b displaystyle y 0 beta nbsp y i 1 y i a f y i for i 0 1 N 1 displaystyle y i 1 y i alpha f y i text for i 0 1 ldots N 1 nbsp and a corresponding sequence of integers d 0 d 1 displaystyle d 0 d 1 ldots nbsp according to d n i 0 n 1 f y i displaystyle d n sum i 0 n 1 f y i nbsp Observe that y i y 0 a d i b a d i for i 0 1 N 1 displaystyle y i y 0 alpha d i beta alpha d i mbox for i 0 1 ldots N 1 nbsp 5 Stop computing terms of y i displaystyle y i nbsp and d i displaystyle d i nbsp when either of the following conditions are met A y j x N displaystyle y j x N nbsp for some j displaystyle j nbsp If the sequences x i displaystyle x i nbsp and y j displaystyle y j nbsp collide in this manner then we have x N y j a b d b a d j b a b d d j x b d d j mod n displaystyle x N y j Rightarrow alpha b d beta alpha d j Rightarrow beta alpha b d d j Rightarrow x equiv b d d j pmod n nbsp dd and so we are done B d i gt b a d displaystyle d i gt b a d nbsp If this occurs then the algorithm has failed to find x displaystyle x nbsp Subsequent attempts can be made by changing the choice of S displaystyle S nbsp and or f displaystyle f nbsp Complexity editPollard gives the time complexity of the algorithm as O b a displaystyle O sqrt b a nbsp using a probabilistic argument based on the assumption that f displaystyle f nbsp acts pseudorandomly Since a b displaystyle a b nbsp can be represented using O log b displaystyle O log b nbsp bits this is exponential in the problem size though still a significant improvement over the trivial brute force algorithm that takes time O b a displaystyle O b a nbsp For an example of a subexponential time discrete logarithm algorithm see the index calculus algorithm Naming editThe algorithm is well known by two names The first is Pollard s kangaroo algorithm This name is a reference to an analogy used in the paper presenting the algorithm where the algorithm is explained in terms of using a tame kangaroo to trap a wild kangaroo Pollard has explained 3 that this analogy was inspired by a fascinating article published in the same issue of Scientific American as an exposition of the RSA public key cryptosystem The article 4 described an experiment in which a kangaroo s energetic cost of locomotion measured in terms of oxygen consumption at various speeds was determined by placing kangaroos on a treadmill The second is Pollard s lambda algorithm Much like the name of another of Pollard s discrete logarithm algorithms Pollard s rho algorithm this name refers to the similarity between a visualisation of the algorithm and the Greek letter lambda l displaystyle lambda nbsp The shorter stroke of the letter lambda corresponds to the sequence x i displaystyle x i nbsp since it starts from the position b to the right of x Accordingly the longer stroke corresponds to the sequence y i displaystyle y i nbsp which collides with the first sequence just like the strokes of a lambda intersect and then follows it subsequently Pollard has expressed a preference for the name kangaroo algorithm 5 as this avoids confusion with some parallel versions of his rho algorithm which have also been called lambda algorithms See also editDynkin s card trick Kruskal count 6 Rainbow tableReferences edit Pollard John M July 1978 1977 05 01 1977 11 18 Monte Carlo Methods for Index Computation mod p PDF Mathematics of Computation 32 143 Mathematics Department Plessey Telecommunications Research Taplow Court Maidenhead Berkshire UK American Mathematical Society 918 924 ISSN 0025 5718 Archived PDF from the original on 2013 05 03 Retrieved 2023 08 19 7 pages van Oorschot Paul C Wiener Michael J 1999 Parallel collision search with cryptanalytic applications Journal of Cryptology 12 1 International Association for Cryptologic Research 1 28 ISSN 0933 2790 Pollard John M 2000 08 10 1998 01 23 1999 09 27 Kangaroos Monopoly and Discrete Logarithms PDF Journal of Cryptology 13 4 Tidmarsh Cottage Manor Farm Lane Tidmarsh Reading UK International Association for Cryptologic Research 437 447 doi 10 1007 s001450010010 ISSN 0933 2790 Archived PDF from the original on 2023 08 18 Retrieved 2023 08 19 11 pages Dawson Terence J 1977 08 01 Kangaroos Scientific American Vol 237 no 2 Scientific American Inc pp 78 89 ISSN 0036 8733 JSTOR 24954004 Pollard John M Jmptidcott2 Archived from the original on 2023 08 18 Retrieved 2023 08 19 Pollard John M July 2000 Kruskal s Card Trick PDF The Mathematical Gazette 84 500 Tidmarsh Cottage Manor Farm Lane Tidmarsh Reading UK The Mathematical Association 265 267 ISSN 0025 5572 JSTOR 3621657 84 29 Archived PDF from the original on 2023 08 18 Retrieved 2023 08 19 1 3 pages Further reading editMontenegro Ravi at Wikidata Tetali Prasad V 2010 11 07 2009 05 31 How Long Does it Take to Catch a Wild Kangaroo PDF Proceedings of the forty first annual ACM symposium on Theory of computing STOC 2009 pp 553 560 arXiv 0812 0789 doi 10 1145 1536414 1536490 S2CID 12797847 Archived PDF from the original on 2023 08 20 Retrieved 2023 08 20 Retrieved from https en wikipedia org w index php title Pollard 27s kangaroo algorithm amp oldid 1173590288, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.