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