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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
156 NÚMEROS PRIMOS Y FACTORIZACIÓN.<br />
Teorema 9.1 Si n ∈ Z + admite <strong>la</strong> factorización n = ab, con a,b ∈ Z + entonces a ≤ √ n o b ≤ √ n.<br />
Prueba: Proce<strong>de</strong>mos por contradicción, si a > √ n y b > √ n entonces ab > √ n √ n = n lo cual,<br />
por hipótesis, no es cierto.<br />
Del teorema anterior se pue<strong>de</strong> <strong>de</strong>ducir que<br />
• Si n no tiene factores d con 1 < d ≤ √ n, entonces n es primo.<br />
• Al menos uno <strong>de</strong> los factores <strong>de</strong> n es menor que √ n (no necesariamente todos). Por ejemplo<br />
14 = 2 · 7 solo tiene un factor menor que √ 14 ≈ 3.74166).<br />
De acuerdo al teorema fundamental <strong>de</strong> <strong>la</strong> aritmética, Cualquier número natural > 1 factoriza, <strong>de</strong><br />
manera única (excepto por el or<strong>de</strong>n) como producto <strong>de</strong> primos. Esto nos dice que <strong>la</strong> estrategia<br />
óptima <strong>de</strong> factorización sería probar con los primos menores que √ n. El problema es que si n<br />
es muy gran<strong>de</strong> el primer problema sería que el cálculo <strong>de</strong> los primos <strong>de</strong> prueba duraría siglos<br />
(sin consi<strong>de</strong>rar los problemas <strong>de</strong> almacenar estos <strong>números</strong>).<br />
Recientemente (2005) se factorizó un número <strong>de</strong> 200 cifras 9 (RSA-200). Se tardó cerca <strong>de</strong> 18 meses<br />
en completar <strong>la</strong> factorización con un esfuerzo computacional equivalente a 53 años <strong>de</strong> trabajo <strong>de</strong><br />
un CPU 2.2 GHz Opteron.<br />
9.4.2 Algoritmo.<br />
I<strong>de</strong>ntificar si un número es primo es generalmente fácil, pero factorizar un número (gran<strong>de</strong>)<br />
arbitrario no es sencillo. El método <strong>de</strong> factorización <strong>de</strong> un número N probando con divisores<br />
primos (“trial division”) consiste en probar dividir N con primos pequeños. Para esto se <strong>de</strong>be<br />
previamente almacenar una tab<strong>la</strong> suficientemente gran<strong>de</strong> <strong>de</strong> <strong>números</strong> primos o generar <strong>la</strong> tab<strong>la</strong><br />
cada vez. Como ya vimos en <strong>la</strong> criba <strong>de</strong> Eratóstenes, esta manera <strong>de</strong> proce<strong>de</strong>r trae consigo problemas<br />
<strong>de</strong> tiempo y <strong>de</strong> memoria. En realidad es más ventajoso proce<strong>de</strong>r <strong>de</strong> otra manera.<br />
Para hacer <strong>la</strong> pruebas <strong>de</strong> divisibilidad usamos los enteros 2, 3 y <strong>la</strong> sucesión 6k ± 1, k =<br />
1,2,....<br />
Esta elección cubre todos los primos e incluye divisiones por algunos <strong>números</strong> compuestos<br />
(25,35,...) pero <strong>la</strong> implementación es sencil<strong>la</strong> y el programa suficientemente rápido (para<br />
<strong>números</strong> no muy gran<strong>de</strong>s) que vale <strong>la</strong> pena permitirse estas divisiones inútiles.<br />
9 Se trata <strong>de</strong>l caso más complicado, un número que factoriza como producto <strong>de</strong> dos primos (casi) <strong>de</strong>l mismo tamaño.