Nos sorprenderÃa que no supieras qué es un número primo, pero para estar completos, comencemos por el principio. Un número primo es un número que sólo es divisible por uno y por sà mismo. Piense en 2, 3, 5, 7 y 11, pero no asuma que los números primos son, por definición, números bajos. 2393, 4177 o 7867 también cumplen la definición.
Parece haber un número infinito de números primos, pero no es fácil simplemente mirar un número inmenso y deducir si es indivisible por algo más que uno y por sà mismo. El número primo más alto conocido es (en el momento de escribir este artÃculo) 274.207.281 -1. No es la forma más obvia de escribir, pero escribirlo completo requerirÃa unas ocho suscripciones anuales a una revista promedio: consta de 22.338.618 dÃgitos.
Más que prestigio
La búsqueda de números primos no es una cuestión de prestigio para los matemáticos aburridos. Los números tienen un uso muy práctico y la lógica matemática detrás de ellos es un componente fundamental en muchas aplicaciones del mundo digital moderno. Esto se debe a que cada número entero, sin excepción, puede expresarse únicamente como producto de otros números primos.
Esta descomposición en factores primos es un teorema fundamental en matemáticas. Si lo piensas bien, tiene sentido. Los números primos son números que no se pueden separar más. Si factorizas un número grande en números cada vez más pequeños, inevitablemente terminarás con números primos con el tiempo.
Fuerza bruta
No es tan difÃcil factorizar un número entero relativamente pequeño en factores primos. Requiere tu cerebro y un poco de tiempo y probablemente tuviste que hacerlo en la escuela primaria. Cuanto mayores son los números, más difÃcil se vuelve la descomposición. Después de todo, hasta donde saben los matemáticos, no existe una fórmula eficiente para factorizar cualquier número.
Por supuesto que existen técnicas, pero cuantos más dÃgitos tenga un número, más difÃciles y menos eficientes se vuelven. Un ataque de fuerza bruta al número 8 para su factorización en 2 x 2 x 2 no es tan difÃcil, pero cuando una poderosa supercomputadora tiene la tarea de factorizar un número de 500 dÃgitos en factores primos, lleva más tiempo que la edad total del tierra.
En otras palabras, no existe un lÃmite matemático, pero sà práctico, para el tamaño de los números que podemos factorizar en factores primos, y la seguridad informática moderna se basa en ese hecho. Eso merece un poco de aclaración.
Seguridad no segura
En primer lugar, echemos un vistazo a la forma en que se establece una conexión segura entre computadoras. Las conexiones seguras a través de Internet se establecen, por definición, en un entorno no seguro. Esto se hace mediante el intercambio de claves de cifrado. Esas claves pueden interceptarse públicamente, pero sólo sirven para cifrar datos. La clave de descifrado es diferente de la clave de cifrado y no se envÃa simplemente.
El absurdo poder computacional requerido para factorizar números hace posible este método. Para ilustrar, imaginemos dos números primos gigantescos que constan de cientos de dÃgitos. Cuando multiplicas esos números primos, obtienes un número enorme que es divisible por uno, por sà mismo y por los dos primos que lo componen. Multiplicar los números primos para obtener el número grande no es difÃcil, pero a la inversa, es prácticamente imposible factorizar el número enorme en sus factores, incluso con la supercomputadora más poderosa del mundo.
Llave pública
En este caso, el número grande puede servir como clave pública. Esa clave se envÃa a través de Internet para configurar la conexión segura. La computadora que recibe la clave cifra los datos con ella, pero no puede descifrarla por sà misma. Ninguna computadora puede hacer eso, excepto la que generó la clave pública en primer lugar. Después de todo, ese sistema conoce los dos números primos que componen la clave pública.
Si un hacker intercepta la clave, puede cifrar los datos, pero el descifrado es imposible sin los dos números primos originales. Dos computadoras que intercambian claves entre sà pueden comunicarse de forma segura a través de Internet. Cada uno recibe una clave, cifra los datos con ella, los envÃa a su respectivo interlocutor y sólo allà se pueden descifrar los datos. Cómo funciona exactamente el cifrado en sà es otra historia; para este artÃculo es importante saber que los números primos son la base del proceso.
RSA y tarjetas de crédito
Por lo tanto, los números primos grandes garantizan que se pueda establecer una conexión segura a través de una red inicialmente no segura. El principio se esconde tras el cifrado de correos electrónicos, pero también tras el envÃo de información de tarjetas de pago o la transmisión de datos personales. Existen muchos algoritmos de cifrado que utilizan factorización, de los cuales RSA es el más conocido. RSA, una abreviatura formada por las primeras letras de los nombres de los inventores, es popular para establecer una conexión segura para pagos con tarjeta de crédito.
No impermeable
Por lo tanto, los números primos son más que algo agradable en las matemáticas modernas: son vitales para la seguridad del mundo digital. Sin embargo, el sistema tiene un problema fundamental: es perfectamente posible descifrar el cifrado, siempre que se disponga de tiempo suficiente. Rápidamente se necesitan miles de años para encontrar la clave de descifrado y para entonces los datos descifrados ya no tienen ningún valor, y todos los que tuvieron algo que ver con ellos hace tiempo que murieron. Por supuesto, la potencia de las computadoras no se detiene y cuanto más rápidos se vuelven los sistemas informáticos, menos tiempo necesitan para descifrar una clave pública.
En 2009, RSA-768 era el estándar. El cifrado de 768 bits utilizó un número de 232 dÃgitos como clave. Algunos investigadores dirigidos por Thorsten Kleinjung no se dejaron disuadir y atacaron la clave. No con una computadora, sino con una red de cientos de dispositivos equipados con algoritmos de resolución avanzados.
La red tardó dos años, pero la clave RSA-768 fue descifrada. En esos dos años, la red informática logró el equivalente a 2.000 años de computación a través de una CPU AMD Opteron de un solo núcleo a 2,2 GHz. El resultado les valió a los investigadores 50.000 dólares, una recompensa otorgada por los propios fundadores de RSA.
Mejora
Después de todo, dos años no es mucho tiempo y, con el rápido avance de la potencia informática, quedó inmediatamente claro que RSA-768 ya no tenÃa un lugar en el mundo de la seguridad. Hoy estamos hablando de cifrado de 1024 bits con números que constan de 309 dÃgitos y por ahora todavÃa necesitas una combinación de supercomputadoras y una máquina del tiempo para analizarlo. ¿No rehuyas un desafÃo? Entonces podrás ganar 100.000 dólares demostrando que los matemáticos del mundo están equivocados.
Peligro cuántico
Además, RSA-1024 no permanecerá seguro para siempre. Mantenerse por delante de las computadoras tradicionales aumentando el número de usuarios no es tan difÃcil, pero investigar una computadora no tan tradicional es una alta prioridad en estos dÃas. Las computadoras cuánticas funcionan de una manera completamente diferente.
Debido a que los bits en un sistema cuántico pueden ser 0, 1 o 0 y 1, una computadora cuántica puede contemplar diferentes escenarios al mismo tiempo. Los matemáticos temen que una computadora cuántica funcional que cumpla sus promesas pueda romper en segundos incluso el cifrado de números primos más sofisticado, destruyendo la seguridad de Internet tal como la conocemos hoy.