¿Por qué la huella digital RSA de mi clave privada es la misma que la de mi clave pública?

¿Por qué la huella digital RSA de mi clave privada es la misma que la de mi clave pública?

Estos dos son idénticos. ¿Por qué? Pensé que la huella digital RSA es la salida de una función hash, lo que significa que dos entradas diferentes (la clave pública y privada) deberían dar como resultado dos salidas diferentes.

user$ ssh-keygen -lf ~/.ssh/id_rsa
2048 SHA256:zZ2qBu6JGxlTWnLUUDU4UFl8uzLPCoi8ze1BPII/Uhc etc etc

user$ ssh-keygen -lf ~/.ssh/id_rsa.pub 
2048 SHA256:zZ2qBu6JGxlTWnLUUDU4UFl8uzLPCoi8ze1BPII/Uhc etc etc

Respuesta1

Una huella digital se calcula como un hash, pero no se calcula mediante un hash ciego del archivo de entrada; el protocolo generalmente especifica exactamentecualpartes de una clave de hash y en qué orden. (Y esto podría ser diferente entre protocolos: una clave pública SSHv2 tendrá una huella digital diferente que una clave pública PEM incluso si contienen parámetros RSA absolutamente idénticos).

La regla habitual en todas partes es que la huella dactilar essiemprebasado en hash de la parte pública únicamente; es más útil así. Dado que la clave pública siempre se puede derivar del archivo de clave privada (que en realidad contiene todos los parámetros, públicos y privados), significa que siempre calculará el tipo correcto de huella digital.

Por ejemplo, si el primer comando mostrara un tipo diferente de huella digital (una que solo usted pueda calcular), sería completamente inútil compartirla, por ejemplo, con un administrador de sistemas que esté instalando su clave en un servidor. Lo mismo se aplica a las huellas dactilares en X.509 y PGP: su objetivo principalesser una cadena corta para ser compartida.

información relacionada