[messaging] Signal Protocol Documentation
trevp at trevp.net
Tue Oct 4 11:55:37 PDT 2016
Moxie and I are working on better documentation for the Signal Protocol.
Polishing docs for release is a lot of work, and we had hopes to do it
to a high standard of quality. But this hasn't been a priority
compared to working on new features or new deployments, so it hasn't
It's becoming apparent - here and elsewhere - that people are losing
patience with the sparse / scattered docs that exist.
So we've decided to focus on publishing draft documents that cover the
core elements of the Signal Protocol, over the next weeks:
* Signatures: Week of Oct 17
* Key Agreement: Week of Oct 31 (2 weeks later)
* Double Ratchet: Week of Nov 14 (2 weeks later)
* These will be standalone documents which don't use the "Signal"
name, to make them easier to reuse by different projects, and to avoid
confusion between projects using Signal-like mechanisms, and the full
* These initial publications may be light in some areas (rationale,
diagrams, security considerations, formal security analysis). These
seem like necessary compromises given what people want, and what we
have the ability to release on a tight timeframe. These will be
living documents that continue to improve after initial release.
* These documents will focus on cryptographic concepts, so will not
initially specify encodings in enough detail to produce a system
identical or interoperable to the Signal Protocol (which is a moving
target in any case).
* Signal Protocol includes multiparty, multidevice, media, and
authentication features built on top of the core elements. These
features are more likely to change over time, and to differ between
deployments. Once we've gotten more experience with the initial
document set, we'll consider how to document these higher-level
We'll communicate if these plans change.
We'll also consider how to best handle community feedback and
collaboration through online forums, and once we have something to
publish we'll make some experiments in that direction.
Thanks for bearing with us.
More information about the Messaging