pollardrho.tex 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. \chapter{Pollard's $\rho$ factorization method \label{chap:pollardrho}}
  2. Pollard's $\rho$ factorization method is based on the statistical idea behind
  3. the birthday paradox. It consists into indentifying a periodically recurrent
  4. sequence of integers in the ring of remainders with respect to the public
  5. modulus $N$, and claim that the period $\psi$ is one of the two primes
  6. factorizing $N$.
  7. \paragraph{Origins of the name} The $\rho$ name is devoted to the graphical
  8. representation of the algorithm: as we can see in figure ~\ref{fig:pollardrho},
  9. if we graphically represent the lookup over a graphic
  10. \begin{center}
  11. \begin{tikzpicture}[scale=0.7, thick]
  12. \tikzstyle{every node}=[draw,circle,fill=white,minimum size=4pt,
  13. inner sep=0pt]
  14. \node (1) at (1.4, 0.2) [label=left:$x_1$] {};
  15. \node (2) at (2.5, 3) [label=left:$x_{i-2}$] {};
  16. \node (3) at (3.25, 5) [label=left:$x_{i-1}$] {};
  17. \node (4) at (4, 7) [label=left:$ x_i \equiv x_j $] {};
  18. \node (5) at (6, 9) [label=above:$x_{i+1}$] {};
  19. \node (6) at (8, 7) [label=right:$x_{i+2}$] {};
  20. \node (7) at (6, 5) [label=below:$x_{j-1}$] {};
  21. \path (1) edge [dashed] (2);
  22. \path (2) edge (3);
  23. \path (3) edge (4);
  24. \path (4) edge [bend left] (5);
  25. \path (5) edge [bend left] (6);
  26. \path (6) edge [bend left, dashed] (7);
  27. \path (7) edge [bend left] (4);
  28. %%\draw [decorate,decoration={brace, raise=1.5cm}] (1) -- (3)
  29. %%node[draw=no] at (-1.5, 4) {tail};
  30. \draw [decorate,decoration={brace, raise=3cm}] (5) -- (7)
  31. node[draw=none] at (13, 7) {\footnotesize {periodic sequence}};
  32. \end{tikzpicture}
  33. \end{center}
  34. \paragraph{A more rigourous description}
  35. \begin{proof}
  36. \end{proof}
  37. \section{A Computer program for Pollard's $\rho$ method}
  38. Using the same trick we saw in section ~\ref{sec:pollard-1:implementing}, we
  39. chose to apply occasionally Euclid's algorithm by computing the accumulated
  40. product; algorithm ~\ref{alg:pollardrho} outlines what we have so far discussed,
  41. considering also the pascal transcript present in ~\cite{riesel} \S 5.
  42. \begin{algorithm}
  43. \caption{Pollard's $\rho$ factorization \label{alg:pollardrho}}
  44. \begin{algorithmic}[1]
  45. \State $a \getsRandom \naturalN \setminus \{0, 2\}$
  46. \State $x \getsRandom \naturalN$
  47. \State $y \gets x$
  48. \end{algorithmic}
  49. \end{algorithm}
  50. %%% Local Variables:
  51. %%% mode: latex
  52. %%% TeX-master: "question_authority"
  53. %%% End: