Definition
A handshake is the negotiation phase at the start of every secure connection. It performs three distinct jobs: mutual authentication (each side proves its identity to the other), parameter agreement (the parties pick which cipher suites, protocol version, and extensions to use), and key establishment (they derive a shared session key, typically via Ephemeral Diffie-Hellman). After the handshake completes, all subsequent data is encrypted with the negotiated parameters and session key.
Handshake Speed
Handshake performance matters because it happens at the start of every session and every reconnection. A slow handshake hurts mobile users in particular, whose VPN reconnects whenever the network changes (Wi-Fi to cellular, cell tower to cell tower, brief signal loss). TLS 1.3 cut the handshake from two round trips to one, which on a high-latency connection can mean the difference between an instant-feeling connection and a noticeable pause. WireGuard's handshake is similarly minimalistic: a single round trip in the common case.
Handshake Security
The handshake is the most attacked part of a protocol because it is when the parties commit to a key. Successful attacks on handshakes (FREAK, Logjam, ROBOT) typically forced downgrade to weak parameters or broke the key-exchange math at low security levels. Modern protocols defend with strict version negotiation, hard-coded minimum security levels, and downgrade-protection mechanisms baked into the handshake transcript.