TLS
TLS allows a client and a server to agree on a set of shared keys and then to use those keys to encrypt and authenticate their subsequent communication.
It consists of two parts:
- handshake protocol: performs authenticated key exchange to establish the shared keys
- record protocol: uses the shared keys to encrypt and authenticate the parties communication
