Soy nuevo en seguridad y crpyto,
Sé que las claves públicas / privadas se generan de forma diferente según el algoritmo utilizado,
Pero tomemos RSA como una instancia (usando números primos),
¿El algoritmo genera claves al azar o de forma estructurada?
Quiero decir, si pidiera una clave pública / privada, el algoritmo sería:
- ¿Genera números primos aleatorios y luego genera de ellos la clave pública / privada? O
- ¿Tiene, por ejemplo, una base de datos que contiene todas las claves que generó anteriormente y luego compara nuevas claves para evitar colisiones?
O, ¿cómo puede asegurarse de que esa clave pública / privada generada nunca se haya generado antes?