Dlaczego części kluczy publicznych (i prywatnych) SSH nakładają się?


39

W szczególności dlaczego pierwsze 25 znaków kluczy publicznych ssh Ed25519 jest zawsze takich samych?

Na przykład, jeśli wykonam 5 klawiszy ssh-keygen -o -a 100 -t ed25519, pierwsze 25 znaków jest zawsze AAAAC3NzaC1lZDI1NTE5AAAAI.

Zakładam, że jest to preambuła lub nagłówek, ale chciałbym poznać rzeczywistą odpowiedź.


8
Crossdupe crypto.stackexchange.com/questions/5944/… . Nowy format Pliki kluczy prywatnych OpenSSH podobnie są kodowaniem base64 danych, które zaczyna się od kilku w większości stałych ciągów sformatowanych w XDR, chociaż typ / algorytm klucza jest w jakiś sposób; nowy format jest automatycznie używany dla ed25519 (ponieważ nie istnieje żaden stary format dla tego typu), a dla innych typów wystarczy podać -o.
dave_thompson_085

Odpowiedzi:


65

Ciąg jest zakodowany w standardzie base64. Po zdekodowaniu tworzy ciąg \0\0\0\vssh-ed25519\0. To określa typ klucza. W tym przypadku klucz EdDSA .


16
\0\0\0\vCzęść jest 11 napisany jako liczby 32 bitowej i wskazuje długość łańcucha ssh-ed25519.
kasperd
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.