14 releases
0.3.0 | Sep 4, 2024 |
---|---|
0.3.0-pre.3 | Aug 22, 2024 |
0.3.0-pre.2 | Jul 24, 2024 |
0.2.0 | Jul 20, 2023 |
0.1.0 | Feb 28, 2022 |
#975 in Cryptography
335 downloads per month
Used in 9 crates
61KB
1K
SLoC
OpenMLS Traits
This crate defines a number of crates that have to be implemented in order to use OpenMLS.
The OpenMLS repository provides a default implementation for these traits
⚠️ These traits are responsible for all cryptographic operations and randomness within OpenMLS. Please ensure you know what you're doing when implementing your own versions.
Traits
There are 4 different traits.
OpenMlsRand
This trait defines two functions to generate arrays and vectors, and is used by OpenMLS to generate randomness.
OpenMlsCrypto
This trait defines all cryptographic functions required by OpenMLS, in particular
- HKDF
- Hashing
- AEAD
- Signatures
- HPKE
OpenMlsKeyStore
This trait defines a CRUD API for a key store that is used to store long-term key material from OpenMLS.
OpenMlsCryptoProvider
Additionally, there's a wrapper trait defined that is expected to be passed into the public OpenMLS API.
Types
For interoperability this crate also defines a number of types and algorithm identifiers.
Dependencies
~0.5–1MB
~25K SLoC