TLS handshakes use public key cryptography to authenticate the identity of the origin server, and to exchange data that is used for generating the session keys.

A key exchange algorithm, such as RSA or Diffie-Hellman, uses the public-private key pair to agree upon session keys, which are used for symmetric encryption once the handshake is complete. Clients and servers are able to agree upon new session keys for each communication session, so that bad actors are unable to decrypt communications even if they identify or steal one of the session keys.

Comments