pub trait LmsMode: Typecode + Clone {
type Hasher: Digest;
type OtsMode: LmsOtsMode;
type TreeLen: ArrayLength<Output<Self::Hasher>>;
type HLen: ArrayLength<Output<Self::Hasher>>;
const M: usize;
const H: usize;
const LEAVES: u32;
const TREE_NODES: u32;
}Expand description
The basic trait that must be implemented for any valid LMS mode
Required Associated Constants§
Sourceconst TREE_NODES: u32
const TREE_NODES: u32
TreeLen as a u32, 2^(h+1)-1
Required Associated Types§
Sourcetype OtsMode: LmsOtsMode
type OtsMode: LmsOtsMode
The underlying LM-OTS mode
Sourcetype TreeLen: ArrayLength<Output<Self::Hasher>>
type TreeLen: ArrayLength<Output<Self::Hasher>>
Length of the internal Merkle tree, computed as 2^(h+1)-1
Sourcetype HLen: ArrayLength<Output<Self::Hasher>>
type HLen: ArrayLength<Output<Self::Hasher>>
h as a type
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.