Perché parti di chiavi SSH pubbliche (e private) si sovrappongono?


39

In particolare, perché i primi 25 caratteri delle chiavi pubbliche ssh Ed25519 sono sempre gli stessi?

Ad esempio, se creo 5 tasti con ssh-keygen -o -a 100 -t ed25519, i primi 25 caratteri sono sempre AAAAC3NzaC1lZDI1NTE5AAAAI.

Presumo che questo sia un preambolo o un'intestazione di qualche tipo, ma mi piacerebbe conoscere la risposta effettiva.


8
Crossdupe crypto.stackexchange.com/questions/5944/… . Il nuovo formato dei file di chiave privata OpenSSH è simile alla codifica base64 dei dati che inizia con diverse stringhe in formato XDR prevalentemente costanti, sebbene il tipo / algoritmo della chiave sia in qualche modo; il nuovo formato viene utilizzato automaticamente per ed25519 (perché non esiste un vecchio formato per quel tipo) e devi solo specificare -o per altri tipi.
dave_thompson_085,

Risposte:


65

La stringa è codificata in base64. Quando viene decodificato, produce la stringa \0\0\0\vssh-ed25519\0. Questo identifica il tipo di chiave. In questo caso una chiave EdDSA .


16
La \0\0\0\vparte è 11 scritta come un numero a 32 bit e indica la lunghezza della stringa ssh-ed25519.
Kasperd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.