You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 24, 2025. It is now read-only.
| Linux x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
11
-
| Linux x86 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
12
-
| Windows x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
13
-
| Arm64 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
14
-
| Arm32 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
| Linux x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
13
+
| Linux x86 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
14
+
| Windows x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
15
+
| Arm64 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
16
+
| Arm32 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
By default the Evercrypt crate includes the `random` feature that allows generating random values (keys, nonces, etc.).
25
28
But this is not verified code and uses the [rand](https://crates.io/crates/rand) crate. It can be disabled with `--no-default-features`.
26
29
Please bring your own randomness if you want to be safe.
27
30
28
31
### RustCrypto AES
32
+
29
33
Evecrypt currently implements AES only for x64 CPUs with a certain set of CPU instructions.
30
34
To provide AES for other platforms the Evercrypt crate uses the [RustCrypto](https://github.com/RustCrypto/) AES implementation when using `--features rust-crypto-aes`.
31
35
32
36
## Platforms
37
+
33
38
See above for a list of supported platforms.
34
39
35
40
### Building
41
+
36
42
You will need to:
37
43
38
44
```
@@ -41,14 +47,17 @@ cargo build
41
47
```
42
48
43
49
### Building on Windows
50
+
44
51
To build `evercrypt` and `evercrypt-sys` on Windows ensure path for the `VsDevCmd.bat`
45
52
called in in `evercrypt-sys/hacl-build.bat` is correct on your system.
46
53
The build has only been tested with VisualStudio 2019.
47
54
48
55
## Benchmarks
56
+
49
57
To run benchmarks use `cargo bench`.
50
58
51
59
## Tests
60
+
52
61
All primitives are tested against the [Wycheproof](https://github.com/google/wycheproof) test vectors.
53
62
They can be run with `cargo test`.
54
63
This will also run automatically generated binding tests from bindgen.
**⚠️ Note:** This crate is still work in progress. Don't use in production.
10
10
11
11
## Features
12
+
12
13
By default the Evercrypt crate includes the `random` feature that allows generating random values (keys, nonces, etc.).
13
14
But this is not verified code and uses the [rand](https://crates.io/crates/rand) crate. It can be disabled with `--no-default-features`.
14
15
Please bring your own randomness if you want to be safe.
15
16
16
17
### RustCrypto AES
18
+
17
19
Evecrypt currently implements AES only for x64 CPUs with a certain set of CPU instructions.
18
20
To provide AES for other platforms the Evercrypt crate uses the [RustCrypto](https://github.com/RustCrypto/) AES implementation when using `--features rust-crypto-aes`.
19
21
20
22
## Platforms
23
+
21
24
Currently only Linux x64 and MacOS are supported.
22
25
Windows builds are on the To Do list and should be supported in future.
| Linux x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
29
-
| Linux x86 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
30
-
| Windows x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
31
-
| Arm64 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
32
-
| Arm32 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
| Linux x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
33
+
| Linux x86 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
34
+
| Windows x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
35
+
| Arm64 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
36
+
| Arm32 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
33
37
34
38
## Benchmarks
39
+
35
40
To run benchmarks use `cargo bench`.
36
41
37
42
## Tests
43
+
38
44
All primitives are tested against the [Wycheproof](https://github.com/google/wycheproof) test vectors.
39
45
They can be run with `cargo test`.
40
46
This will also run automatically generated binding tests from bindgen.
| Linux x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
19
-
| Linux x86 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
20
-
| Windows x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
21
-
| Arm64 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
22
-
| Arm32 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
| Linux x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
22
+
| Linux x86 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
23
+
| Windows x64 | ✅ |[](https://github.com/franziskuskiefer/evercrypt-rust/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amain)|
24
+
| Arm64 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
25
+
| Arm32 Linux | ✅ |[](https://cloud.drone.io/franziskuskiefer/evercrypt-rust)|
23
26
24
27
#### Building on Windows
28
+
25
29
To build `evercrypt` and `evercrypt-sys` on Windows ensure path for the `VsDevCmd.bat`
26
30
called in in `hacl-build.bat` is correct on your system.
27
31
The build has only been tested with VisualStudio 2019.
0 commit comments