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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

En el método <strong>de</strong> factorización por ensayo y error, en su versión más cruda, probamos con todos<br />

los <strong>números</strong> entre 2 y √ N para hal<strong>la</strong>r un factor <strong>de</strong> N. Si no lo hal<strong>la</strong>mos, N es primo.<br />

En vez <strong>de</strong> hacer estos ≈ √ N pasos (en el peor caso), vamos a escoger una lista aleatoria <strong>de</strong><br />

<strong>números</strong>, más pequeña que √ N, y probar con ellos.<br />

A menudo se construyen sucesiones seudo-aleatorias x0, x1, x2,... usando una iteración <strong>de</strong> <strong>la</strong> forma<br />

x i+1 = f (x i) (mod N), con x0 = random(0, N − 1). Entonces {x0, x1,...} ⊆ ZN. Por lo tanto los<br />

x i’s se empiezan a repetir en algún momento.<br />

La i<strong>de</strong>a es esta: Supongamos que ya calcu<strong>la</strong>mos <strong>la</strong> sucesión x0, x1, x2,... y que es “suficientemente<br />

aleatoria”. Si p es un factor primo <strong>de</strong> N y si<br />

� xi ≡ x j (mod p)<br />

x i ≡/ x j (mod N)<br />

entonces, como x i − x j = kp, resulta que MCD(x i − x j, N) es un factor no trivial <strong>de</strong> N.<br />

C<strong>la</strong>ro, no conocemos p, pero conocemos los x i’s, así que po<strong>de</strong>mos reve<strong>la</strong>r <strong>la</strong> existencia <strong>de</strong> p con<br />

el cálculo <strong>de</strong>l MCD: En <strong>la</strong> práctica se requiere comparar, <strong>de</strong> manera eficiente, los x i con los x j<br />

hasta reve<strong>la</strong>r <strong>la</strong> presencia <strong>de</strong>l factor p vía el cálculo <strong>de</strong>l MCD(x i − x j, N).<br />

⎧<br />

⎨<br />

⎩<br />

x i ≡ x j (mod p)<br />

x i ≡/ x j (mod N)<br />

=⇒ mcd(x i − x j, N) es factor no trivial <strong>de</strong> N<br />

Si x0, x1, x2,... es “suficientemente aleatoria”, hay una probabilidad muy alta <strong>de</strong> que encontremos<br />

pronto una “repetición” <strong>de</strong>l tipo x i ≡ x j (mod p) antes <strong>de</strong> que esta repetición ocurra (mod N).<br />

Antes <strong>de</strong> entrar en los <strong>de</strong>talles <strong>de</strong>l algoritmo y su eficiencia, veamos un ejemplo.<br />

Ejemplo 9.3 Sea N = 1387. Para crear una sucesión “seudoaleatoria” usamos f (x) = x 2 − 1 y x1 = 2.<br />

Luego,<br />

es <strong>de</strong>cir,<br />

x0 = 2<br />

xi+1 = x 2 i − 1 (mod N)

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

Saved successfully!

Ooh no, something went wrong!