Handshake Protocol
The Handshake Protocol is the first phase of a Transport Layer Security (TLS) session, responsible for negotiating protocol parameters, authenticating endpoints, and establishing the shared cryptographic keys used by the Record Protocol. The client opens with a ClientHello message listing supported versions and cipher suites; the server responds with ServerHello, its certificate, and key exchange material. In TLS 1.3, this exchange is compressed to a single round trip. The handshake is the most structurally complex part of TLS because it must simultaneously achieve agreement, authentication, and key generation while operating over an untrusted channel. Every major TLS vulnerability — from Heartbleed to downgrade attacks — has exploited the handshake's complexity.