#mls #openmls #security #messaging #layer #protocols

openmls_libcrux_crypto

基于 libcrux 的 OpenMLS 加密后端,实现了 openmls_traits

3 个版本

0.1.0-pre.3 2024 年 8 月 22 日
0.1.0-pre.22024 年 7 月 24 日
0.1.0-pre.12024 年 7 月 23 日

#662 in 加密学

Download history 144/week @ 2024-07-18 94/week @ 2024-07-25 4/week @ 2024-08-01

242 每月下载次数
用于 openmls_test

MIT 许可证

145KB
3K SLoC

OpenMLS

OpenMLS Chat OpenMLS List

Tests & Checks

codecov

Docs Book Rust Version

OpenMLS 是一种 Rust 实现,根据 RFC 9420 中指定的消息层安全性 (MLS) 协议。

它是一个软件库,可以作为需要端到端加密消息的应用程序的基础构建块。它具有安全且易于使用的接口,可以隐藏底层加密操作的复杂性。

支持的密码套件

  • MLS_128_HPKEX25519_AES128GCM_SHA256_Ed25519 (MTI)
  • MLS_128_DHKEMP256_AES128GCM_SHA256_P256
  • MLS_128_HPKEX25519_CHACHA20POLY1305_SHA256_Ed25519

支持的平台

OpenMLS 在以下 rust 目标上构建和测试。

  • x86_64-unknown-linux-gnu
  • i686-unknown-linux-gnu
  • x86_64-pc-windows-msvc
  • i686-pc-windows-msvc
  • x86_64-apple-darwin

不支持,但在 CI 上构建

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

OpenMLS 支持 32 位平台及以上。

加密依赖项

OpenMLS 没有实现自己的加密原语。相反,它依赖于 MLS 所使用的加密原语的现有实现。目前实现了两种不同的加密提供程序。但消费者可以提供自己的实现。有关更多信息,请参阅 traits

在 OpenMLS 上工作

有关在 OpenMLS 本身上工作的更多详细信息,请参阅 Developer.md

维护和支持

OpenMLS 由 Phoenix R&DCryspen 维护和开发。

致谢

Zulip 慷慨地向 OpenMLS 社区提供“Zulip Cloud Standard”层 Zulip 实例

依赖项

~9.5MB
~238K SLoC