Transport Layer Security (TLS) and its predecessor, the Secure Sockets Layer (SSL) are cryptographic protocols designed to provide communications security over a computer network. They use x.509 certificates and hence asymmetric cryptography to authenticate the counterparty with whom they are communicating, and to exchange a symmetric key. This session key is then used to encrypt data flowing between the parties. This allows for data/message confidentiality, and message authentication codes for message integrity.
It is assumed that the reader is familiar with the Erlang programming language, the concepts of OTP, and has a basic understanding of SSL/TSP.