liveBook · Manning

Pre-shared key

As explained in Real-World Cryptography

A secret key provisioned to communicating parties before a protocol session begins and shared for use in cryptographic operations.

A pre-shared key (PSK) is a secret that both communicating parties know before a session begins. In TLS 1.3, it can derive symmetric session keys without requiring public-key infrastructure or a fresh key exchange. section 9.2.1

A TLS 1.3 PSK handshake proceeds like this:

  • The client advertises PSK identifiers in ClientHello. section 9.2.1
  • The server recognizes an identifier and confirms it in ServerHello. section 9.2.1
  • Both parties may skip the key exchange and derive symmetric session keys from the PSK. section 9.2.1
  • Because authentication is skipped, the Finished message helps prevent man-in-the-middle attacks. section 9.2.1

A direct machine-to-machine link

Two machines that connect only to each other can use a provisioned PSK to secure their TLS communications without managing a public-key infrastructure. section 9.2.1

How Real-World Cryptography covers it

How deep it goes
Defines PSKs and sketches TLS 1.3 negotiation, but stops short of key-derivation internals and provisioning guidance.
Examples
Uses two machines that connect only to each other and a ClientHello/ServerHello PSK exchange.
What you can do after
Evaluate TLS 1.3 PSK use when avoiding a public-key exchange is appropriate.
How it connects
Links PSKs to TLS 1.3, ClientHello, ServerHello, symmetric keys, authentication, and man-in-the-middle attacks.

Also explained in

Compare how 3 books explain pre-shared key →

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.