58 个版本
0.17.8 | 2024年2月17日 |
---|---|
0.17.7 | 2023年12月5日 |
0.17.6 | 2023年11月28日 |
0.17.0-alpha.11 | 2021年12月16日 |
0.6.0-alpha |
|
在 密码学 中排名 21
每月下载量 8,524,254
在 8,426 个 crate 中使用(直接使用 839 个)
5.5MB
193K SLoC
本软件按“原样”提供,Brian Smith 和作者放弃与此软件相关的所有保证,包括所有默示的适销性和适用性的保证。在任何情况下,Brian Smith 或作者均不对任何特殊、直接、间接或后果性损害或任何因使用或性能而导致的损害(无论是否因合同行为、疏忽或其他侵权行为而引起)承担责任。
ring
ring 致力于通过易于使用(且难以误用)的 API 暴露一组核心加密操作的实现、测试和优化。 ring 提供了一个 Rust API,并使用 Rust、C 和汇编语言混合编写。
特别关注使其易于构建和集成 ring 到应用程序和高级框架中,并确保 ring 在小型设备上以及最终在微控制器上运行优化,以支持物联网 (IoT) 应用。
ring 中的大部分 C 和汇编语言代码来自 BoringSSL,BoringSSL 是从 OpenSSL 衍生而来的。 ring 定期合并 BoringSSL 的更改。此外,为 ring 开发的几个更改已贡献给并集成到 BoringSSL。
文档
请参阅https://docs.rs/ring/latest/ring/中的文档。
有关构建说明,请参阅BUILDING.md。这些说明对于交叉编译以及在不是从 crates.io 构建时在 Windows 上构建尤为重要,因为需要安装一些构建先决条件。
基准测试
ring 的基准测试位于本存储库的 bench
文件夹中。由于 ring 中有大量与平台相关的代码,并且由于 ring 在运行时动态选择每个加密原语的最佳实现,因此很难发布一组有用的基准测试;相反,强烈鼓励您在自己的目标硬件上运行基准测试。
贡献
最重要的贡献是 ring 的应用。也就是说,我们对在 ring 之上构建有用事物非常感兴趣,例如 TLS、SSH、Noise 协议等的实现。
ring 项目乐意接受 pull request。修改现有文件的 pull request 部分,必须以与被修改文件相同的条款许可。pull request 中的新文件,特别是所有 Rust 代码,必须以 ISC 风格许可。请在 pull request 的提交信息中表明您同意以以下方式许可您的贡献,将其放在提交信息底部:
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
最低支持的 Rust 版本 (MSRV)
ring 在最新稳定版、Beta 版和 Nightly 版本的 Rust 上进行了测试,以及根据 CI 中运行的测试已知的最早版本。已知可工作的最早版本在 Cargo.toml 中记录为 MSRV。
错误报告
有关报告安全漏洞的帮助,请参阅 SECURITY.md。
请将不是安全漏洞的错误报告为 pull request 或 问题跟踪器 中的问题。
许可
请参阅 LICENSE。
依赖项
~0.2–9MB
~70K SLoC