¿Puede identificar si una cadena es una clave pública RSA?

2

Estoy generando claves RSA con la biblioteca openssl. He oído que es posible reconocer el método utilizado para cifrar una cadena con AES o DES, pero ¿es posible identificar si una cadena es una clave pública RSA?

    
pregunta maxisme 25.09.2017 - 11:45
fuente

1 respuesta

2

Sí. Las claves públicas RSA se generan normalmente como estructuras ASN.1 según la definición en RFC3447 , codificadas en formato DER .

El formato se puede validar como DER / ASN.1 correcto y luego se puede decodificar para validar que la estructura y los valores contenidos coincidan con lo que se espera de una clave pública RSA. Los valores dentro de la estructura son simplemente el semiprimo público (n) y el exponente (e).

Al validar que el valor de e es primo, y que el tamaño de n coincide con el tamaño esperado de la clave RSA (por ejemplo, 1024 bits), puede asumir que los datos proporcionados son de hecho una clave pública RSA.

En el caso de OpenSSH, las claves públicas comienzan con un identificador de cadena (por ejemplo, "ssh-rsa") que facilita la detección. También puede extraer y validar los valores n y e de la misma manera que antes, aunque utilizando el formato de clave OpenSSH especificado en en lugar del formato DER / ASN.1.

    
respondido por el Polynomial 25.09.2017 - 11:59
fuente

Lea otras preguntas en las etiquetas