5个版本
0.0.4 | 2023年9月3日 |
---|---|
0.0.3 | 2023年9月3日 |
0.0.2 | 2023年8月31日 |
0.0.1 | 2023年8月28日 |
0.0.0 | 2023年6月3日 |
#650 在 加密学 中
每月 33 次下载
4MB
7.5K SLoC
Rust中的消息层安全
概述
RMLS 是根据 RFC 9420 指定的消息层安全(MLS)协议的Rust实现。消息层安全(MLS)是一种密钥建立协议,它为大小从两个到数千个的组提供了高效的异步组密钥建立,具有前向安全(FS)和后泄露安全(PCS)。
支持的加密套件
- MLS_128_HPKEX25519_AES128GCM_SHA256_Ed25519
- MLS_128_DHKEMP256_AES128GCM_SHA256_P256
- MLS_128_HPKEX25519_CHACHA20POLY1305_SHA256_Ed25519
支持的平台
RMLS 在以下rust目标上构建和测试
- x86_64-unknown-linux-gnu
- i686-unknown-linux-gnu
- x86_64-pc-windows-msvc
- i686-pc-windows-msvc
- x86_64-apple-darwin
GitHub CI还构建(但未测试)以下rust目标
- aarch64-apple-darwin
- aarch64-unknown-linux-gnu
- aarch64-linux-android
- aarch64-apple-ios
- aarch64-apple-ios-sim
- wasm32-unknown-unknown
- armv7-linux-androideabi
- x86_64-linux-android
- i686-linux-android
加密依赖
RMLS 不实现自己的加密原语。相反,它依赖于现有的加密原语实现,例如 ring 或 RustCrypto。目前实现了两种加密提供者
- ring 基于加密提供者
- RustCrypto 基于加密提供者
其他加密提供者,如 openssl 或 boring,也是可能的,请参阅 CryptoProvider Trait 获取更多详细信息。
开源许可
在MIT和Apache-2.0下双许可目前是Rust语言社区接受的标准,并且自那时以来已用于编译器和许多公共库(请参阅 https://doc.rust-lang.net.cn/1.6.0/complement-project-faq.html#why-dual-mitasl2-license)。为了符合社区标准,RMLS 使用双MIT+Apache-2.0许可。
贡献
欢迎贡献者或Pull Requests!
依赖关系
~7–12MB
~212K SLoC