6个版本

0.0.11 2022年2月24日
0.0.10 2021年7月9日
0.0.9 2021年5月19日
0.0.8 2021年3月9日
0.0.4 2020年11月17日

#1 in #hacl


用于 2 crates

MPL-2.0 许可证

47MB
1M SLoC

C 493K SLoC // 0.1% comments GNU Style Assembly 377K SLoC Assembly 132K SLoC // 0.0% comments F* 129K SLoC // 0.0% comments OCaml 9K SLoC // 0.1% comments Rust 2.5K SLoC // 0.0% comments Scons 1K SLoC // 0.2% comments JavaScript 854 SLoC // 0.1% comments Shell 852 SLoC // 0.1% comments Python 606 SLoC // 0.3% comments C++ 359 SLoC // 0.1% comments Batch 44 SLoC

Evercrypt & HACL Rust绑定

Maturity Level Build & Test ARM Build codecov Rust Version

高级evercrypt绑定crates。

⚠️ 注意: 此crate仍在开发中。请勿在生产环境中使用。

特性

默认情况下,Evercrypt crate包括 random 特性,允许生成随机值(密钥、nonce等)。但这不是验证代码,使用rand crate。可以使用 --no-default-features 禁用。如果您想要安全,请自行提供随机性。

RustCrypto AES

Evecrypt目前仅针对具有特定CPU指令集的x64 CPU实现AES。为了为其他平台提供AES,Evercrypt crate在启用 --features rust-crypto-aes 时使用RustCrypto AES实现。

平台

目前仅支持Linux x64和MacOS。Windows构建已在待办事项列表中,并应在未来得到支持。

平台 支持
MacOS
MacOS Arm64
iOS
iOS Simulator x86_64
Linux x64
Linux x86
Windows x64
Arm64 Linux
Arm32 Linux

基准测试

要运行基准测试,请使用 cargo bench

测试

所有原语都针对Wycheproof测试向量进行测试。可以使用 cargo test 运行。这还将自动运行由bindgen生成的绑定测试。

依赖关系