A WIP Rust implementation of Messaging Layer Security based on draft 9+.
- MLS10_128_HPKEX25519_AES128GCM_SHA256_Ed25519 (MTI)
- MLS10_128_DHKEMP256_AES128GCM_SHA256_P256
- MLS10_128_HPKEX25519_CHACHA20POLY1305_SHA256_Ed25519
- linux x86_64
- linux arm32
- linux arm64
- macOS x86_64
OpenMLS relies on EverCrypt, a high-performance, cross-platform, formally verified modern cryptographic provider through EverCrypt Rust bindings.
OpenMLS requires at least Rust 1.50.0.
- run
cargo build
- run
cargo test
- run
cargo bench
This repository is a cargo workspace with the OpenMLS library as the main component. It further holds the following crates that are used for testing.
A basic delivery service can be found in delivery-service/ds. To interact with the delivery service the ds-lib provides the necessary types.
A basic command line client can be found in cli. Note that this is a PoC for testing and must not be used for anything else.
OpenMLS is licensed under the MIT license. The license can be found here.
OpenMLS welcomes contributions! Before contributing, please read the contributing guidelines carefully. You can start by looking at the open issues or join the discussion on GitHub discussions or Zulip.
OpenMLS adheres to the Contributor Covenant Code of Coduct. Please read the Code of Conduct carefully.