¿Cómo aseguran los algoritmos la singularidad de las claves públicas / privadas? - RSA

2

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?

    
pregunta Yousef Gamal 10.11.2018 - 07:01
fuente

1 respuesta

2

La forma en que funciona la generación primaria aleatoria es mediante la generación de un gran número impar aleatorio de un tamaño específico (por ejemplo, 2048 bits). A continuación, se comprueba la primalidad. Si no es primo, se incrementa en dos y se vuelve a verificar. Esto se repite hasta que se encuentra que es primo. Describo esto más detalladamente en otra respuesta .

No hay nada específico que impida que dos claves privadas sean iguales, pero la probabilidad de que sea tan baja desde el punto de vista astronómico es irrelevante. No hay razón para tratar explícitamente de evitar las colisiones. Tenga en cuenta que esto supone que el sistema tiene una buena fuente de números aleatorios. Los generadores de números aleatorios o sistemas embebidos con una fuente de aleatoriedad deficiente pueden generar módulos RSA que comparten un factor primordial, lo que lleva a análisis de criptografía trivial al verificar mayor denominador común entre dos módulos y luego dividiéndolos por el resultado para obtener ambos factores primos.

Vea también ¿Cuáles son las probabilidades de una colisión de clave privada RSA?

    
respondido por el forest 10.11.2018 - 07:03
fuente

Lea otras preguntas en las etiquetas