Protocol overview
Message-key derivation and payload protection are distinct steps.
An ephemeral X25519 exchange and HKDF establish root key material. A double ratchet then derives message keys, including handling for packets that arrive out of order.
The message key feeds authenticated encryption and the keyed tone-encoding layer. The diagrams show how these parts fit into the sending and receiving pipelines.
Send / 01
Build and seal the outgoing frame.
Receive / 02
Check the frame before decoding.
Implementation details
- Key agreement
- Ephemeral X25519 exchange with HKDF-derived root key.
- Message keys
- Double-ratchet key derivation, with message-key handling for out-of-order packets.
- Payload encryption
- ChaCha20-Poly1305 authenticated encryption.
- Encoding layer
- Message-key-derived tone alphabet, followed by framing and optional fragmentation.
- Replay handling
- Sliding sequence window rejects duplicate and stale frames.
McNeal currently uses X25519 for key agreement and ChaCha20-Poly1305 for authenticated encryption. It is not post-quantum cryptography.
Technical evaluation