1) The client connects to a website and the server responds with a certificate and public key.
2) The client verifies the certificate with a certificate authority (CA).
3) The client then sends a randomly generated symmetric key to the server, encrypted with the server's public key.
4) All further communications are now encrypted with the random symmetric key.