Available on 32-bit or 64-bit only.
Expand description
This module implements the ratchet tree component of MLS.
It exposes the Node enum that can contain either a LeafNode or a ParentNode.
Modules§
- errors
- TreeSync errors
- test_
utils test-utils - tests_
and_ kats test-utils
Structs§
- Encryption
Key EncryptionKeycontains an HPKE public key that allows the encryption of path secrets in MLS commits.- Leaf
Node - This struct implements the MLS leaf node.
- Leaf
Node Parameters - Parameters for a leaf node that can be chosen by the application.
- Leaf
Node Parameters Builder - Builder for
LeafNodeParameters. - Parent
Node - This struct implements the MLS parent node. It contains its public key, parent hash and unmerged leaves. Additionally, it may contain the private key corresponding to the public key.
- Ratchet
Tree - An exported ratchet tree as used in, e.g.,
GroupInfo. - Ratchet
Tree In - A ratchet tree made of unverified nodes. This is used for deserialization and verification.
- Tree
Sync - The
TreeSyncstruct holds anMlsBinaryTreeinstance, which contains the state that is synced across the group, as well as theLeafNodeIndexpointing to the leaf of this group member and the current hash of the tree.
Enums§
- Leaf
Node Source - The source of the
LeafNode. - Leaf
Node Update Error - Leaf Node Update Error
- Node
- Container enum for leaf and parent nodes.
- Ratchet
Tree Error - An error during processing of an incoming ratchet tree.