Gracias y con respeto a los usuarios de este sitio, he conseguido crear un procedimiento de Cifrado/Descifrado para el algoritmo RSA.
También implementé una prueba de primalidad probabilística de Miller-Rabin.
Ahora mi pregunta es mucho más simple, pero mi cabeza realmente no puede inventar una respuesta.
Supongamos que necesito una clave de longitud 1024
y he generado dos primos, cada uno 512
bits de valor. Pero su producto no será necesariamente 1024
-bit de largo, puede ser menor.
¿Qué debo hacer en este caso? ¿Descartar los primes y volver a intentarlo? ¿Hay alguna solución más inteligente?
¡Muchas gracias!
\============ UPDATE ===================
Gracias a jarra y Gadi A He aprendido que, para los números binarios, basta con poner a 1 los dos bits más significativos para generar la longitud de bits deseada.
Otro reto es que en mi biblioteca los números grandes pueden tener una base de dígitos arbitraria;
Así que la estructura real es a_0 mod BASE | a_1 mod BASE | ... | a_(n-1) mod BASE
.
¿Qué debo hacer para obtener una clave de n
longitud de los dígitos, donde todos los dígitos tienen base numérica BASE
?