liveBook · Manning

TLS

As explained in Real-World Cryptography

TLS is the Transport Layer Security protocol for securing network communications through authentication, confidentiality, and integrity.

TLS secures communication between applications. A client initiates a connection to a server, and both negotiate a secure session that provides authentication, confidentiality, and message integrity. section 9.0 section 9.1.2

TLS divides its work into two phases:

  • Handshake: negotiate parameters, authenticate the server, perform a key exchange, and derive symmetric keys. section 9.2 section 9.2.1
  • Post-handshake communication: encrypt application messages with authenticated encryption and the keys produced by the handshake. section 9.2 section 9.2.2
  • Certificate authentication: validate a server certificate chain against trusted root certificate authorities, commonly through a browser trust store. section 9.2.1

TLS 1.3 begins with ClientHello and ServerHello messages that negotiate key exchange, signature, hash, and authenticated-encryption algorithms. It uses ephemeral key exchange for session separation and can reduce latency by sending a speculative public key or, with a pre-shared key, encrypted 0-RTT data. section 9.2.1 section 9.2.2

A minimal TLS client

A Go client can dial google.com:443 with crypto/tls, obtain a secure connection, and close it after errors are handled. A TLS server can require TLS 1.3, attach TLS configuration to an HTTP server, and load cert.pem and key.pem. section 9.1.2

Prefer TLS 1.3 or TLS 1.2. Older SSL and TLS versions carry known vulnerabilities and demand difficult mitigations. Treat 0-RTT as replayable, use it only for safely replayable operations, and consider certificate or public-key pinning when you control the client. section 9.3 section 9.6

How Real-World Cryptography covers it

How deep it goes
Explains TLS phases, TLS 1.3 negotiation, certificate chains, encrypted records, replay risks, and deployment warnings without implementation-level detail.
Examples
Uses Go client and server listings, browser certificate chains, OpenSSL certificate output, and TLS 1.3 handshake diagrams.
What it assumes
Assumes familiarity with key exchange, hybrid encryption, digital signatures, hash functions, HMAC, HKDF, and authenticated encryption.
What you can do after
Operate/configure TLS clients and servers, choose supported versions, understand handshakes, and recognize certificate and 0-RTT failure risks.
How it connects
Connects secure transport with authenticated encryption, key exchange, digital signatures, HMAC, HKDF, certificates, web PKI, HTTP, TCP, UDP, and DTLS.

Also explained in

Compare how 15 books explain TLS →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Real-World Cryptography. The section links point to the parts of the book it draws on.