18个版本
0.4.4 | 2023年2月17日 |
---|---|
0.4.2 | 2022年1月31日 |
0.3.6 | 2021年11月3日 |
0.3.3 | 2021年5月18日 |
0.1.0 | 2018年9月18日 |
#45 in 密码学
19,458每月下载量
在122个crate中使用 (41个直接使用)
755KB
15K SLoC
Cryptoxide
Cryptoxide是一个纯Rust实现的现代加密算法库,无依赖,无外部代码(尤其是C或汇编代码)。它兼容WASM和嵌入式设备。
该crate包旨在以尽可能少的依赖支持尽可能多的架构。
免责声明:由于所有内容都与密码学相关,因此使用时没有任何保证
概述
Cryptoxide是一个密码学crate,旨在提供高质量和高效的纯Rust实现的各种流行加密算法。
它提供以下类别中的各种常见算法
- 密码学摘要:SHA1,SHA2,SHA3,KECCAK,BLAKE2,RIPEMD160
- 消息认证码 (MAC):HMAC,Poly1305
- 对称加密:Salsa,Chacha
- 认证加密 (AE):ChachaPoly1305
- 密钥派生函数 (KDF):Pbkdf2,HKDF,Scrypt
我们的主要目标是提供一个在多种环境中可用的库,通过支持许多平台,但仅通过提供接近Rust核心API的简单API。
cryptoxide无依赖,并且将保持无依赖状态。尽可能多地依赖Rust原语,仅使用core
API,并在少数地方使用alloc
来获取动态内存功能,直到我们可以移除它们(当const-generic稳定时)。
分支信息
这是DaGenix的Rust-Crypto的一个分支,我们对其为各种加密算法提供高质量的纯Rust实现表示感激。
与原始源代码的显著差异
- 维护中。
- 扩展ED25519支持,支持扩展密钥(64字节)。
- 正确实现ChaChaPoly1305(根据规范)。
- 删除了许多加密算法:AES,Blowfish,Fortuna,RC4,RIPEMD160,Whirlpool,MD5。
运行基准测试
通常
cargo +nightly bench --features with-bench
或启用所有CPU能力
RUSTFLAGS="-C target_cpu=native" cargo +nightly bench --features with-bench
支持的编译器版本
Rust | 测试 |
---|---|
稳定 | ✓ |
beta | ✓ |
nightly | ✓ |
我们始终会至少支持当前稳定版本。然而,很可能也支持较旧的Rust编译器版本。
许可证
本项目采用以下任一许可证授权:
- Apache许可证,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)