# How does a TLS handshake work?

In TLS 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.

FAQ: [Encryption and encrypted traffic](https://netsenx.com/en/faq/encryption) · https://netsenx.com/en/faq/how-does-a-tls-handshake-work

## Read next

- https://netsenx.com/en/encrypted-traffic-analysis
- https://netsenx.com/en/what-is-ndr

## Related questions

- [What changed between TLS 1.2 and TLS 1.3?](https://netsenx.com/en/faq/what-changed-between-tls-1-2-and-tls-1-3)
- [Should we disable TLS 1.0 and 1.1?](https://netsenx.com/en/faq/should-we-disable-tls-1-0-and-1-1)
- [Which TLS ciphers should we turn off?](https://netsenx.com/en/faq/which-tls-ciphers-should-we-turn-off)
- [What is forward secrecy?](https://netsenx.com/en/faq/what-is-forward-secrecy)
- [What is encryption, in plain terms?](https://netsenx.com/en/faq/what-is-encryption-in-plain-terms)
