Protocol specification gap analysis
Work in progress — not audited
This analysis does not claim equivalence to Noise or the WireGuard paper.
Purpose
The Enkrypted Chat specification is a hybrid product + protocol document. This page tracks readiness for reviewers who need behavior without reading TypeScript.
Reference bar (updated)
| Spec element | Noise / WireGuard bar | Enkrypted Chat status |
|---|---|---|
| Scope | Single protocol | Met (split) — P0–P8 + appendices vs ch. 1–12; composition documented |
| Wire formats | Byte-level packets | Partial — JSON normative; 16 MiB cap; P4.13 full field reference; not binary |
| Crypto primitives | Named profile | Met — P1 |
| Processing rules | Pseudocode | Met — P6 |
| State machines | FSM + diagrams | Met — P7, P3 sequences |
| Security properties | Formal claims | Met — P1.4 Provides/Partial/Does-not-provide + ch. 9 |
| Limits / errors | Caps + codes | Met — P8; protocol-error implemented in p2p |
| Test vectors | Golden hex | Partial — V1–V7, V9 in Appendix A; live cascade V8 deferred |
| Rationales | Design why | Met — P0 |
| Signal deltas | N/A | Met — Appendix B |
| Versioning | Frozen id | Partial — EnkryptedChat-Profile-v0; v1 criteria in P1.7 |
| Change log | Rev history | Met — CHANGELOG-SPEC |
Structural difference (honest)
Enkrypted Chat is a composition, not one monolithic protocol:
Auditor checklist
| # | Question | Where answered |
|---|---|---|
| 1 | Session message order? | P3, P7 |
| 2 | Algorithms for a text message? | P1, P5 |
| 3 | JSON on the wire? | P4, P5 |
| 4 | Decrypt failure / oversize? | P6, P8 |
| 5 | What is not guaranteed? | P1.5, ch. 11 |
| 6 | Reproduce a round-trip? | Appendix A + repo tests |
| 7 | P2P vs standard Signal? | Appendix B |
Deferred (documented, not hidden)
- Live MLS+Signal+ML-KEM+AES hex (Appendix A V8, Profile-v1 gate).
- Mandatory
specVersionon all PDUs (Profile-v1 gate). - Binary wire profile (
EnkryptedChat-Profile-v2-binaryinformative only).
Protocol document map
| Chapter | Title |
|---|---|
| P0 | Design rationales |
| P1 | Protocol overview and profile |
| P2 | Signaling (broker path) |
| P3 | Session establishment |
| P4 | PDU catalog and schemas |
| P5 | Cascade wire encoding |
| P6 | Processing rules |
| P7 | State machines |
| P8 | Limits, errors, edge cases |
| Appendix A | Test vectors |
| Appendix B | P2P Signal deltas |
| Appendix C | Glossary |
| Appendix D | SFrame (informative WIP) |