This workspace holds the evercrypt-sys and high-level evercrypt crates.
Platform | Supported | Status |
---|---|---|
MacOS | ✅ | |
Linux x64 | ✅ | |
Linux x86 | ✅ | |
Windows x64 | ✅ | |
Arm64 Linux | ✅ | |
Arm32 Linux | ✅ |
Name | Crates.io | Docs |
---|---|---|
evercrypt-sys | ||
evercrypt |
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.
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
.
See above for a list of supported platforms.
To build evercrypt
and evercrypt-sys
on Windows ensure path for the VsDevCmd.bat
called in in evercrypt-sys/hacl-build.bat
is correct on your system.
The build has only been tested with VisualStudio 2019.
To run benchmarks use cargo bench
.
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.