Los instrumentos computacionales para la identificación de números primos son algoritmos, bibliotecas y otras herramientas aplicadas gracias a la capacidad de cálculo de los computadores. Comenzaron a utilizarse a partir de mediados del siglo XX, cuando los informáticos/investigadores iniciaron un camino para disponer de lenguajes denominados de alto nivel que no les obligase a escribir instrucciones dependientes del procesador (lenguaje máquina), y la velocidad y memoria permitiesen almacenar resultados como entrada de otras operaciones. En la actualidad son imprescindibles, aunque algunos sólo tienen interés histórico y nos demuestran que sin evolución, te transformas en una momia a los 50 años.
Existen tres partes importantes en la utilización de estos instrumentos:
- La teórica. Desarrolla la idea fundamentada a través de conocimientos matemáticos que se apoya en los teoremas y conjeturas desde el origen de los tiempos.
- Teorema chino del resto. Sun Tzu.
- Los distintos métodos y cribas. Algebraica, geométrica, de rueda y otras muchas desarrolladas por matemáticos como: Eratóstenes, Viggo Brun, Atle Selberg, Yuri V. Linnik, Arthur Atkin, rho de Michael Pollard, …
- El sinfín de teoremas y conjeturas. Infinitud de números primos, ley de reciprocidad cuadrática, teorema de los números primos, polinomios, congruencias, curvas elípticas…
- La práctica. Valida la idoneidad de las teorías y las pone en uso combinando trabajos matemáticos y de computación para generar, con distintos lenguajes de programación y sistemas operativos, bibliotecas y programas eficientes. A lo largo de estos años han surgido muchas, PARI/GP, NFS, LIP, NTL, GMP, GNFS,… y otras que permiten el uso y utilización del código fuente a través de la licencia GNU, originada en 1.983 por los trabajos de Richard Stallman y la creación de la Free Software Foundation en 1.985.
- Los complementos. Son elementos que apoyan a los dos puntos anteriores y aunque no están dirigidos a resolver los problemas de los números primos, son herramientas indispensables para la consecución de los mismos. La proposición de Richard Schroeppel para un algoritmo de factorización sub-exponencial, los trabajos de Leonard Adleman, Carl Pomerance, Robert Rumely, Shafi Goldwasser, Joe Kilian,…
Con independencia del interés puramente matemático, socialmente tienen una importancia extrema, algunos algoritmos se aplican en la factorización de números enteros que está ligada a la gestión y consecución de números primos para campos tan importantes como es el de la seguridad.
En el futuro, a corto plazo, cuando utilicemos la moneda digital (digamos Bitcoin) como complemento/sustitución de las tarjetas de débito y crédito, estaremos definitivamente en manos de un numerito primo. Ya lo estamos en muchas áreas productivas y la mayoría de las personas no conocen su dependencia. Por otro lado, estos numeritos primos dejaran de tener importancia cuando la computación cuántica sea viable, pero hasta ese momento lo dicho, estamos en sus manos.
Algunas de las herramientas que están disponibles para ayudarnos en nuestra búsqueda son:
Tipo | Nombre | Windows | Linux | Fuentes | Autor |
Criva | AthGFN64 | Si | David Underbakke, Yves Gallot, Phil Carmody | ||
Criva | FermFact | Si | Jim Fougeron | ||
Criva | NewPGen | Si | Si | Paul Jobling | |
Criva | ppSieve | Si | Si | Si | Ken Brazier |
Criva | ppSieve_CL | Si | Si | Si | Ken Brazier |
Criva | ppSieve_CUDA | Si | Si | Si | Ken Brazier |
Criva | SrSieve | Si | Geoffrey Reynolds | ||
Criva+División por tentativa | Fermat | Si | Leonid Durman | ||
Criva+División por tentativa | Feromant | Si | Roman Maznichenko | ||
Criva+División por tentativa | Feromant_CUDA | Si | Si | Roman Maznichenko | |
Criva+División por tentativa | GMP-Fermat | Si | Si | Mark Rodenkirch | |
Criva+División por tentativa | mmff | Si | Si | George Woltman | |
Criva+División por tentativa | pmfs | Si | Gary Gostin | ||
Factorización | GMP-ECM | Si | Si | Si | Paul Zimmermann |
Factorización | GPU-ECM | Si | Si | Paul Zimmermann | |
Prueba de primos | GeneFer | Si | Si | Si | Yves Gallot, Mark Rodenkirch |
Prueba de primos | LLR | Si | Si | Si | Jean Penné |
Prueba de primos | pfgw | Si | Si | Mark Rodenkirch, George Woltman | |
Prueba de primos | Prime95 | Si | Si | Si | George Woltman |
Prueba de primos | Proth | Si | Yves Gallot | ||
Prueba de primos | PRP | Si | George Woltman |