Mengapa bagian kunci publik (dan pribadi) SSH tumpang tindih?

39

Secara khusus, mengapa 25 karakter pertama dari kunci publik ssh Ed25519 selalu sama?

Misalnya, jika saya membuat 5 tombol dengan ssh-keygen -o -a 100 -t ed25519, 25 karakter pertama selalu AAAAC3NzaC1lZDI1NTE5AAAAI.

Saya menganggap ini adalah mukadimah atau tajuk, tapi saya ingin tahu jawaban yang sebenarnya.

Morris Cornell-Morgan
sumber
8
Crossdupe crypto.stackexchange.com/questions/5944/... . Format baru file kunci privat OpenSSH yang serupa adalah pengkodean data base64 yang dimulai dengan beberapa string berformat XDR yang sebagian besar konstan, walaupun jenis / algoritma kunci ada beberapa cara di dalamnya; format baru secara otomatis digunakan untuk ed25519 (karena tidak ada format lama untuk tipe itu) dan Anda hanya perlu menentukan -o untuk tipe lainnya.
dave_thompson_085

Jawaban:

65

String ini disandikan base64. Ketika diterjemahkan, ia menghasilkan string \0\0\0\vssh-ed25519\0. Ini mengidentifikasi jenis kunci. Dalam hal ini kunci EdDSA .

Johan Myréen
sumber
16
Bagian \0\0\0\vini ditulis sebagai angka 32 bit dan menunjukkan panjang string ssh-ed25519.
kasperd