liveBook · Manning

Noise protocol framework

As explained in Real-World Cryptography

The Noise protocol framework is a framework for specifying secure communication protocols as fixed message patterns and cryptographic choices without runtime negotiation.

Imagine controlling both ends of a connection and knowing exactly which cryptographic features you need. Noise replaces TLS’s branching handshake with a fixed message sequence chosen during protocol design, reducing runtime complexity while giving up flexibility. section 9.5 section 9.6

Designing a Noise-based protocol means deciding:

  • Which cryptographic algorithms the instantiation uses. section 9.5
  • Which side, if either, is authenticated and whether a pre-shared key is included. section 9.5
  • Which handshake pattern determines the exact messages and operations, with no runtime attempt to choose another pattern. section 9.5.1

Reading the NN pattern

The NN pattern provides a deliberately simple example, but authenticates neither participant. The client sends an ephemeral public key with `-> e`; the server sends its ephemeral public key with `<- e, ee` and both sides perform a Diffie-Hellman exchange. The `s` token denotes a static, long-term key, while `es` denotes a Diffie-Hellman exchange between the client’s ephemeral key and the server’s static key. Each message pattern can also carry a payload. section 9.5.1

The framework’s strength is predictability: once an instantiation is selected, the connection follows a rigid linear protocol. Its warning label is equally important: changing that protocol later can complicate backward compatibility with devices that cannot be updated. section 9.5 section 9.6

How Real-World Cryptography covers it

How deep it goes
Defines design choices, handshake patterns, tokens, and message behavior, but stops short of implementation detail.
Examples
Demonstrates the unauthenticated NN pattern with ephemeral-key messages, ee exchange, static-key tokens, and the IK naming convention.
What it assumes
Assumes basic secure-transport and cryptographic-handshake concepts while explaining tokens and Diffie-Hellman behavior through examples.
What you can do after
Evaluate whether a predetermined Noise handshake suits a controlled deployment’s simplicity and compatibility requirements.
How it connects
Connects TLS, handshakes, authentication, ephemeral keys, static keys, payloads, and Diffie-Hellman key exchange.

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.