How does a TLS handshake work?

In TLSTLS: Transport Layer Security. The encryption that protects most internet traffic, such as HTTPS. 1.3 it takes one round trip before data flows. The client sends a ClientHello listing the TLS versions, cipher suites and key-exchange groups it supports, a key share for its preferred group, and usually the name of the server it wants (SNI). The server answers with a ServerHello that picks the version, cipher and group, plus its own key share. From the two key shares both sides derive the same secret, and from that moment everything is encrypted, including the server's certificate and its proof that it holds the matching private key. The client checks the certificate against the authorities it trusts, and application data begins. The ClientHello and ServerHello travel unencrypted, which is why a passive sensor can see the TLS version, the chosen key-exchange group, for example classical X25519 or hybrid X25519MLKEM768, and a client fingerprint without decrypting anything. With Encrypted Client Hello, part of the ClientHello, including the server name, is hidden as well.

Read next

Terms used here

TLS (Transport Layer Security)
The encryption that protects most internet traffic, such as HTTPS.

← All 40 questions on Encryption and encrypted trafficAll topics