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 次下载

MIT/Apache

4MB
7.5K SLoC

rmls.io

License: MIT/Apache 2.0 Discord Twitter

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 不实现自己的加密原语。相反,它依赖于现有的加密原语实现,例如 ringRustCrypto。目前实现了两种加密提供者

其他加密提供者,如 opensslboring,也是可能的,请参阅 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