liveBook · Manning

One-time prekey

As explained in Real-World Cryptography

A one-time prekey is a single-use public ephemeral key uploaded in advance for an asynchronous key exchange.

Suppose Alice starts a conversation while Bob is offline. A one-time prekey lets Bob prepare for that moment: it is a public, ephemeral Diffie-Hellman key uploaded in advance and used once. section 10.4.2

The mechanism follows a small lifecycle:

  • Bob generates multiple ephemeral key pairs and uploads their public parts to a central server. section 10.4.2
  • The selected public key is deleted after use, helping add forward secrecy even when Bob is offline. section 10.4.2

When the supply runs out

One-time prekeys can be depleted. A signed prekey then provides a fallback with forward secrecy limited to the last signed-prekey change, so fresh one-time prekeys must be uploaded. section 10.4.2

How Real-World Cryptography covers it

How deep it goes
Explains generation, upload, single use, deletion, depletion, and fallback, but not implementation details.
Examples
Uses Alice contacting offline Bob and a prekey bundle containing an optional one-time prekey.
What it assumes
Assumes familiarity with public-key pairs and Diffie-Hellman keys while relating them to identity and signed prekeys.
What you can do after
Operate an X3DH deployment by uploading, consuming, deleting, and replenishing one-time prekeys.
How it connects
Connects Diffie-Hellman key exchange, forward secrecy, X3DH, prekey bundles, identity keys, and signed prekeys.

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.