Compare enfoques para hacer coincidir una clave privada y un certificado

1

En la respuesta de esta pregunta ¿Determine si la clave privada pertenece al certificado?

La solución propuesta es hacer coincidir una clave privada y un certificado extrayendo y haciendo coincidir la clave pública de ambas.

Mientras esté en esta página: enlace

La solución propuesta es extraer el módulo de la clave pública, aplicarle un hash MD5 y luego comparar los hashes.

¿Hay alguna diferencia en ambos enfoques? ¿El segundo enfoque sería el mismo si comparara solo el módulo de la clave pública y no el hash MD5?

    
pregunta Leandro David 20.09.2016 - 01:20
fuente

2 respuestas

1

Bueno, sí. Hay una diferencia entre los enfoques.

El enfoque descrito en ¿Determina si la clave privada pertenece al certificado? utiliza el sistema de cifrado RSA, que se basa en la factorización de grandes números primos y una trampa de información que utiliza la función de módulo. Sin embargo, se puede utilizar el mismo enfoque general para otros sistemas criptográficos de clave pública (cualquier esquema que tenga un problema matemático difícil más una función de trampilla puede ser un sistema criptográfico de clave pública, por ejemplo, tiene el esquema ElGamal ).

La solución propuesta por sslhopper se limita al esquema RSA (o cualquier otro esquema que use el función de módulo como la trampa de información). Si busca en los manuales de openssl, la opción -modulus solo existe en man rsa .

En resumen, el primer enfoque es más genérico que el segundo. Esto se debe a que cualquier esquema de cifrado asimétrico debe ser capaz de generar la clave pública a partir de la clave privada, pero no todos los esquemas deben usar la función de módulo como la trampa de información.

    
respondido por el grochmal 20.09.2016 - 01:46
fuente
1

Además del punto de @grochmal, si está emparejando las claves públicas, no hay forma de que la vulnerabilidad de la función hash pueda afectarle. Probablemente también sea un poco más rápido comparar los bits directamente, en lugar de hacerlos con hash.

    
respondido por el Adam Shostack 20.09.2016 - 02:29
fuente

Lea otras preguntas en las etiquetas