27.12.2012 Views

Introducción a la teoría de números. Ejemplos y - TEC-Digital

Introducción a la teoría de números. Ejemplos y - TEC-Digital

Introducción a la teoría de números. Ejemplos y - TEC-Digital

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

170 NÚMEROS PRIMOS Y FACTORIZACIÓN.<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

Algoritmo 9.5: Miller-Rabin<br />

Datos: n ≥ 3 y un parámetro <strong>de</strong> seguridad t ≥ 1.<br />

Salida: “n es primo” o “n es compuesto”.<br />

Calcule r y s tal que n − 1 = 2sr, r impar;<br />

for i = 1,2,...,t do<br />

a =Random(2,n − 2);<br />

y = ar (mod n);<br />

if y �= 1 y y �= n − 1 then<br />

j = 1;<br />

while j ≤ s − 1 y y �= n − 1 do<br />

y = y2 (mod n);<br />

if y = 1 then<br />

return “Compuesto”;<br />

j = j + 1;<br />

if y �= n − 1 then<br />

return “Compuesto”;<br />

return “Primo”;<br />

compuesto. Esto es así pues si x 2 ≡ y 2 (mod n) pero si x ≡/ ± y (mod n), entonces MCD(x − y,n)<br />

es un factor no trivial <strong>de</strong> n. En <strong>la</strong> línea 12, si y �= n − 1, entonces a es un testigo fuerte <strong>de</strong> n.<br />

Si el algoritmo 9.5 <strong>de</strong>c<strong>la</strong>ra compuesto a n entonces n es <strong>de</strong>finitivamente compuesto, por el<br />

teorema 9.3. Si n es primo, es <strong>de</strong>c<strong>la</strong>rado primo. Si n es compuesto, <strong>la</strong> probabilidad <strong>de</strong> que el<br />

algoritmo lo <strong>de</strong>c<strong>la</strong>re primo es inferior a 1/4 t .<br />

El algoritmo 9.5 requiere, para n − 1 = 2 j r con r impar, t(2 + j)lnn pasos. t es el número <strong>de</strong><br />

bases.<br />

Una estrategia que se usa a veces es fijar <strong>la</strong>s bases. Se toman como base algunos <strong>de</strong> los primeros<br />

primos en vez <strong>de</strong> tomar<strong>la</strong>s <strong>de</strong> manera aleatoria. El resultado importante aquí es este: Si p1, p2,..., pt<br />

son los primeros t primos y si ψt es el más pequeño entero compuesto el cual es seudoprimo<br />

para todas <strong>la</strong>s bases p1, p2,..., pt, entonces el algoritmo <strong>de</strong> Miller-Rabin, con <strong>la</strong>s bases p1, p2,..., pt,<br />

siempre respon<strong>de</strong> <strong>de</strong> manera correcta si n < ψt. Para 1 ≤ t ≤ 8 tenemos<br />

t ψt<br />

1 2047<br />

2 1373653<br />

3 25326001<br />

4 3215031751<br />

5 2152302898747<br />

6 3474749660383<br />

7 341550071728321<br />

8 341550071728321

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!