Authors: Marcin Pawlowski [email protected]

Revision History

Version Changes Date
1.0.0 Initial revision. 2026-04-09

Introduction

This document defines an implementation-friendly specification of the Payload Formatting, which is introduced in the Formatting section.

Overview

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.

Construction

Payload

The Payload is a structure that contains a header and a body.

class Payload:
	  header: Header,
	  body: bytes

Header

The header is a structure that contains a body_type and a body_length.

class Header:
  	body_type: byte,
	  body_length: uint16

Type

We define the following values of the body_type:

Any other value of type means that the message was not decapsulated correctly and must be discarded.

Length