Por que a impressão digital RSA da minha chave privada é igual à minha chave pública?

Por que a impressão digital RSA da minha chave privada é igual à minha chave pública?

Esses dois são idênticos. Por que? Achei que a impressão digital RSA fosse a saída de uma função hash, o que significa que duas entradas diferentes (a chave privada e a pública) deveriam resultar em duas saídas 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

Responder1

Uma impressão digital é calculada como um hash, mas não é calculada por hash cego do arquivo de entrada – o protocolo geralmente especifica exatamentequalpartes de uma chave para hash e em que ordem. (E isso pode ser diferente entre protocolos: uma chave pública SSHv2 terá uma impressão digital diferente de uma chave pública PEM, mesmo que contenha parâmetros RSA absolutamente idênticos.)

A regra usual em todos os lugares é que a impressão digital sejasemprebaseado no hash apenas da parte pública; é mais útil assim. Como a chave pública sempre pode ser derivada do arquivo da chave privada (que na realidade contém todos os parâmetros, públicos e privados), isso significa que você sempre calculará o tipo correto de impressão digital.

Por exemplo, se o primeiro comando mostrasse um tipo diferente de impressão digital (uma que só você pode calcular), seria completamente inútil compartilhá-la com, por exemplo, um administrador de sistema que esteja instalando sua chave em um servidor. O mesmo se aplica às impressões digitais em X.509 e PGP – seu objetivo principalépara ser uma string curta a ser compartilhada.

informação relacionada