Tại sao các phần của khóa SSH công khai (và riêng tư) trùng nhau?


39

Cụ thể, tại sao 25 ​​ký tự đầu tiên của ssh Ed25519 khóa công khai luôn giống nhau?

Ví dụ: nếu tôi tạo 5 phím bằng ssh-keygen -o -a 100 -t ed25519, 25 ký tự đầu tiên luôn luôn AAAAC3NzaC1lZDI1NTE5AAAAI.

Tôi cho rằng đây là một lời mở đầu hoặc tiêu đề của một số loại, nhưng tôi rất muốn biết câu trả lời thực tế.


8
Crossdupe crypto.stackexchange.com/questions/5944/ cấp . Định dạng mới Các tệp khóa riêng OpenSSH tương tự là mã hóa dữ liệu cơ sở64 bắt đầu bằng một số chuỗi có định dạng XDR hầu như không đổi, mặc dù loại / thuật toán khóa là một cách nào đó; định dạng mới được tự động sử dụng cho ed25519 (vì không tồn tại định dạng cũ cho loại đó) và bạn chỉ cần chỉ định -o cho các loại khác.
dave_thndry_085

Câu trả lời:


65

Chuỗi được mã hóa base64. Khi được giải mã, nó tạo ra chuỗi \0\0\0\vssh-ed25519\0. Điều này xác định loại khóa. Trong trường hợp này, khóa EdDSA .


16
Phần \0\0\0\v11 được viết dưới dạng số 32 bit và cho biết độ dài của chuỗi ssh-ed25519.
kasperd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.