Skip to main content

Module vc_operation_tree

Module vc_operation_tree 

Source
Available on crate feature extensions-draft and crate feature virtual-clients-draft and (32-bit or 64-bit) only.
Expand description

Virtual Client Operation Secret Tree (mls-virtual-clients draft): a per-emulation-epoch secret tree whose leaves expand into one operation ratchet per operation type. Virtual Client Operation Secret Tree (mls-virtual-clients draft).

A tree of secrets with the same structure as the RFC 9420 secret tree (Section 9): it has the same set of nodes and edges as the emulation group’s ratchet tree at the corresponding epoch, parent-to-child node derivation uses the same "tree" label with "left" / "right" context, and each leaf is expanded once it is first used. It differs from the RFC 9420 secret tree in two ways: the root is the per-emulation-epoch epoch_base_secret rather than a secret derived from encryption_secret, and each leaf expands into one operation ratchet per VirtualClientOperationType instead of a handshake and an application sender ratchet.

Each ratchet hands out one OperationSecret per generation, bound to the spec’s OperationContext (epoch_id, leaf_index, generation, operation_type, operation_context).

Forward secrecy mirrors the RFC 9420 secret tree: parent node secrets are deleted once their children are derived, a leaf secret is deleted as soon as the initial ratchet secrets for all operation types have been derived, and ratchet heads plus generation secrets are deleted as soon as the operation secret of a generation has been derived. Deriving for a generation ahead of the ratchet head retains only the context-independent operation_generation_secret of each skipped generation, since the final operation secret also binds the (then still unknown) operation context. The retained entry is deleted when the operation for that generation arrives. Retention is bounded by MAXIMUM_FORWARD_DISTANCE and OUT_OF_ORDER_TOLERANCE.

Structs§

OperationSecretTree
Per-emulation-epoch Virtual Client Operation Secret Tree.