6 releases
0.0.11 | Feb 24, 2022 |
---|---|
0.0.10 | Jul 9, 2021 |
0.0.9 | May 19, 2021 |
0.0.8 | Mar 9, 2021 |
0.0.4 |
|
#1 in #hacl
Used in 2 crates
47MB
1M
SLoC
Evercrypt & HACL Rust bindings
High-level evercrypt bindings crates.
⚠️ Note: This crate is still work in progress. Don't use in production just yet.
Features
By default the Evercrypt crate includes the random
feature that allows generating random values (keys, nonces, etc.).
But this is not verified code and uses the rand crate. It can be disabled with --no-default-features
.
Please bring your own randomness if you want to be safe.
RustCrypto AES
Evecrypt currently implements AES only for x64 CPUs with a certain set of CPU instructions.
To provide AES for other platforms the Evercrypt crate uses the RustCrypto AES implementation when using --features rust-crypto-aes
.
Platforms
Currently only Linux x64 and MacOS are supported. Windows builds are on the To Do list and should be supported in future.
Platform | Supported |
---|---|
MacOS | ✅ |
MacOS Arm64 | ✅ |
iOS | ✅ |
iOS Simulator x86_64 | ❌ |
Linux x64 | ✅ |
Linux x86 | ✅ |
Windows x64 | ✅ |
Arm64 Linux | ✅ |
Arm32 Linux | ✅ |
Benchmarks
To run benchmarks use cargo bench
.
Tests
All primitives are tested against the Wycheproof test vectors.
They can be run with cargo test
.
This will also run automatically generated binding tests from bindgen.