In mathematics, there are often many procedures to solve or prove the same problem. The discrete logarithm is one of these problems. The baby step, giant step algorithm and Pollard's kangaroo algorithm are two algorithms that attempt to solve discrete logarithm problems. Explanations on what these two algorithms are will be discussed as well as examples of each algorithm. In addition to these two algorithms, a modified form of Pollard's kangaroo algorithm will be provided with results. Throughout the text, Mathematica programs will be presented that simulate each of the three algorithms above. |