¿Ya viste la lección sobre Criptografía Moderna? En el último punto de revisión esta era la preguntá más común entre los usuarios:

En esa lección vimos cómo la factorización en números primos tuvo un papel fundamental en la construcción de candados matemáticos. Un candado matemático (o una función de un sentido) requiere de un procedimiento que sea fácil de hacer pero difícil de deshacer.
Por ejemplo, si elijo aleatoriamente dos números primos grandes como:P1 = 709 yP2 = 733
y los multiplico para obtener: N = P1 * P2
N = 709 * 733 = 519697     (esto es fácil de calcular).
Al final obtengo dos cosas: un número grande (519697) y la factorización en número primos de ese número grande (709 * 733).
Ahora, imagina que oculto la factorización en números primos y solo te proporciono lo siguiente:
519697 = ? * ?     (esto es difícil de calcular).
Si te pidiera que encontraras la factorización en números primos, ¿por dónde empezarías? No te preocupes, ¡todos tendrían dificultades con este problema! Para encontrar la solución tendrías que hacer muchos ensayos de prueba y error. La multiplicación es rápida (fácil) de calcular, mientras que la factorización en números primos es lenta (difícil). Este simple hecho forma la base para el esquema de cufrado RSA.
click here to see an animated graph demonstrating this difference
Aunque antes de continuar, necesitamos analizar el primer paso con más detalle y preguntarnos algo importante. Cuando decimos "elige aleatoriamente dos números primos grandes" ¿cómo podemos hacerlo de una forma rápida? ¿Es un problema sencillo?
Si lo piensas un momento, eventualmente estarás de acuerdo en que este paso requiere, por lo menos, la habilidad de revisar si un número generado de manera aleatoria (tal como 99194853094755497) es primo o compuesto. ¿Hay algún botón en tu calculadora que te diga esto?

Yo no veo uno… ¿A qué se debe esto?
Para averiguarlo, vamos a comenzar con un desafío...