개인 키의 RSA 지문이 공개 키와 동일한 이유는 무엇입니까?

개인 키의 RSA 지문이 공개 키와 동일한 이유는 무엇입니까?

이 둘은 동일합니다. 왜? 나는 RSA 지문이 해시 함수의 출력이라고 생각했는데, 이는 두 개의 서로 다른 입력(개인 키와 공개 키)이 두 개의 서로 다른 출력을 생성해야 함을 의미합니다.

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

답변1

지문은 해시로 계산되지만 입력 파일을 맹목적으로 해싱하여 계산되지는 않습니다. 프로토콜은 일반적으로 정확하게 지정합니다.어느해시 키의 일부와 순서. (그리고 이는 프로토콜마다 다를 수 있습니다. SSHv2 공개 키는 완전히 동일한 RSA 매개변수를 포함하더라도 PEM 공개 키와 다른 지문을 갖습니다.)

어디에서나 일반적인 규칙은 지문이언제나공개 부분만 해싱하는 것을 기반으로 합니다. 그게 더 유용해요. 공개 키는 항상 개인 키 파일(실제로 공개 및 개인의 모든 매개변수를 보유함)에서 파생될 수 있으므로 항상 올바른 유형의 지문을 계산할 수 있음을 의미합니다.

예를 들어, 첫 번째 명령이 다른 종류의 지문(본인만 계산할 수 있는 지문)을 표시한 경우 서버에 키를 설치하는 시스템 관리자와 공유하는 데 전혀 쓸모가 없습니다. X.509 및 PGP의 지문에도 동일하게 적용됩니다. 주요 목적은~이다공유할 짧은 문자열입니다.

관련 정보