¿Por qué no podemos calcular con fuerza bruta las claves de cifrado con los 22 millones de números primos conocidos?

En RSA, las claves son el PRODUCTO de dos números primos. El producto de los dos números primos se puede usar como una clave pública, mientras que los primos en sí mismos actúan como una clave privada.

La criptografía depende del hecho de que los problemas difíciles como la factorización de enteros toman mucho tiempo, por lo que es casi imposible descubrir los dos números primos que forman la clave privada correspondiente que hizo que la clave pública. Adivinar la fuerza bruta de los productos de los números primos llevará hasta el final del universo con las computadoras más rápidas que tenemos hoy.

Además, su número de “22 millones” probablemente se refiere a algunas clases específicas de números primos. El número primo más grande conocido tiene 22 millones de dígitos, pero hay muchos, muchos números primos.

¿Cuántos números primos hay (disponibles para el cifrado RSA)? aborda su pregunta y sugiere que hay aproximadamente [matemática] 2.8 \ veces 10 ^ {147} [/ matemática] números primos disponibles para RSA, que es mucho más de 22 millones.

La mayor amenaza son los algoritmos de generación de claves con errores, que reducen la derivación más fácil de la clave privada de una clave pública, como se vio recientemente en el error Infineon TPM (Millones de claves criptográficas de alta seguridad paralizadas por una falla recién descubierta)

Conocer el conjunto completo de primos candidatos no ayuda mucho. La parte difícil en el núcleo de la factorización es saber qué primos pueden combinarse entre sí para producir el número entero deseado; Esto no es trivial.

La lista de los primeros 50 millones de primos está disponible en línea (y se conocen muchos más). El último es 982,451,653, lo que permitiría factorizar números con hasta 18 dígitos. Piense que las claves de 128 bits corresponden a 39 dígitos.