Чому частини публічних (і приватних) ключів SSH перекриваються?


39

Зокрема, чому перші 25 символів відкритих ключів ssh Ed25519 завжди однакові?

Наприклад, якщо я роблю 5 клавіш за допомогою ssh-keygen -o -a 100 -t ed25519, перші 25 символів завжди є AAAAC3NzaC1lZDI1NTE5AAAAI.

Я припускаю, що це якась преамбула чи заголовок, але я хотів би дізнатися фактичну відповідь.


8
Crossdupe crypto.stackexchange.com/questions/5944 / ... . Нові файли приватних ключів OpenSSH аналогічно - це кодування даних base64, яке починається з декількох переважно постійних рядків у форматі XDR, хоча тип / алгоритм ключа є деяким способом; новий формат автоматично використовується для ed25519 (оскільки для цього типу не існує старого формату), і вам потрібно лише вказати -o для інших типів.
dave_thompson_085

Відповіді:


65

Рядок закодований base64. При розшифровці він видає рядок \0\0\0\vssh-ed25519\0. Це ідентифікує тип ключа. У цьому випадку ключ EdDSA .


16
\0\0\0\vЧастина 11 записується у вигляді 32 - бітового числа і вказує на довжину рядка ssh-ed25519.
kasperd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.