Creo que una de las respuestas más relevantes (y ciertamente accesibles) a esta pregunta es que los números primos juegan un papel esencial en el algoritmo RSA (http://en.wikipedia.org/wiki/Rsa), que es uno de los más importantes. algoritmos ampliamente implementados para la transmisión segura de datos a través de Internet.
Básicamente, la seguridad de RSA se reduce a los siguientes hechos: es fácil probar números para primalidad, pero difícil, basado en el conocimiento actual, factorizar números enteros, especialmente si son productos de números primos grandes. Entonces, por ejemplo, un número entero del producto de dos números primos, cada uno de aproximadamente 1000 dígitos de largo (aproximadamente 2000 dígitos de largo) es extremadamente difícil de factorizar dado el conocimiento actual y el poder de cómputo, pero en realidad es fácil encontrar números primos de aproximadamente 1000 dígitos de largo.
Dicho todo esto, no existe un consenso claro sobre si la factorización entera es realmente un problema realmente difícil. Ciertamente, algunos matemáticos creen que la factorización de enteros en realidad podría tener una solución de tiempo polinomial, y probablemente no sea un problema de NP completo.
- ¿Por qué debería aprender algoritmos antes de entrar en la programación?
- ¿Cuál es la compensación tiempo-espacio en el diseño de algoritmos?
- ¿Es el algoritmo de búsqueda de Google realmente el mejor?
- ¿Por qué el tiempo de espera corta cwnd a 1 y 3 ACK duplicado a la mitad en el algoritmo de control de congestión?
- ¿Para qué sirven los bordes traseros en el algoritmo Ford-Fulkerson?