16个版本
0.17.6 | 2023年9月19日 |
---|---|
0.17.5 | 2023年7月4日 |
0.17.4 | 2023年3月4日 |
0.17.3 | 2022年12月7日 |
0.1.42 |
|
#29 in 密码学
158,642 每月下载量
用于 48 个crate (16个直接使用)
1MB
14K SLoC
orion
关于
Orion 是一个用纯Rust编写的密码学库。它旨在提供简单易用的加密功能,同时尽量减少不安全代码的使用。您可以在 wiki 中了解更多关于 Orion 的信息。
目前支持
- AEAD: (X)ChaCha20-Poly1305。
- 哈希: BLAKE2b, SHA2, SHA3。
- 密钥派生函数: HKDF, PBKDF2, Argon2i。
- 密钥交换: X25519。
- MAC: HMAC, Poly1305。
- 流密码: (X)ChaCha20。
- 密钥封装机制: DHKEM(X25519, HKDF-SHA256).
实验性支持(启用 experimental
功能)
- 提交AEAD: (X)ChaCha20-Poly1305-BLAKE2b。
安全性
此库尚未经过任何第三方安全审计。使用存在风险。
Orion 使用由Fiat Crypto生成的形式化验证算术,用于X25519和Poly1305的实现。
有关正确使用、报告安全问题等方面的建议,请参阅 SECURITY.md。有关 Orion 的安全性信息,请参阅 wiki。
最低支持的Rust版本
支持 Rust 1.70 或更高版本,但大多数测试是在最新稳定版 Rust 上进行的。
MSRV 可能随时更改,不会被视为 SemVer 破坏性更改。
crate功能
default
/safe_api
:所有功能,需要std
。serde
:需要alloc
或default
/safe_api
。alloc
:在default
/safe_api
不可用的情况下,Argon2i 在hazardous
中。no_std
:表示没有堆分配的隐式功能。通过禁用默认功能和不选择任何附加功能来启用。experimental
:这些API可能包含在非 SemVer 破坏性 crate 版本中的破坏性更改。
关于wiki中特制的更详细说明。
文档
可以在这里查看,或者通过以下方式构建:
RUSTDOCFLAGS='--cfg docsrs' cargo +nightly doc --no-deps --all-features
测试和模糊测试
wiki中提供了关于Orion如何进行测试的详细信息。要运行所有测试
cargo test
模糊测试使用honggfuzz-rs在orion-fuzz中进行。有关如何开始模糊测试Orion的说明,请参阅orion-fuzz。
恒时执行测试可以在orion-dudect和orion-sidefuzz中找到。
基准测试
可以在这里查看从Orion可以期望的性能概述。
可以使用Criterion进行基准测试,如下所示。所有基准测试都位于benches/
。
cargo bench
变更日志
请参阅CHANGELOG.md列表。
贡献
有关如何为Orion做出贡献的信息,请参阅CONTRIBUTING.md中的指南。
许可证
Orion采用MIT许可证。有关更多信息,请参阅LICENSE
文件。
依赖关系
~4MB
~83K SLoC