/usr/share/doc/openssh
NameSizeModeActions
ChangeLog3310650644editdlrm
CREDITS54930644editdlrm
INSTALL92390644editdlrm
OVERVIEW63330644editdlrm
PROTOCOL197750644editdlrm
PROTOCOL.agent2200644editdlrm
PROTOCOL.certkeys122310644editdlrm
PROTOCOL.chacha20poly130546260644editdlrm
PROTOCOL.cve-2023-48795184330644editdlrm
PROTOCOL.key15390644editdlrm
PROTOCOL.krl52540644editdlrm
PROTOCOL.mux90790644editdlrm
README24510644editdlrm
README.dns16070644editdlrm
README.platform40460644editdlrm
README.privsep23070644editdlrm
README.tun48900644editdlrm
TODO26000644editdlrm
Edit: /usr/share/doc/openssh/PROTOCOL.key (1539B)
This document describes the private key format for OpenSSH. 1. Overall format The key consists of a header, a list of public keys, and an encrypted list of matching private keys. #define AUTH_MAGIC "openssh-key-v1" byte[] AUTH_MAGIC string ciphername string kdfname string kdfoptions int number of keys N string publickey1 string publickey2 ... string publickeyN string encrypted, padded list of private keys 2. KDF options for kdfname "bcrypt" The options: string salt uint32 rounds are concatenated and represented as a string. 3. Unencrypted list of N private keys The list of privatekey/comment pairs is padded with the bytes 1, 2, 3, ... until the total length is a multiple of the cipher block size. uint32 checkint uint32 checkint string privatekey1 string comment1 string privatekey2 string comment2 ... string privatekeyN string commentN char 1 char 2 char 3 ... char padlen % 255 Before the key is encrypted, a random integer is assigned to both checkint fields so successful decryption can be quickly checked by verifying that both checkint fields hold the same value. 4. Encryption The KDF is used to derive a key, IV (and other values required by the cipher) from the passphrase. These values are then used to encrypt the unencrypted list of private keys. 5. No encryption For unencrypted keys the cipher "none" and the KDF "none" are used with empty passphrases. The options if the KDF "none" are the empty string. $OpenBSD: PROTOCOL.key,v 1.1 2013/12/06 13:34:54 markus Exp $