Computational cryptography › Protocols › encrypted channels
Protocol

SSH

In plain words

Secure remote login to servers.

The idea: When you connect, client and server do a key exchange (OpenSSH 10 defaults to ML-KEM combined with X25519), the server proves its identity by signing with its host key, and you log in by proving with a signature that you hold your private key, usually Ed25519. The session is then protected with authenticated encryption. The "fingerprint" prompt on first connection is SSH asking you to trust the server's host key.

Why it matters: How developers and admins manage most of the internet's machines.

The details

On the map: hybrid KEM + Ed25519 keys + ChaCha20-Poly1305 falls if ANY part falls

Remote login and file transfer[1]. OpenSSH 10 (2025) defaults to the mlkem768x25519 hybrid key exchange[2, 3] (OpenSSH 9.0 already defaulted to a different hybrid, sntrup761x25519, in 2022)[4], Ed25519 host and user keys, and ChaCha20-Poly1305 or AES-GCM for traffic.

Breaking the signature keys allows impersonation. Breaking the key exchange halves alone doesn't.

Rests on

If any of these breaks, this breaks too.

If it falls

If this breaks, these break with it.

Nothing on the map depends on it: it is an end point, something people use directly.

References

  1. T. Ylonen. The Secure Shell (SSH) Transport Layer Protocol. RFC 4253, 2006. rfc-editor.org/rfc/rfc4253
  2. OpenSSH. OpenSSH 10.0 release notes. 2025. openssh.com/txt/release-10.0
  3. Panos Kampanakis, Douglas Stebila and Torben Hansen. PQ/T Hybrid Key Exchange with ML-KEM in SSH (Internet-Draft draft-ietf-sshm-mlkem-hybrid-kex). IETF SSHM working group, 2025. datatracker.ietf.org/doc/draft-ietf-sshm-mlkem-hybrid-kex
  4. OpenSSH. OpenSSH 9.0 release notes. 2022. openssh.com/txt/release-9.0