Authors: Marcin Pawlowski [email protected]
| Version | Changes | Date |
|---|---|---|
| 1.0.0 | Initial revision. | 2026-04-09 |
This document defines an implementation-friendly specification of the Payload Formatting, which is introduced in the Formatting section.
The payload contains a header and a body. The header informs the protocol about the way the body must be handled. The body contains a raw message (data/proposal or cover message). The payload must be of a fixed length to prevent adversaries from distinguishing types of messages based on their length. Therefore, shorter messages must be padded with random data.
The Payload is a structure that contains a header and a body.
class Payload:
header: Header,
body: bytes
The header is a structure that contains a body_type and a body_length.
class Header:
body_type: byte,
body_length: uint16
We define the following values of the body_type:
body_type=0x00, informs that the body contains a cover message.body_type=0x01, informs that the body contains a data message.Any other value of type means that the message was not decapsulated correctly and must be discarded.