Whisper’s identity is an ordinary OpenSSH key pair. The public key you
share in Whisper is the same line you would put in authorized_keys.
Supported
Every key type ssh-keygen can produce whose security is still sound:
ssh-ed25519— the default and the best choice: small keys, short messages and the fastest operations.ecdsa-sha2-nistp256,-nistp384,-nistp521ssh-rsa, 2048 bits or more — works, but makes messages about 1 KB longer, which matters for links sent by SMS.
Import
Settings → My key → Import from ssh-keygen accepts OpenSSH private keys, unencrypted or passphrase-protected, using the bcrypt KDF with any of:
aes128-ctr · aes192-ctr · aes256-ctr · aes128-cbc · aes192-cbc ·
aes256-cbc · aes128-gcm@openssh.com · aes256-gcm@openssh.com ·
chacha20-poly1305@openssh.com
PEM-format keys are rejected with the command to convert them:
ssh-keygen -p -f <keyfile>.
Export
Export backup writes your key as an OpenSSH private key — encrypted with
aes256-ctr if you set a passphrase — which ssh and ssh-keygen accept.
The test suite imports real ssh-keygen keys of every type and cipher,
compares fingerprints with ssh-keygen -l, and checks that exported keys are
accepted by ssh-keygen.
Not supported, on purpose
| Key | Why not |
|---|---|
sk-ssh-ed25519@openssh.com, sk-ecdsa-… | The private key never leaves the FIDO security key, and those devices can sign but cannot decrypt. |
| RSA under 2048 bits, DSA | No longer considered safe (OpenSSH itself disabled DSA). |
| 3DES-protected key files | Re-encrypt with ssh-keygen -p -Z aes256-ctr -f <keyfile>. |
Fingerprints
Contacts are identified by their SHA256: fingerprint, exactly as
ssh-keygen -l prints it, and you can search the address book by
fingerprint.