diff --git a/BENCHMARKS.md b/BENCHMARKS.md
index 351cff794..224ab9504 100644
--- a/BENCHMARKS.md
+++ b/BENCHMARKS.md
@@ -2,7 +2,7 @@
-How long rind and the usual Rust crypto libraries take for the same operations, on five machines, and what each costs to build. Every library runs its native path on each host. A ✓ marks an operation whose whole computation a published formal proof covers, as [Verified code](#verified-code) lists.
+How long rind and the usual Rust crypto libraries take for the same operations, on six machines, and what each costs to build. Every library runs its native path on each host. A ✓ marks an operation whose whole computation a published formal proof covers, as [Verified code](#verified-code) lists.
## Hosts
@@ -11,12 +11,11 @@ How long rind and the usual Rust crypto libraries take for the same operations,
| `nixos` | AMD Ryzen 9 5900XT 16-Core Processor | NixOS 26.11 (Zokor) (Linux 6.18.56) | 2026-11-06 at [`f95b91da`](https://github.com/moq-dev/rind/commit/f95b91da886bee265dbd836192a7ade2f9158c47), noisy |
| `desktop` | Intel(R) Core(TM) Ultra 7 270K Plus | Ubuntu 26.04.1 LTS (Linux 7.0.0-42-generic) | 2026-11-06 at [`f95b91da`](https://github.com/moq-dev/rind/commit/f95b91da886bee265dbd836192a7ade2f9158c47), noisy |
| `nixos2` | Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz | NixOS 26.11 (Zokor) (Linux 6.18.56) | 2026-11-06 at [`f95b91da`](https://github.com/moq-dev/rind/commit/f95b91da886bee265dbd836192a7ade2f9158c47) |
+| `kixtop` | Apple M4 | macOS 26.6.2 (25.6.0) | 2026-11-07 at [`93f91f48`](https://github.com/moq-dev/rind/commit/93f91f48c9b742890a34bb3485071da6f2d241ab) |
| `ovh-iad` | Intel Core Processor (Haswell, no TSX) | NixOS 26.11 (Zokor) (Linux 6.18.40) | 2026-11-06 at [`6b185382`](https://github.com/moq-dev/rind/commit/6b185382a621d6ffe630db4118adc464bc4d158a) |
| `ovh-sea` | Intel Core Processor (Haswell, no TSX) | NixOS 26.11 (Zokor) (Linux 6.18.40) | 2026-11-06 at [`6b185382`](https://github.com/moq-dev/rind/commit/6b185382a621d6ffe630db4118adc464bc4d158a) |
-Not measured yet: `kixtop`.
-
-Each host builds with the pinned toolchain, in the Nix dev shell on Linux, and runs `admin/bench-report` only when idle. Times are criterion's estimates.
+Each host builds with the pinned toolchain in the Nix dev shell, and runs `admin/bench-report` only when idle. Times are criterion's estimates.
## Speed
@@ -255,6 +254,84 @@ Measured 2026-11-06 at [`f95b91da`](https://github.com/moq-dev/rind/commit/f95b9
+### `kixtop`: Apple M4
+
+Measured 2026-11-07 at [`93f91f48`](https://github.com/moq-dev/rind/commit/93f91f48c9b742890a34bb3485071da6f2d241ab), on macOS 26.6.2 (25.6.0) with rustc 1.98.1 (48a229cea 2026-09-01).
+
+The maintainer's MacBook, in daily use. Its cores have DIT, which rind sets around each call that handles a secret and the other libraries never set; Known gaps gives its cost.
+
+
+
+
+
+
+
+Times on kixtop
+
+| Operation | rind | aws-lc-rs | ring | RustCrypto + dalek | graviola | libcrux | OpenSSL |
+|---|---|---|---|---|---|---|---|
+| full handshake, X25519MLKEM768 | 177.98 µs | 214.67 µs | - | - | 180.42 µs | - | 459.07 µs |
+| full handshake, X25519 | 155.39 µs | 184.86 µs | 184.65 µs | - | 159.19 µs | - | 374.65 µs |
+| full handshake, P-256 | 176.20 µs | 206.73 µs | 201.44 µs | - | 191.72 µs | - | 400.48 µs |
+| full handshake, Ed25519 certificate | 127.23 µs | 150.93 µs | 155.04 µs | - | 124.12 µs | - | 383.83 µs |
+| full handshake, RSA-2048 certificate | 371.35 µs | 406.71 µs | 446.94 µs | - | 683.15 µs | - | 643.30 µs |
+| resumed handshake, X25519 | 66.29 µs | 92.46 µs | 88.29 µs | - | 61.75 µs | - | 255.12 µs |
+| 1 MB transfer, AES-128-GCM | 308.57 µs | 310.78 µs | 372.59 µs | - | 327.11 µs | - | 338.35 µs |
+| 1 MB transfer, AES-256-GCM | 343.96 µs | 341.91 µs | 380.26 µs | - | 397.41 µs | - | 371.49 µs |
+| 1 MB transfer, ChaCha20-Poly1305 | 1.12 ms | 1.12 ms | 1.11 ms | - | 1.79 ms | - | 1.11 ms |
+| AES-128-GCM seal, 32 B | 57 ns | 50 ns | 42 ns | 24 ns | 80 ns | 53 ns | 69 ns |
+| AES-128-GCM seal, 1350 B | 212 ns | 180 ns | 212 ns | 213 ns | 215 ns | 619 ns | 197 ns |
+| AES-128-GCM seal, 16 KB | 1.49 µs | 1.45 µs | 1.97 µs | 2.36 µs | 1.60 µs | 7.15 µs | 1.52 µs |
+| AES-128-GCM open, 32 B | 47 ns | 47 ns | 39 ns | 28 ns | 85 ns | 64 ns | 65 ns |
+| AES-128-GCM open, 1350 B | 214 ns | 193 ns | 247 ns | 237 ns | 226 ns | 647 ns | 199 ns |
+| AES-128-GCM open, 16 KB | 1.61 µs | 1.57 µs | 2.18 µs | 2.46 µs | 1.71 µs | 6.97 µs | 1.66 µs |
+| AES-256-GCM seal, 32 B | 61 ns | 54 ns | 45 ns | 25 ns | 79 ns | 53 ns | 67 ns |
+| AES-256-GCM seal, 1350 B | 237 ns | 205 ns | 220 ns | 246 ns | 262 ns | 650 ns | 222 ns |
+| AES-256-GCM seal, 16 KB | 1.75 µs | 1.72 µs | 2.04 µs | 2.72 µs | 2.16 µs | 7.20 µs | 1.79 µs |
+| AES-256-GCM open, 32 B | 49 ns | 49 ns | 40 ns | 41 ns | 85 ns | 67 ns | 68 ns |
+| AES-256-GCM open, 1350 B | 233 ns | 218 ns | 252 ns | 267 ns | 263 ns | 674 ns | 225 ns |
+| AES-256-GCM open, 16 KB | 1.86 µs | 1.83 µs | 2.25 µs | 2.89 µs | 2.18 µs | 7.35 µs | 1.94 µs |
+| ChaCha20-Poly1305 seal, 32 B | 185 ns | 163 ns | 148 ns | 344 ns | 196 ns | 171 ns ✓ | 215 ns |
+| ChaCha20-Poly1305 seal, 1350 B | 792 ns | 771 ns | 755 ns | 1.78 µs | 1.25 µs | 1.98 µs ✓ | 842 ns |
+| ChaCha20-Poly1305 seal, 16 KB | 7.70 µs | 7.65 µs | 7.67 µs | 15.21 µs | 12.85 µs | 22.07 µs ✓ | 7.45 µs |
+| XChaCha20-Poly1305 seal, 32 B | 1.19 µs | 943 ns | - | 1.53 µs | 1.11 µs | 1.11 µs | - |
+| XChaCha20-Poly1305 seal, 1350 B | 2.02 µs | 1.89 µs | - | 3.19 µs | 2.85 µs | 3.80 µs | - |
+| XChaCha20-Poly1305 seal, 16 KB | 11.36 µs | 11.43 µs | - | 22.76 µs | 19.24 µs | 34.20 µs | - |
+| AES-128 header protection | 35 ns | 3 ns | 3 ns | - | - | - | - |
+| AES-256 header protection | 38 ns | 3 ns | 4 ns | - | - | - | - |
+| ChaCha20 header protection | 89 ns ✓ | 73 ns | 68 ns | - | - | - | - |
+| X25519 | 16.71 µs ✓ | 17.85 µs | 24.48 µs | 29.71 µs | 17.74 µs | 37.77 µs ✓ | 35.77 µs |
+| P-256 ECDH | 26.27 µs ✓ | 28.51 µs | 32.31 µs | 180.62 µs | 31.56 µs | 183.72 µs ✓ | 49.96 µs |
+| Ed25519 sign | 3.95 µs | 4.06 µs | 7.07 µs | 8.66 µs | 4.17 µs | 22.12 µs ✓ | 16.42 µs |
+| Ed25519 verify | 18.66 µs | 18.52 µs | 19.94 µs | 18.42 µs | 18.69 µs | 29.57 µs ✓ | 41.08 µs |
+| P-256 ECDSA sign | 7.11 µs ✓ | 11.27 µs | 11.01 µs | 44.33 µs | 8.83 µs | 67.38 µs ✓ | 12.62 µs |
+| P-256 ECDSA verify | 27.15 µs ✓ | 27.15 µs | 29.35 µs | 157.87 µs | 28.60 µs | 156.54 µs ✓ | 41.90 µs |
+| SHA-256, 64 B | 93 ns | 71 ns | 45 ns | 37 ns | 36 ns | 232 ns ✓ | 162 ns |
+| SHA-256, 1350 B | 484 ns | 440 ns | 414 ns | 475 ns | 472 ns | 2.52 µs ✓ | 531 ns |
+| SHA-256, 16 KB | 4.94 µs | 4.87 µs | 4.90 µs | 5.69 µs | 5.76 µs | 29.13 µs ✓ | 5.17 µs |
+| SHA-512, 64 B | 113 ns | 108 ns | 88 ns | 79 ns | 177 ns | 141 ns ✓ | 211 ns |
+| SHA-512, 1350 B | 827 ns | 775 ns | 737 ns | 722 ns | 1.88 µs | 1.58 µs ✓ | 878 ns |
+| SHA-512, 16 KB | 8.77 µs | 8.70 µs | 8.69 µs | 8.50 µs | 22.11 µs | 18.41 µs ✓ | 8.88 µs |
+| HMAC-SHA256, 64 B | 191 ns | 248 ns | 137 ns | 102 ns | 115 ns | 568 ns ✓ | 2.06 µs |
+| HMAC-SHA256, 1350 B | 559 ns | 620 ns | 502 ns | 542 ns | 557 ns | 2.86 µs ✓ | 2.43 µs |
+| HKDF-SHA256 extract and expand | 343 ns | 330 ns | 274 ns | 218 ns | - | 942 ns ✓ | 2.14 µs |
+| HKDF-SHA256 expand | 109 ns | 154 ns | 94 ns | 70 ns | - | 481 ns ✓ | 1.54 µs |
+| RSA-2048 PKCS#1 sign | 275.12 µs | 285.95 µs | 322.84 µs | 586.34 µs | 556.70 µs | - | 341.31 µs |
+| RSA-2048 PKCS#1 verify | 8.38 µs | 9.48 µs | 11.05 µs | 30.77 µs | 18.51 µs | - | 16.66 µs |
+| RSA-2048 PSS sign | 275.29 µs | 288.58 µs | 324.86 µs | 588.38 µs | 558.57 µs | 4.48 ms ✓ | 342.61 µs |
+| RSA-2048 PSS verify | 8.71 µs | 9.84 µs | 11.48 µs | 39.26 µs | 18.79 µs | 299.96 µs ✓ | 17.44 µs |
+| ML-KEM-768 key generation | 6.20 µs | 7.46 µs | - | 26.57 µs | 6.22 µs | 12.01 µs | 25.06 µs |
+| ML-KEM-768 encapsulate | 6.84 µs | 8.01 µs | - | 27.77 µs | 6.40 µs | 9.39 µs | 24.07 µs |
+| ML-KEM-768 decapsulate | 4.17 µs | 7.75 µs | - | 34.06 µs | 4.05 µs | 9.58 µs | 24.43 µs |
+| P-384 ECDH | 91.49 µs | 105.75 µs | 412.48 µs | 494.20 µs | 153.84 µs | - | 279.51 µs |
+| P-384 ECDSA sign | 22.93 µs | 49.16 µs | 223.72 µs | 112.64 µs | 81.12 µs | - | 104.84 µs |
+| P-384 ECDSA verify | 88.12 µs | 111.27 µs | 396.57 µs | 426.43 µs | 151.78 µs | - | 238.33 µs |
+| P-521 ECDH | 130.92 µs | 143.20 µs | - | 397.10 µs | - | - | 247.22 µs |
+| P-521 ECDSA sign | 36.32 µs | 84.33 µs | - | 79.73 µs | - | - | 132.13 µs |
+| P-521 ECDSA verify | 121.06 µs | 167.21 µs | - | 253.06 µs | - | - | 254.80 µs |
+
+
+
### `ovh-iad`: Intel Core Processor (Haswell, no TSX)
Measured 2026-11-06 at [`6b185382`](https://github.com/moq-dev/rind/commit/6b185382a621d6ffe630db4118adc464bc4d158a), on NixOS 26.11 (Zokor) (Linux 6.18.40) with rustc 1.98.1 (48a229cea 2026-09-01).
@@ -446,6 +523,10 @@ Measured 2026-11-06 at [`f95b91da`](https://github.com/moq-dev/rind/commit/f95b9
| rustls + aws-lc-rs | 36.6 (36.0 to 38.2) | 89 | 4.11 | cc | 20 |
| rustls + ring | 16.4 (16.2 to 16.4) | 31 | 1.94 | cc | 16 |
+### `kixtop`
+
+Not measured: error: host is busy (6.6 of 10 CPUs busy)
+
### `ovh-iad`
Measured 2026-11-06 at [`6b185382`](https://github.com/moq-dev/rind/commit/6b185382a621d6ffe630db4118adc464bc4d158a), with rustc 1.98.1 (48a229cea 2026-09-01), gcc (GCC) 16.2.0, and 4 jobs.
@@ -713,6 +794,8 @@ Each operation where another library is more than 10% faster than rind, on a hos
| Ed25519 sign | `ovh-iad` | 1.13× (aws-lc-rs) | Noise from the VPS's other tenants: `ovh-sea`, the same virtual CPU, measured 0.92× aws-lc-rs's time, and no dedicated host shows it. The next refresh rechecks it. |
| `p256-ecdsa-verify/*` | no ADX tier | 1.14× (aws-lc-rs) | CPUs older than Broadwell and Zen lack ADX, and so do virtual CPUs that hide it, as `ovh-iad`'s and `ovh-sea`'s do. There rind runs s2n-bignum's verified `_alt` routines, which trail by more than 10% only on the nightly runners: on the VPSes P-256 verification measured 1.05× aws-lc-rs's time. |
| `chacha20poly1305/*/16KB`, `xchacha20poly1305/*/16KB` | no AES-NI tier | 1.17× (aws-lc-rs) | Without SSE4.1 rind runs Graviola's scalar Poly1305 rather than port BoringSSL's SSE2 `poly1305_vec.c` for CPUs older than Westmere, as ALGORITHMS.md records. |
+| AES-128-GCM seal, 32 B, AES-128-GCM seal, 1350 B, AES-128-GCM open, 32 B, AES-128-GCM open, 1350 B, AES-256-GCM seal, 32 B, AES-256-GCM seal, 1350 B, AES-256-GCM open, 32 B, ChaCha20-Poly1305 seal, 32 B, AES-128 header protection, AES-256 header protection, ChaCha20 header protection, SHA-256, 64 B, SHA-256, 1350 B, SHA-512, 64 B, SHA-512, 1350 B, HMAC-SHA256, 64 B, HMAC-SHA256, 1350 B, HKDF-SHA256 extract and expand, HKDF-SHA256 expand | `kixtop` | 1.11× to 12.62× (RustCrypto + dalek, aws-lc-rs, graviola, ring) | DIT: the M4 has it, and rind turns it on and off around every call that handles a secret, which costs about 35 to 55 ns a call there; the other libraries never set it. Keeping it per call was decided with the maintainer from [#387](https://github.com/moq-dev/rind/pull/387)'s findings, and `rind::cpu::Dit::hold()` ([#431](https://github.com/moq-dev/rind/pull/431)) pays it once across a batch of calls. With DIT denied (`--cfg rind_cpu_disable` and `RIND_CPU_DISABLE_dit`), the same commit measured each of these within 10% of the fastest library but AES header protection (1.2× aws-lc-rs's 2.9 ns) and HMAC-SHA-256 at 64 B (1.15× RustCrypto's 101 ns). |
+| XChaCha20-Poly1305 seal, 32 B | `kixtop` | 1.26× (aws-lc-rs) | Noise: a rerun of the row on the same commit measured 1.04× aws-lc-rs's time, as did the run before this one, on a commit that changed only x86_64 code. The next refresh rechecks it. |
## Verified code
diff --git a/README.md b/README.md
index 76c71f1c6..40b05a0e2 100644
--- a/README.md
+++ b/README.md
@@ -19,8 +19,10 @@
- **As fast as aws-lc-rs and ring.** rind matches or beats both on nearly
every operation TLS and QUIC run, from the handshake to each packet's
AEAD. Where another library is ahead, as ring and aws-lc-rs are at
- RSA-2048 signing on x86_64, [Known gaps][gaps] says so, with the quest that
- closes the gap or the reason it stays.
+ RSA-2048 signing on x86_64, and aws-lc-rs is at AES-GCM and short messages
+ on Apple silicon, where rind alone sets DIT around each call,
+ [Known gaps][gaps] says so, with the quest that closes the gap or the
+ reason it stays.
diff --git a/admin/bench-report b/admin/bench-report
index a12621888..487331365 100755
--- a/admin/bench-report
+++ b/admin/bench-report
@@ -62,7 +62,11 @@ HOSTS = {
"nixos": {"jobs": 16},
"desktop": {"jobs": 12},
"nixos2": {"jobs": 3},
- "kixtop": {"jobs": 4},
+ "kixtop": {
+ "jobs": 4,
+ "note": "The maintainer's MacBook, in daily use. Its cores have DIT, which rind sets around each call "
+ "that handles a secret and the other libraries never set; Known gaps gives its cost.",
+ },
"ovh-iad": {
"jobs": 4,
"ssh": "root@vps-bcb7229a.vps.ovh.us",
@@ -1486,7 +1490,7 @@ def report(hosts, tiers, verified, gaps):
if missing:
md += [f"Not measured yet: {', '.join(missing)}.", ""]
md += [
- "Each host builds with the pinned toolchain, in the Nix dev shell on Linux, and runs "
+ "Each host builds with the pinned toolchain in the Nix dev shell, and runs "
"`admin/bench-report` only when idle. Times are criterion's estimates.",
"",
]
diff --git a/benchmarks/data/kixtop.json b/benchmarks/data/kixtop.json
new file mode 100644
index 000000000..231b72505
--- /dev/null
+++ b/benchmarks/data/kixtop.json
@@ -0,0 +1,3991 @@
+{
+ "schema": 1,
+ "host": "kixtop",
+ "commit": "93f91f48c9b742890a34bb3485071da6f2d241ab",
+ "started": "2026-11-07T02:52:36+00:00",
+ "cpu": {
+ "model": "Apple M4",
+ "arch": "arm64",
+ "logical_cpus": 10
+ },
+ "os": "macOS 26.6.2 (25.6.0)",
+ "toolchain": {
+ "rustc": "rustc 1.98.1 (48a229cea 2026-09-01)",
+ "cargo": "cargo 1.98.1 (797e8a9bc 2026-08-05)"
+ },
+ "libraries": {
+ "rind": {
+ "rind": "0.2.0",
+ "rind-rustls": "0.2.0"
+ },
+ "aws-lc-rs": {
+ "aws-lc-rs": "1.19.0",
+ "aws-lc-sys": "0.47.0"
+ },
+ "ring": {
+ "ring": "0.17.14"
+ },
+ "rustcrypto": {
+ "aes-gcm": "0.11.1",
+ "chacha20poly1305": "0.11.0",
+ "sha2": "0.11.1",
+ "sha3": "0.12.0",
+ "hmac": "0.13.0",
+ "hkdf": "0.13.0",
+ "p256": "0.14.0",
+ "p384": "0.14.0",
+ "p521": "0.14.0",
+ "rsa": "0.10.0-rc.19",
+ "ml-kem": "0.3.4",
+ "ed25519-dalek": "3.0.0",
+ "x25519-dalek": "3.0.0"
+ },
+ "graviola": {
+ "graviola": "0.4.4",
+ "rustls-graviola": "0.4.0"
+ },
+ "libcrux": {
+ "libcrux-aes": "0.0.10",
+ "libcrux-chacha20poly1305": "0.0.10",
+ "libcrux-ecdh": "0.0.9",
+ "libcrux-ecdsa": "0.0.9",
+ "libcrux-ed25519": "0.0.10",
+ "libcrux-hkdf": "0.0.9",
+ "libcrux-hmac": "0.0.9",
+ "libcrux-ml-kem": "0.0.11",
+ "libcrux-rsa": "0.0.9",
+ "libcrux-sha2": "0.0.9",
+ "libcrux-sha3": "0.0.11"
+ },
+ "openssl": {
+ "openssl": "0.10.82",
+ "openssl-sys": "0.9.118",
+ "rustls-openssl": "0.4.2",
+ "linked": "OpenSSL 3.5.9 29 Sep 2026 (Library: OpenSSL 3.5.9 29 Sep 2026)"
+ },
+ "tls": {
+ "rustls": "0.23.46"
+ }
+ },
+ "rind_cpu": {
+ "cpuid": {
+ "aes": 1,
+ "dit": 1,
+ "neon": 1,
+ "pmull": 1,
+ "sha2": 1,
+ "sha3": 1
+ },
+ "compatible": 1
+ },
+ "refused": {},
+ "status": "ok",
+ "finished": "2026-11-07T03:24:20+00:00",
+ "criterion_args": [
+ "--noplot",
+ "--warm-up-time",
+ "1",
+ "--measurement-time",
+ "3",
+ "^(rustls\\-full\\-handshake\\-group/x25519mlkem768/[^/]+|rustls\\-full\\-handshake\\-group/x25519/[^/]+|rustls\\-full\\-handshake\\-group/secp256r1/[^/]+|rustls\\-full\\-handshake\\-key/ed25519/[^/]+|rustls\\-full\\-handshake\\-key/rsa\\-2048/[^/]+|rustls\\-resumed\\-handshake/x25519/[^/]+|rustls\\-bulk/aes128\\-gcm/[^/]+|rustls\\-bulk/aes256\\-gcm/[^/]+|rustls\\-bulk/chacha20poly1305/[^/]+|aes128\\-gcm/[^/]+/32B|aes128\\-gcm/[^/]+/1350B|aes128\\-gcm/[^/]+/16KB|aes128\\-gcm\\-open/[^/]+/32B|aes128\\-gcm\\-open/[^/]+/1350B|aes128\\-gcm\\-open/[^/]+/16KB|aes256\\-gcm/[^/]+/32B|aes256\\-gcm/[^/]+/1350B|aes256\\-gcm/[^/]+/16KB|aes256\\-gcm\\-open/[^/]+/32B|aes256\\-gcm\\-open/[^/]+/1350B|aes256\\-gcm\\-open/[^/]+/16KB|chacha20poly1305/[^/]+/32B|chacha20poly1305/[^/]+/1350B|chacha20poly1305/[^/]+/16KB|xchacha20poly1305/[^/]+/32B|xchacha20poly1305/[^/]+/1350B|xchacha20poly1305/[^/]+/16KB|quic\\-header\\-protection/aes128/[^/]+|quic\\-header\\-protection/aes256/[^/]+|quic\\-header\\-protection/chacha20/[^/]+|x25519\\-ecdh/[^/]+|p256\\-ecdh/[^/]+|ed25519\\-sign/[^/]+|ed25519\\-verify/[^/]+|p256\\-ecdsa\\-sign/[^/]+|p256\\-ecdsa\\-verify/[^/]+|sha256/[^/]+/64B|sha256/[^/]+/1350B|sha256/[^/]+/16KB|sha512/[^/]+/64B|sha512/[^/]+/1350B|sha512/[^/]+/16KB|hmac\\-sha256/[^/]+/64B|hmac\\-sha256/[^/]+/1350B|hkdf\\-sha256/extract\\-expand/[^/]+|hkdf\\-sha256/expand/[^/]+|rsa2048\\-pkcs1\\-sha256\\-sign/[^/]+|rsa2048\\-pkcs1\\-sha256\\-verify/[^/]+|rsa2048\\-pss\\-sha256\\-sign/[^/]+|rsa2048\\-pss\\-sha256\\-verify/[^/]+|mlkem768\\-keygen/[^/]+|mlkem768\\-encaps/[^/]+|mlkem768\\-decaps/[^/]+|p384\\-ecdh/[^/]+|p384\\-ecdsa\\-sign/[^/]+|p384\\-ecdsa\\-verify/[^/]+|p521\\-ecdh/[^/]+|p521\\-ecdsa\\-sign/[^/]+|p521\\-ecdsa\\-verify/[^/]+)$"
+ ],
+ "load": {
+ "limit_cpus": 1.0,
+ "busy_cpus_before_build": 0.51,
+ "busy_cpus_before_run": 0.51,
+ "other_busy_cpus_during_run": 0.68,
+ "noisy": false
+ },
+ "results": [
+ {
+ "operation": "rustls-full-handshake-group/x25519mlkem768/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-full-handshake-group/x25519mlkem768/aws-lc-rs",
+ "ns": 214670.70124230333,
+ "ns_low": 212734.53389792985,
+ "ns_high": 217363.39585806534,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519mlkem768/{lib}",
+ "library": "graviola",
+ "id": "rustls-full-handshake-group/x25519mlkem768/graviola",
+ "ns": 180421.9094790897,
+ "ns_low": 179436.06487298128,
+ "ns_high": 182141.3505800823,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519mlkem768/{lib}",
+ "library": "openssl",
+ "id": "rustls-full-handshake-group/x25519mlkem768/openssl",
+ "ns": 459074.77035170683,
+ "ns_low": 456710.50876807765,
+ "ns_high": 461767.6304588975,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519mlkem768/{lib}",
+ "library": "rind",
+ "id": "rustls-full-handshake-group/x25519mlkem768/rind",
+ "ns": 177977.065110832,
+ "ns_low": 177396.16542958558,
+ "ns_high": 178550.14238776732,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-full-handshake-group/x25519/aws-lc-rs",
+ "ns": 184860.00728609427,
+ "ns_low": 184355.25178620394,
+ "ns_high": 185416.11138546062,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519/{lib}",
+ "library": "graviola",
+ "id": "rustls-full-handshake-group/x25519/graviola",
+ "ns": 159186.6617245456,
+ "ns_low": 158746.9183107693,
+ "ns_high": 159692.74606348772,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519/{lib}",
+ "library": "openssl",
+ "id": "rustls-full-handshake-group/x25519/openssl",
+ "ns": 374649.39355992316,
+ "ns_low": 373360.9369508007,
+ "ns_high": 375967.7128768089,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519/{lib}",
+ "library": "rind",
+ "id": "rustls-full-handshake-group/x25519/rind",
+ "ns": 155391.24526969114,
+ "ns_low": 154913.44763054716,
+ "ns_high": 155862.12893543203,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/x25519/{lib}",
+ "library": "ring",
+ "id": "rustls-full-handshake-group/x25519/ring",
+ "ns": 184645.65049431063,
+ "ns_low": 184233.04996071558,
+ "ns_high": 185123.89009077605,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/secp256r1/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-full-handshake-group/secp256r1/aws-lc-rs",
+ "ns": 206726.95669572928,
+ "ns_low": 206075.518870867,
+ "ns_high": 207470.49302057715,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/secp256r1/{lib}",
+ "library": "graviola",
+ "id": "rustls-full-handshake-group/secp256r1/graviola",
+ "ns": 191723.06850746268,
+ "ns_low": 190605.18326785727,
+ "ns_high": 193280.63906046774,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/secp256r1/{lib}",
+ "library": "openssl",
+ "id": "rustls-full-handshake-group/secp256r1/openssl",
+ "ns": 400477.21395152947,
+ "ns_low": 399156.9983847531,
+ "ns_high": 401900.89742650534,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/secp256r1/{lib}",
+ "library": "rind",
+ "id": "rustls-full-handshake-group/secp256r1/rind",
+ "ns": 176204.12778927147,
+ "ns_low": 175582.40596241513,
+ "ns_high": 176808.97963948932,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-group/secp256r1/{lib}",
+ "library": "ring",
+ "id": "rustls-full-handshake-group/secp256r1/ring",
+ "ns": 201438.41722969312,
+ "ns_low": 200189.0241699,
+ "ns_high": 203480.72583577718,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/ed25519/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-full-handshake-key/ed25519/aws-lc-rs",
+ "ns": 150928.2760928033,
+ "ns_low": 150462.4736171076,
+ "ns_high": 151473.9308306628,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/ed25519/{lib}",
+ "library": "graviola",
+ "id": "rustls-full-handshake-key/ed25519/graviola",
+ "ns": 124116.8585854884,
+ "ns_low": 123264.49992247345,
+ "ns_high": 125502.66912186865,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/ed25519/{lib}",
+ "library": "openssl",
+ "id": "rustls-full-handshake-key/ed25519/openssl",
+ "ns": 383827.4255356879,
+ "ns_low": 382442.6100015725,
+ "ns_high": 385346.5484152613,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/ed25519/{lib}",
+ "library": "rind",
+ "id": "rustls-full-handshake-key/ed25519/rind",
+ "ns": 127231.658463721,
+ "ns_low": 126632.7262351605,
+ "ns_high": 127956.81766263032,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/ed25519/{lib}",
+ "library": "ring",
+ "id": "rustls-full-handshake-key/ed25519/ring",
+ "ns": 155037.62873651544,
+ "ns_low": 154404.35186733434,
+ "ns_high": 155890.27157268068,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/rsa-2048/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-full-handshake-key/rsa-2048/aws-lc-rs",
+ "ns": 406706.82046844985,
+ "ns_low": 405513.91412015224,
+ "ns_high": 408108.8574283564,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/rsa-2048/{lib}",
+ "library": "graviola",
+ "id": "rustls-full-handshake-key/rsa-2048/graviola",
+ "ns": 683150.6391990542,
+ "ns_low": 678767.0931289573,
+ "ns_high": 689638.8631377588,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/rsa-2048/{lib}",
+ "library": "openssl",
+ "id": "rustls-full-handshake-key/rsa-2048/openssl",
+ "ns": 643300.1733293927,
+ "ns_low": 641098.8793215863,
+ "ns_high": 645786.6465499077,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/rsa-2048/{lib}",
+ "library": "rind",
+ "id": "rustls-full-handshake-key/rsa-2048/rind",
+ "ns": 371347.6830737402,
+ "ns_low": 370244.45707218174,
+ "ns_high": 372540.66086443426,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-full-handshake-key/rsa-2048/{lib}",
+ "library": "ring",
+ "id": "rustls-full-handshake-key/rsa-2048/ring",
+ "ns": 446944.1473666322,
+ "ns_low": 444562.3602969627,
+ "ns_high": 450852.9355564261,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-resumed-handshake/x25519/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-resumed-handshake/x25519/aws-lc-rs",
+ "ns": 92464.03515168148,
+ "ns_low": 91918.9935288164,
+ "ns_high": 93037.01937360466,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-resumed-handshake/x25519/{lib}",
+ "library": "graviola",
+ "id": "rustls-resumed-handshake/x25519/graviola",
+ "ns": 61745.54290025122,
+ "ns_low": 61575.55566010297,
+ "ns_high": 61927.65347093232,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-resumed-handshake/x25519/{lib}",
+ "library": "openssl",
+ "id": "rustls-resumed-handshake/x25519/openssl",
+ "ns": 255116.20131225063,
+ "ns_low": 254226.95012841083,
+ "ns_high": 255982.13796536296,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-resumed-handshake/x25519/{lib}",
+ "library": "rind",
+ "id": "rustls-resumed-handshake/x25519/rind",
+ "ns": 66291.9701870187,
+ "ns_low": 65917.15457747292,
+ "ns_high": 66698.88959008608,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-resumed-handshake/x25519/{lib}",
+ "library": "ring",
+ "id": "rustls-resumed-handshake/x25519/ring",
+ "ns": 88286.06266376744,
+ "ns_low": 87572.68998420854,
+ "ns_high": 89325.87477820979,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes128-gcm/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-bulk/aes128-gcm/aws-lc-rs",
+ "ns": 310775.0835436678,
+ "ns_low": 309355.40389215644,
+ "ns_high": 312358.3113820762,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes128-gcm/{lib}",
+ "library": "graviola",
+ "id": "rustls-bulk/aes128-gcm/graviola",
+ "ns": 327108.56207773014,
+ "ns_low": 325378.0377545567,
+ "ns_high": 329298.6325039636,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes128-gcm/{lib}",
+ "library": "openssl",
+ "id": "rustls-bulk/aes128-gcm/openssl",
+ "ns": 338345.2325683464,
+ "ns_low": 336635.71174632385,
+ "ns_high": 340434.94974932907,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes128-gcm/{lib}",
+ "library": "rind",
+ "id": "rustls-bulk/aes128-gcm/rind",
+ "ns": 308566.37457957736,
+ "ns_low": 307691.1531382107,
+ "ns_high": 309563.35437925323,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes128-gcm/{lib}",
+ "library": "ring",
+ "id": "rustls-bulk/aes128-gcm/ring",
+ "ns": 372585.1681690557,
+ "ns_low": 368853.4138997409,
+ "ns_high": 378195.77252326213,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes256-gcm/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-bulk/aes256-gcm/aws-lc-rs",
+ "ns": 341913.4178395153,
+ "ns_low": 340195.9940562084,
+ "ns_high": 343976.91465869854,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes256-gcm/{lib}",
+ "library": "graviola",
+ "id": "rustls-bulk/aes256-gcm/graviola",
+ "ns": 397408.6469395596,
+ "ns_low": 395530.58668117865,
+ "ns_high": 399629.58577679074,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes256-gcm/{lib}",
+ "library": "openssl",
+ "id": "rustls-bulk/aes256-gcm/openssl",
+ "ns": 371492.9850938377,
+ "ns_low": 369658.03424764593,
+ "ns_high": 374302.5408522081,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes256-gcm/{lib}",
+ "library": "rind",
+ "id": "rustls-bulk/aes256-gcm/rind",
+ "ns": 343959.3999689671,
+ "ns_low": 342369.0632123827,
+ "ns_high": 345616.5106875045,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/aes256-gcm/{lib}",
+ "library": "ring",
+ "id": "rustls-bulk/aes256-gcm/ring",
+ "ns": 380259.3430560071,
+ "ns_low": 378894.9166728107,
+ "ns_high": 381808.6125906871,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/chacha20poly1305/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rustls-bulk/chacha20poly1305/aws-lc-rs",
+ "ns": 1117461.8769203487,
+ "ns_low": 1110078.8438208462,
+ "ns_high": 1127578.9012635201,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/chacha20poly1305/{lib}",
+ "library": "graviola",
+ "id": "rustls-bulk/chacha20poly1305/graviola",
+ "ns": 1790665.0511764705,
+ "ns_low": 1779622.3262058822,
+ "ns_high": 1805310.1971764704,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/chacha20poly1305/{lib}",
+ "library": "openssl",
+ "id": "rustls-bulk/chacha20poly1305/openssl",
+ "ns": 1106168.757029703,
+ "ns_low": 1102261.4972604944,
+ "ns_high": 1110399.5328705583,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/chacha20poly1305/{lib}",
+ "library": "rind",
+ "id": "rustls-bulk/chacha20poly1305/rind",
+ "ns": 1117213.9074981527,
+ "ns_low": 1112565.8847098371,
+ "ns_high": 1122326.4123632284,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "rustls-bulk/chacha20poly1305/{lib}",
+ "library": "ring",
+ "id": "rustls-bulk/chacha20poly1305/ring",
+ "ns": 1114476.349717748,
+ "ns_low": 1110091.8214222197,
+ "ns_high": 1119410.8848856308,
+ "throughput": {
+ "Bytes": 1048576
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/32B",
+ "library": "aws-lc-rs",
+ "id": "aes128-gcm/aws-lc-rs/32B",
+ "ns": 49.752491058825754,
+ "ns_low": 49.40787443745903,
+ "ns_high": 50.11237918351562,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/32B",
+ "library": "graviola",
+ "id": "aes128-gcm/graviola/32B",
+ "ns": 79.86419301681406,
+ "ns_low": 79.14707386307197,
+ "ns_high": 80.87819369823305,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/32B",
+ "library": "libcrux",
+ "id": "aes128-gcm/libcrux/32B",
+ "ns": 52.7669670136078,
+ "ns_low": 52.479199359666225,
+ "ns_high": 53.108609625080035,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/32B",
+ "library": "openssl",
+ "id": "aes128-gcm/openssl/32B",
+ "ns": 68.89243369901709,
+ "ns_low": 67.46442141219333,
+ "ns_high": 70.80404554644977,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/32B",
+ "library": "rind",
+ "id": "aes128-gcm/rind/32B",
+ "ns": 56.79981342983798,
+ "ns_low": 56.53159631839321,
+ "ns_high": 57.10649184778805,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/32B",
+ "library": "ring",
+ "id": "aes128-gcm/ring/32B",
+ "ns": 41.86707629331381,
+ "ns_low": 41.7661558884458,
+ "ns_high": 41.98272897276245,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/32B",
+ "library": "rustcrypto",
+ "id": "aes128-gcm/rustcrypto/32B",
+ "ns": 23.694000865523126,
+ "ns_low": 23.631690976704107,
+ "ns_high": 23.765213103922765,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "aes128-gcm/aws-lc-rs/1350B",
+ "ns": 180.05605907344466,
+ "ns_low": 179.32516371733982,
+ "ns_high": 180.73108775943703,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/1350B",
+ "library": "graviola",
+ "id": "aes128-gcm/graviola/1350B",
+ "ns": 215.17983429073715,
+ "ns_low": 214.55769102876548,
+ "ns_high": 215.84500149959814,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/1350B",
+ "library": "libcrux",
+ "id": "aes128-gcm/libcrux/1350B",
+ "ns": 619.2008113515918,
+ "ns_low": 615.8323107748063,
+ "ns_high": 622.7250954590972,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/1350B",
+ "library": "openssl",
+ "id": "aes128-gcm/openssl/1350B",
+ "ns": 197.02904676373842,
+ "ns_low": 196.31032335916984,
+ "ns_high": 197.84240573017374,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/1350B",
+ "library": "rind",
+ "id": "aes128-gcm/rind/1350B",
+ "ns": 211.61339714610597,
+ "ns_low": 211.07463150401702,
+ "ns_high": 212.15265995010242,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/1350B",
+ "library": "ring",
+ "id": "aes128-gcm/ring/1350B",
+ "ns": 211.93856436831143,
+ "ns_low": 210.65624543290076,
+ "ns_high": 213.53490904464246,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "aes128-gcm/rustcrypto/1350B",
+ "ns": 213.2295573593783,
+ "ns_low": 212.76491051300707,
+ "ns_high": 213.79921008217724,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "aes128-gcm/aws-lc-rs/16KB",
+ "ns": 1453.7599790465838,
+ "ns_low": 1446.0272270194494,
+ "ns_high": 1465.0639355138258,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/16KB",
+ "library": "graviola",
+ "id": "aes128-gcm/graviola/16KB",
+ "ns": 1599.8308109527695,
+ "ns_low": 1595.2842972278127,
+ "ns_high": 1604.5657889615536,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/16KB",
+ "library": "libcrux",
+ "id": "aes128-gcm/libcrux/16KB",
+ "ns": 7146.175328203396,
+ "ns_low": 7065.851164961102,
+ "ns_high": 7259.192890534237,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/16KB",
+ "library": "openssl",
+ "id": "aes128-gcm/openssl/16KB",
+ "ns": 1516.3662623083812,
+ "ns_low": 1512.7069457943824,
+ "ns_high": 1520.440330310697,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/16KB",
+ "library": "rind",
+ "id": "aes128-gcm/rind/16KB",
+ "ns": 1492.620335676252,
+ "ns_low": 1490.1085221676663,
+ "ns_high": 1495.714219846836,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/16KB",
+ "library": "ring",
+ "id": "aes128-gcm/ring/16KB",
+ "ns": 1966.1870751526164,
+ "ns_low": 1956.8525402806229,
+ "ns_high": 1976.7120596230975,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "aes128-gcm/rustcrypto/16KB",
+ "ns": 2361.1127429031026,
+ "ns_low": 2339.6888776777355,
+ "ns_high": 2393.68806953613,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/32B",
+ "library": "aws-lc-rs",
+ "id": "aes128-gcm-open/aws-lc-rs/32B",
+ "ns": 47.160351043867756,
+ "ns_low": 46.53453281600477,
+ "ns_high": 47.9948695157278,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/32B",
+ "library": "graviola",
+ "id": "aes128-gcm-open/graviola/32B",
+ "ns": 84.8415395683634,
+ "ns_low": 84.56979887993288,
+ "ns_high": 85.10201922112563,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/32B",
+ "library": "libcrux",
+ "id": "aes128-gcm-open/libcrux/32B",
+ "ns": 63.57760146858742,
+ "ns_low": 63.28163260983879,
+ "ns_high": 63.90363650274374,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/32B",
+ "library": "openssl",
+ "id": "aes128-gcm-open/openssl/32B",
+ "ns": 65.41951379086953,
+ "ns_low": 65.16798086140334,
+ "ns_high": 65.68159117426107,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/32B",
+ "library": "rind",
+ "id": "aes128-gcm-open/rind/32B",
+ "ns": 47.28415879333341,
+ "ns_low": 47.072135238829595,
+ "ns_high": 47.538082893075696,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/32B",
+ "library": "ring",
+ "id": "aes128-gcm-open/ring/32B",
+ "ns": 39.30862404832825,
+ "ns_low": 39.133619113582064,
+ "ns_high": 39.484999243610396,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/32B",
+ "library": "rustcrypto",
+ "id": "aes128-gcm-open/rustcrypto/32B",
+ "ns": 27.695461550498976,
+ "ns_low": 27.44200537365188,
+ "ns_high": 28.128300468865426,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "aes128-gcm-open/aws-lc-rs/1350B",
+ "ns": 192.89812590225839,
+ "ns_low": 192.24181327085037,
+ "ns_high": 193.70524644989098,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/1350B",
+ "library": "graviola",
+ "id": "aes128-gcm-open/graviola/1350B",
+ "ns": 225.98569034369228,
+ "ns_low": 225.23339410601955,
+ "ns_high": 227.0473031861718,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/1350B",
+ "library": "libcrux",
+ "id": "aes128-gcm-open/libcrux/1350B",
+ "ns": 647.0519700374145,
+ "ns_low": 638.4202385557528,
+ "ns_high": 661.078828197932,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/1350B",
+ "library": "openssl",
+ "id": "aes128-gcm-open/openssl/1350B",
+ "ns": 198.6049704634742,
+ "ns_low": 197.66763347184283,
+ "ns_high": 199.64412161353175,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/1350B",
+ "library": "rind",
+ "id": "aes128-gcm-open/rind/1350B",
+ "ns": 213.99268724022429,
+ "ns_low": 212.81094726297584,
+ "ns_high": 215.59053534696707,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/1350B",
+ "library": "ring",
+ "id": "aes128-gcm-open/ring/1350B",
+ "ns": 246.64884894041074,
+ "ns_low": 245.45782975859797,
+ "ns_high": 248.23214710871738,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "aes128-gcm-open/rustcrypto/1350B",
+ "ns": 237.0192313679129,
+ "ns_low": 233.57326752782674,
+ "ns_high": 242.81705405985684,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "aes128-gcm-open/aws-lc-rs/16KB",
+ "ns": 1571.7503575433755,
+ "ns_low": 1568.2571997887076,
+ "ns_high": 1575.9505510008782,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/16KB",
+ "library": "graviola",
+ "id": "aes128-gcm-open/graviola/16KB",
+ "ns": 1706.639684318344,
+ "ns_low": 1697.9354538983584,
+ "ns_high": 1718.8901827891336,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/16KB",
+ "library": "libcrux",
+ "id": "aes128-gcm-open/libcrux/16KB",
+ "ns": 6974.73252357896,
+ "ns_low": 6941.209158798741,
+ "ns_high": 7008.907930653137,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/16KB",
+ "library": "openssl",
+ "id": "aes128-gcm-open/openssl/16KB",
+ "ns": 1661.1711458696207,
+ "ns_low": 1653.3933358345032,
+ "ns_high": 1672.2422034300425,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/16KB",
+ "library": "rind",
+ "id": "aes128-gcm-open/rind/16KB",
+ "ns": 1605.32326072818,
+ "ns_low": 1582.8704104652277,
+ "ns_high": 1649.1551702529205,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/16KB",
+ "library": "ring",
+ "id": "aes128-gcm-open/ring/16KB",
+ "ns": 2178.062625057461,
+ "ns_low": 2171.14108188634,
+ "ns_high": 2184.8545614870036,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes128-gcm-open/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "aes128-gcm-open/rustcrypto/16KB",
+ "ns": 2460.4811221486993,
+ "ns_low": 2451.8852092158722,
+ "ns_high": 2470.8858849303756,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/32B",
+ "library": "aws-lc-rs",
+ "id": "aes256-gcm/aws-lc-rs/32B",
+ "ns": 53.961141826597405,
+ "ns_low": 53.567469025651945,
+ "ns_high": 54.36804342592058,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/32B",
+ "library": "graviola",
+ "id": "aes256-gcm/graviola/32B",
+ "ns": 78.93770185385497,
+ "ns_low": 78.53166441816059,
+ "ns_high": 79.37965021614696,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/32B",
+ "library": "libcrux",
+ "id": "aes256-gcm/libcrux/32B",
+ "ns": 53.3477545864119,
+ "ns_low": 52.97565178075652,
+ "ns_high": 53.909021415589564,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/32B",
+ "library": "openssl",
+ "id": "aes256-gcm/openssl/32B",
+ "ns": 67.49499495663419,
+ "ns_low": 66.65291416053101,
+ "ns_high": 68.85075385850372,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/32B",
+ "library": "rind",
+ "id": "aes256-gcm/rind/32B",
+ "ns": 60.57044534695226,
+ "ns_low": 60.359698755277385,
+ "ns_high": 60.83606432917204,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/32B",
+ "library": "ring",
+ "id": "aes256-gcm/ring/32B",
+ "ns": 45.23535057960282,
+ "ns_low": 44.64820652312105,
+ "ns_high": 46.13312914053249,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/32B",
+ "library": "rustcrypto",
+ "id": "aes256-gcm/rustcrypto/32B",
+ "ns": 24.79531539420785,
+ "ns_low": 24.60952177740821,
+ "ns_high": 25.00730494287996,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "aes256-gcm/aws-lc-rs/1350B",
+ "ns": 204.61603250071926,
+ "ns_low": 202.0211072758506,
+ "ns_high": 209.15067374147964,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/1350B",
+ "library": "graviola",
+ "id": "aes256-gcm/graviola/1350B",
+ "ns": 262.2793586458413,
+ "ns_low": 260.4394082181937,
+ "ns_high": 265.45177757910653,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/1350B",
+ "library": "libcrux",
+ "id": "aes256-gcm/libcrux/1350B",
+ "ns": 650.226496583791,
+ "ns_low": 642.5287491898015,
+ "ns_high": 659.7659404328737,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/1350B",
+ "library": "openssl",
+ "id": "aes256-gcm/openssl/1350B",
+ "ns": 221.6374042280511,
+ "ns_low": 219.60160611511267,
+ "ns_high": 224.68927199451645,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/1350B",
+ "library": "rind",
+ "id": "aes256-gcm/rind/1350B",
+ "ns": 236.91603802752581,
+ "ns_low": 236.16108750017008,
+ "ns_high": 237.67208841748123,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/1350B",
+ "library": "ring",
+ "id": "aes256-gcm/ring/1350B",
+ "ns": 219.60429992297867,
+ "ns_low": 218.5870730483345,
+ "ns_high": 220.5569257126271,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "aes256-gcm/rustcrypto/1350B",
+ "ns": 245.58690692521134,
+ "ns_low": 244.96524730071735,
+ "ns_high": 246.3379041832574,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "aes256-gcm/aws-lc-rs/16KB",
+ "ns": 1718.3689144309376,
+ "ns_low": 1707.6857450973853,
+ "ns_high": 1737.190104682408,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/16KB",
+ "library": "graviola",
+ "id": "aes256-gcm/graviola/16KB",
+ "ns": 2162.225192439244,
+ "ns_low": 2155.298096132623,
+ "ns_high": 2169.303902135473,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/16KB",
+ "library": "libcrux",
+ "id": "aes256-gcm/libcrux/16KB",
+ "ns": 7201.903871303152,
+ "ns_low": 7170.762973720663,
+ "ns_high": 7235.43614191704,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/16KB",
+ "library": "openssl",
+ "id": "aes256-gcm/openssl/16KB",
+ "ns": 1792.2607360386892,
+ "ns_low": 1773.4295183036807,
+ "ns_high": 1821.7433266518983,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/16KB",
+ "library": "rind",
+ "id": "aes256-gcm/rind/16KB",
+ "ns": 1746.183372561533,
+ "ns_low": 1741.3409231402904,
+ "ns_high": 1751.451577446347,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/16KB",
+ "library": "ring",
+ "id": "aes256-gcm/ring/16KB",
+ "ns": 2044.1494107651963,
+ "ns_low": 2037.2841570788319,
+ "ns_high": 2050.7608632997662,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "aes256-gcm/rustcrypto/16KB",
+ "ns": 2723.6037731720935,
+ "ns_low": 2715.0950210280303,
+ "ns_high": 2731.85150468369,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/32B",
+ "library": "aws-lc-rs",
+ "id": "aes256-gcm-open/aws-lc-rs/32B",
+ "ns": 49.009109932569025,
+ "ns_low": 48.28592287324862,
+ "ns_high": 49.76166410934057,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/32B",
+ "library": "graviola",
+ "id": "aes256-gcm-open/graviola/32B",
+ "ns": 85.1328870501833,
+ "ns_low": 84.78519223345278,
+ "ns_high": 85.51168750358875,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/32B",
+ "library": "libcrux",
+ "id": "aes256-gcm-open/libcrux/32B",
+ "ns": 66.70972567089404,
+ "ns_low": 66.28657754131919,
+ "ns_high": 67.3058309105358,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/32B",
+ "library": "openssl",
+ "id": "aes256-gcm-open/openssl/32B",
+ "ns": 67.52023526524894,
+ "ns_low": 67.15820833878212,
+ "ns_high": 67.87762387852909,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/32B",
+ "library": "rind",
+ "id": "aes256-gcm-open/rind/32B",
+ "ns": 48.93616947311986,
+ "ns_low": 48.79872889300323,
+ "ns_high": 49.06152391047,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/32B",
+ "library": "ring",
+ "id": "aes256-gcm-open/ring/32B",
+ "ns": 39.5669595271058,
+ "ns_low": 39.379875806742966,
+ "ns_high": 39.755857784868915,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/32B",
+ "library": "rustcrypto",
+ "id": "aes256-gcm-open/rustcrypto/32B",
+ "ns": 40.96368158039554,
+ "ns_low": 40.85379497797888,
+ "ns_high": 41.091008413602175,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "aes256-gcm-open/aws-lc-rs/1350B",
+ "ns": 218.20847044658157,
+ "ns_low": 216.47597479444434,
+ "ns_high": 220.74081160246078,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/1350B",
+ "library": "graviola",
+ "id": "aes256-gcm-open/graviola/1350B",
+ "ns": 262.7193795854595,
+ "ns_low": 261.97992970465907,
+ "ns_high": 263.5205260155963,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/1350B",
+ "library": "libcrux",
+ "id": "aes256-gcm-open/libcrux/1350B",
+ "ns": 673.9022383066589,
+ "ns_low": 671.1638100917415,
+ "ns_high": 676.8636670625406,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/1350B",
+ "library": "openssl",
+ "id": "aes256-gcm-open/openssl/1350B",
+ "ns": 225.05885655444112,
+ "ns_low": 224.23257160737532,
+ "ns_high": 226.03353048692918,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/1350B",
+ "library": "rind",
+ "id": "aes256-gcm-open/rind/1350B",
+ "ns": 233.44670650900895,
+ "ns_low": 232.47968183642647,
+ "ns_high": 234.61554521437475,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/1350B",
+ "library": "ring",
+ "id": "aes256-gcm-open/ring/1350B",
+ "ns": 251.67222411423862,
+ "ns_low": 250.47859060326672,
+ "ns_high": 253.23893513968807,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "aes256-gcm-open/rustcrypto/1350B",
+ "ns": 267.1556515169751,
+ "ns_low": 266.22539261437424,
+ "ns_high": 268.01441120301143,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "aes256-gcm-open/aws-lc-rs/16KB",
+ "ns": 1834.376588759416,
+ "ns_low": 1828.7939762234041,
+ "ns_high": 1841.3100267646535,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/16KB",
+ "library": "graviola",
+ "id": "aes256-gcm-open/graviola/16KB",
+ "ns": 2175.7322785424944,
+ "ns_low": 2168.773680519793,
+ "ns_high": 2182.4291987245124,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/16KB",
+ "library": "libcrux",
+ "id": "aes256-gcm-open/libcrux/16KB",
+ "ns": 7352.989459340627,
+ "ns_low": 7318.1193231802445,
+ "ns_high": 7394.130570761572,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/16KB",
+ "library": "openssl",
+ "id": "aes256-gcm-open/openssl/16KB",
+ "ns": 1942.997508952559,
+ "ns_low": 1920.6352989143104,
+ "ns_high": 1980.7872048093539,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/16KB",
+ "library": "rind",
+ "id": "aes256-gcm-open/rind/16KB",
+ "ns": 1860.2439324429026,
+ "ns_low": 1844.876489310154,
+ "ns_high": 1884.1800629961758,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/16KB",
+ "library": "ring",
+ "id": "aes256-gcm-open/ring/16KB",
+ "ns": 2251.528392816415,
+ "ns_low": 2231.0530900255567,
+ "ns_high": 2285.926365095903,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "aes256-gcm-open/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "aes256-gcm-open/rustcrypto/16KB",
+ "ns": 2893.0536353525376,
+ "ns_low": 2863.1643791353135,
+ "ns_high": 2943.819177600657,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/32B",
+ "library": "aws-lc-rs",
+ "id": "chacha20poly1305/aws-lc-rs/32B",
+ "ns": 162.991821342259,
+ "ns_low": 160.72018090461313,
+ "ns_high": 166.03150187631948,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/32B",
+ "library": "graviola",
+ "id": "chacha20poly1305/graviola/32B",
+ "ns": 195.76796670680667,
+ "ns_low": 194.09893572642153,
+ "ns_high": 198.8834867006896,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/32B",
+ "library": "libcrux",
+ "id": "chacha20poly1305/libcrux/32B",
+ "ns": 171.2280512389261,
+ "ns_low": 170.56247197849504,
+ "ns_high": 172.0471560584482,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/32B",
+ "library": "openssl",
+ "id": "chacha20poly1305/openssl/32B",
+ "ns": 215.43670294614083,
+ "ns_low": 212.88037383708976,
+ "ns_high": 219.08203808360264,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/32B",
+ "library": "rind",
+ "id": "chacha20poly1305/rind/32B",
+ "ns": 184.67323354791637,
+ "ns_low": 183.36753525956223,
+ "ns_high": 186.1404414282724,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/32B",
+ "library": "ring",
+ "id": "chacha20poly1305/ring/32B",
+ "ns": 147.9772804291643,
+ "ns_low": 147.4869490640836,
+ "ns_high": 148.5365937793471,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/32B",
+ "library": "rustcrypto",
+ "id": "chacha20poly1305/rustcrypto/32B",
+ "ns": 344.4724409877305,
+ "ns_low": 343.1796064021236,
+ "ns_high": 346.1706944451044,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "chacha20poly1305/aws-lc-rs/1350B",
+ "ns": 770.5555734432091,
+ "ns_low": 767.2616611538327,
+ "ns_high": 773.6077061185625,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/1350B",
+ "library": "graviola",
+ "id": "chacha20poly1305/graviola/1350B",
+ "ns": 1246.4698513826538,
+ "ns_low": 1235.7590595286333,
+ "ns_high": 1262.944808761669,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/1350B",
+ "library": "libcrux",
+ "id": "chacha20poly1305/libcrux/1350B",
+ "ns": 1978.8333837325433,
+ "ns_low": 1967.3678683444402,
+ "ns_high": 1993.8445091662231,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/1350B",
+ "library": "openssl",
+ "id": "chacha20poly1305/openssl/1350B",
+ "ns": 841.7634158498398,
+ "ns_low": 836.1829051791889,
+ "ns_high": 849.7656090790592,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/1350B",
+ "library": "rind",
+ "id": "chacha20poly1305/rind/1350B",
+ "ns": 791.5826534980527,
+ "ns_low": 788.5373590909071,
+ "ns_high": 794.7361943244749,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/1350B",
+ "library": "ring",
+ "id": "chacha20poly1305/ring/1350B",
+ "ns": 754.5402989045286,
+ "ns_low": 751.9528401165477,
+ "ns_high": 757.2720823870424,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "chacha20poly1305/rustcrypto/1350B",
+ "ns": 1779.6406622493632,
+ "ns_low": 1774.4829714353882,
+ "ns_high": 1785.2459960639667,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "chacha20poly1305/aws-lc-rs/16KB",
+ "ns": 7650.583873928151,
+ "ns_low": 7625.627811457704,
+ "ns_high": 7676.102818337311,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/16KB",
+ "library": "graviola",
+ "id": "chacha20poly1305/graviola/16KB",
+ "ns": 12845.190994783823,
+ "ns_low": 12719.588663373823,
+ "ns_high": 13037.736909227306,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/16KB",
+ "library": "libcrux",
+ "id": "chacha20poly1305/libcrux/16KB",
+ "ns": 22068.70410784362,
+ "ns_low": 21973.64633254594,
+ "ns_high": 22165.31570459187,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/16KB",
+ "library": "openssl",
+ "id": "chacha20poly1305/openssl/16KB",
+ "ns": 7453.47947479325,
+ "ns_low": 7421.320057537435,
+ "ns_high": 7491.687790423887,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/16KB",
+ "library": "rind",
+ "id": "chacha20poly1305/rind/16KB",
+ "ns": 7704.975628436763,
+ "ns_low": 7675.365843622123,
+ "ns_high": 7732.83775930118,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/16KB",
+ "library": "ring",
+ "id": "chacha20poly1305/ring/16KB",
+ "ns": 7671.631469871934,
+ "ns_low": 7625.414399023004,
+ "ns_high": 7721.35045969946,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "chacha20poly1305/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "chacha20poly1305/rustcrypto/16KB",
+ "ns": 15207.060886201134,
+ "ns_low": 15137.947174247794,
+ "ns_high": 15294.725937935695,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/32B",
+ "library": "aws-lc-rs",
+ "id": "xchacha20poly1305/aws-lc-rs/32B",
+ "ns": 942.9103345922407,
+ "ns_low": 936.077340038374,
+ "ns_high": 949.8060845520748,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/32B",
+ "library": "graviola",
+ "id": "xchacha20poly1305/graviola/32B",
+ "ns": 1107.6796025102065,
+ "ns_low": 1085.3427154627814,
+ "ns_high": 1129.706645825177,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/32B",
+ "library": "libcrux",
+ "id": "xchacha20poly1305/libcrux/32B",
+ "ns": 1109.941822577766,
+ "ns_low": 1095.67119015643,
+ "ns_high": 1123.9262737159015,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/32B",
+ "library": "rind",
+ "id": "xchacha20poly1305/rind/32B",
+ "ns": 1188.0896045919696,
+ "ns_low": 1160.3480451252874,
+ "ns_high": 1217.2634757672079,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/32B",
+ "library": "rustcrypto",
+ "id": "xchacha20poly1305/rustcrypto/32B",
+ "ns": 1526.8386402342949,
+ "ns_low": 1493.2363498417646,
+ "ns_high": 1565.5073486770243,
+ "throughput": {
+ "Bytes": 32
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "xchacha20poly1305/aws-lc-rs/1350B",
+ "ns": 1885.652252337613,
+ "ns_low": 1849.949957478523,
+ "ns_high": 1924.1551901428745,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/1350B",
+ "library": "graviola",
+ "id": "xchacha20poly1305/graviola/1350B",
+ "ns": 2848.489052326365,
+ "ns_low": 2791.8806743335476,
+ "ns_high": 2899.6627436170193,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/1350B",
+ "library": "libcrux",
+ "id": "xchacha20poly1305/libcrux/1350B",
+ "ns": 3801.668788786456,
+ "ns_low": 3708.8213345489526,
+ "ns_high": 3898.9822982208616,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/1350B",
+ "library": "rind",
+ "id": "xchacha20poly1305/rind/1350B",
+ "ns": 2021.6717667109995,
+ "ns_low": 1978.3296469593815,
+ "ns_high": 2073.6686883514026,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "xchacha20poly1305/rustcrypto/1350B",
+ "ns": 3190.2587966982624,
+ "ns_low": 3130.8878928986965,
+ "ns_high": 3252.9789110618485,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "xchacha20poly1305/aws-lc-rs/16KB",
+ "ns": 11425.678757510783,
+ "ns_low": 11262.969774222594,
+ "ns_high": 11595.033062341745,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/16KB",
+ "library": "graviola",
+ "id": "xchacha20poly1305/graviola/16KB",
+ "ns": 19236.636271981675,
+ "ns_low": 18947.374206952376,
+ "ns_high": 19547.948083646213,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/16KB",
+ "library": "libcrux",
+ "id": "xchacha20poly1305/libcrux/16KB",
+ "ns": 34196.44834852142,
+ "ns_low": 33397.36557085185,
+ "ns_high": 35016.50252914924,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/16KB",
+ "library": "rind",
+ "id": "xchacha20poly1305/rind/16KB",
+ "ns": 11364.070626399609,
+ "ns_low": 11182.935168919546,
+ "ns_high": 11543.348188153997,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "xchacha20poly1305/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "xchacha20poly1305/rustcrypto/16KB",
+ "ns": 22757.862373623127,
+ "ns_low": 22259.557019573145,
+ "ns_high": 23248.556470185682,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "quic-header-protection/aes128/{lib}",
+ "library": "aws-lc-rs",
+ "id": "quic-header-protection/aes128/aws-lc-rs",
+ "ns": 2.8422866829984748,
+ "ns_low": 2.8280073433085753,
+ "ns_high": 2.8590071276409295,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/aes128/{lib}",
+ "library": "rind",
+ "id": "quic-header-protection/aes128/rind",
+ "ns": 34.800469413175875,
+ "ns_low": 34.68926765568297,
+ "ns_high": 34.9184163852948,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/aes128/{lib}",
+ "library": "ring",
+ "id": "quic-header-protection/aes128/ring",
+ "ns": 3.27532262860637,
+ "ns_low": 3.2351014879907,
+ "ns_high": 3.3166742052765312,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/aes256/{lib}",
+ "library": "aws-lc-rs",
+ "id": "quic-header-protection/aes256/aws-lc-rs",
+ "ns": 2.9954737140824856,
+ "ns_low": 2.987108629182992,
+ "ns_high": 3.004566124396791,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/aes256/{lib}",
+ "library": "rind",
+ "id": "quic-header-protection/aes256/rind",
+ "ns": 37.81433898139269,
+ "ns_low": 37.69965380064352,
+ "ns_high": 37.939520553142565,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/aes256/{lib}",
+ "library": "ring",
+ "id": "quic-header-protection/aes256/ring",
+ "ns": 3.9194014562356223,
+ "ns_low": 3.8863814118147255,
+ "ns_high": 3.9506646036152944,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/chacha20/{lib}",
+ "library": "aws-lc-rs",
+ "id": "quic-header-protection/chacha20/aws-lc-rs",
+ "ns": 73.05233030515828,
+ "ns_low": 72.79720129360071,
+ "ns_high": 73.37888344731886,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/chacha20/{lib}",
+ "library": "rind",
+ "id": "quic-header-protection/chacha20/rind",
+ "ns": 88.58194004489343,
+ "ns_low": 87.66862240363868,
+ "ns_high": 90.08315150880857,
+ "throughput": null
+ },
+ {
+ "operation": "quic-header-protection/chacha20/{lib}",
+ "library": "ring",
+ "id": "quic-header-protection/chacha20/ring",
+ "ns": 68.49958967736826,
+ "ns_low": 67.95632888927472,
+ "ns_high": 69.40151316801492,
+ "throughput": null
+ },
+ {
+ "operation": "x25519-ecdh/{lib}",
+ "library": "aws-lc-rs",
+ "id": "x25519-ecdh/aws-lc-rs",
+ "ns": 17847.035085866795,
+ "ns_low": 17790.416689325495,
+ "ns_high": 17905.350853074175,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "x25519-ecdh/{lib}",
+ "library": "graviola",
+ "id": "x25519-ecdh/graviola",
+ "ns": 17738.382542813983,
+ "ns_low": 17409.46241633493,
+ "ns_high": 18130.434112091734,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "x25519-ecdh/{lib}",
+ "library": "libcrux",
+ "id": "x25519-ecdh/libcrux",
+ "ns": 37773.05962447518,
+ "ns_low": 37223.45567192131,
+ "ns_high": 38559.37230196979,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "x25519-ecdh/{lib}",
+ "library": "openssl",
+ "id": "x25519-ecdh/openssl",
+ "ns": 35770.01568650632,
+ "ns_low": 35682.2067277902,
+ "ns_high": 35865.83904393075,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "x25519-ecdh/{lib}",
+ "library": "rind",
+ "id": "x25519-ecdh/rind",
+ "ns": 16713.53999265114,
+ "ns_low": 16678.812710743678,
+ "ns_high": 16749.651799773434,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "x25519-ecdh/{lib}",
+ "library": "ring",
+ "id": "x25519-ecdh/ring",
+ "ns": 24483.406164844095,
+ "ns_low": 24405.21458796733,
+ "ns_high": 24554.10698764622,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "x25519-ecdh/{lib}",
+ "library": "rustcrypto",
+ "id": "x25519-ecdh/dalek",
+ "ns": 29713.58137594207,
+ "ns_low": 29605.300188465775,
+ "ns_high": 29821.335693935074,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdh/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p256-ecdh/aws-lc-rs",
+ "ns": 28513.197731849945,
+ "ns_low": 28431.86005362472,
+ "ns_high": 28604.89065710132,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdh/{lib}",
+ "library": "graviola",
+ "id": "p256-ecdh/graviola",
+ "ns": 31558.947381409784,
+ "ns_low": 31120.53554986409,
+ "ns_high": 32389.889063433184,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdh/{lib}",
+ "library": "libcrux",
+ "id": "p256-ecdh/libcrux",
+ "ns": 183715.65243534802,
+ "ns_low": 183016.99654356076,
+ "ns_high": 184496.52893254682,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdh/{lib}",
+ "library": "openssl",
+ "id": "p256-ecdh/openssl",
+ "ns": 49960.12465346535,
+ "ns_low": 49847.431369262355,
+ "ns_high": 50099.81438854653,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdh/{lib}",
+ "library": "rind",
+ "id": "p256-ecdh/rind",
+ "ns": 26267.222099703806,
+ "ns_low": 26183.425316072346,
+ "ns_high": 26347.0436547808,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdh/{lib}",
+ "library": "ring",
+ "id": "p256-ecdh/ring",
+ "ns": 32314.551384349747,
+ "ns_low": 32208.720763317466,
+ "ns_high": 32415.221475054786,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdh/{lib}",
+ "library": "rustcrypto",
+ "id": "p256-ecdh/p256-rustcrypto",
+ "ns": 180623.0017940003,
+ "ns_low": 180121.28497105194,
+ "ns_high": 181183.68102372086,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-sign/{lib}",
+ "library": "aws-lc-rs",
+ "id": "ed25519-sign/aws-lc-rs",
+ "ns": 4060.201678875777,
+ "ns_low": 4053.738907144377,
+ "ns_high": 4068.2990083484146,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-sign/{lib}",
+ "library": "graviola",
+ "id": "ed25519-sign/graviola",
+ "ns": 4170.564090852254,
+ "ns_low": 4142.753201553414,
+ "ns_high": 4215.177404100929,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-sign/{lib}",
+ "library": "libcrux",
+ "id": "ed25519-sign/libcrux",
+ "ns": 22115.205362406887,
+ "ns_low": 22033.719313461264,
+ "ns_high": 22211.563313093226,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-sign/{lib}",
+ "library": "openssl",
+ "id": "ed25519-sign/openssl",
+ "ns": 16419.561462982118,
+ "ns_low": 16339.180559057173,
+ "ns_high": 16523.875283630612,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-sign/{lib}",
+ "library": "rind",
+ "id": "ed25519-sign/rind",
+ "ns": 3946.105340098621,
+ "ns_low": 3935.7523700162947,
+ "ns_high": 3957.8310895214727,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-sign/{lib}",
+ "library": "ring",
+ "id": "ed25519-sign/ring",
+ "ns": 7065.520089721125,
+ "ns_low": 7035.104301235173,
+ "ns_high": 7103.374001942051,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-sign/{lib}",
+ "library": "rustcrypto",
+ "id": "ed25519-sign/dalek",
+ "ns": 8656.258643807752,
+ "ns_low": 8626.222907143729,
+ "ns_high": 8684.058275678832,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-verify/{lib}",
+ "library": "aws-lc-rs",
+ "id": "ed25519-verify/aws-lc-rs",
+ "ns": 18516.080874556672,
+ "ns_low": 18457.541958843027,
+ "ns_high": 18573.546999816394,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-verify/{lib}",
+ "library": "graviola",
+ "id": "ed25519-verify/graviola",
+ "ns": 18686.402625128183,
+ "ns_low": 18621.027223235607,
+ "ns_high": 18766.679464164292,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-verify/{lib}",
+ "library": "libcrux",
+ "id": "ed25519-verify/libcrux",
+ "ns": 29566.412671719198,
+ "ns_low": 29399.023987826964,
+ "ns_high": 29803.286294272482,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-verify/{lib}",
+ "library": "openssl",
+ "id": "ed25519-verify/openssl",
+ "ns": 41080.35388956209,
+ "ns_low": 40958.54557819315,
+ "ns_high": 41255.450882590194,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-verify/{lib}",
+ "library": "rind",
+ "id": "ed25519-verify/rind",
+ "ns": 18663.494043704744,
+ "ns_low": 18575.251889852956,
+ "ns_high": 18770.364270168222,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-verify/{lib}",
+ "library": "ring",
+ "id": "ed25519-verify/ring",
+ "ns": 19942.853384562335,
+ "ns_low": 19901.176253140955,
+ "ns_high": 19993.717908432463,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "ed25519-verify/{lib}",
+ "library": "rustcrypto",
+ "id": "ed25519-verify/dalek",
+ "ns": 18416.52753648499,
+ "ns_low": 18379.084260125514,
+ "ns_high": 18462.493525059996,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-sign/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p256-ecdsa-sign/aws-lc-rs",
+ "ns": 11268.719351012543,
+ "ns_low": 11240.422347770855,
+ "ns_high": 11299.85484433575,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-sign/{lib}",
+ "library": "graviola",
+ "id": "p256-ecdsa-sign/graviola",
+ "ns": 8827.71912729596,
+ "ns_low": 8721.32899537612,
+ "ns_high": 8979.714958983448,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-sign/{lib}",
+ "library": "libcrux",
+ "id": "p256-ecdsa-sign/libcrux",
+ "ns": 67377.40285962925,
+ "ns_low": 67111.4607987868,
+ "ns_high": 67700.55011959252,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-sign/{lib}",
+ "library": "openssl",
+ "id": "p256-ecdsa-sign/openssl",
+ "ns": 12617.513320218215,
+ "ns_low": 12484.64051093225,
+ "ns_high": 12842.23863122576,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-sign/{lib}",
+ "library": "rind",
+ "id": "p256-ecdsa-sign/rind",
+ "ns": 7114.70330430591,
+ "ns_low": 7101.186248652128,
+ "ns_high": 7131.300165060538,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-sign/{lib}",
+ "library": "ring",
+ "id": "p256-ecdsa-sign/ring",
+ "ns": 11013.241418594596,
+ "ns_low": 10978.956826522359,
+ "ns_high": 11046.228933939516,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-sign/{lib}",
+ "library": "rustcrypto",
+ "id": "p256-ecdsa-sign/rustcrypto",
+ "ns": 44328.30509995989,
+ "ns_low": 44164.709980550164,
+ "ns_high": 44480.07042907031,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-verify/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p256-ecdsa-verify/aws-lc-rs",
+ "ns": 27150.10686862716,
+ "ns_low": 27081.99278985686,
+ "ns_high": 27238.775584954845,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-verify/{lib}",
+ "library": "graviola",
+ "id": "p256-ecdsa-verify/graviola",
+ "ns": 28603.44931593799,
+ "ns_low": 28232.034642139308,
+ "ns_high": 29226.623183405325,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-verify/{lib}",
+ "library": "libcrux",
+ "id": "p256-ecdsa-verify/libcrux",
+ "ns": 156536.36874390426,
+ "ns_low": 155372.09597937818,
+ "ns_high": 158195.85154570593,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-verify/{lib}",
+ "library": "openssl",
+ "id": "p256-ecdsa-verify/openssl",
+ "ns": 41899.98518043446,
+ "ns_low": 41777.39353692064,
+ "ns_high": 42034.08235534894,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-verify/{lib}",
+ "library": "rind",
+ "id": "p256-ecdsa-verify/rind",
+ "ns": 27147.981669734138,
+ "ns_low": 27062.84179290198,
+ "ns_high": 27254.648097906316,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-verify/{lib}",
+ "library": "ring",
+ "id": "p256-ecdsa-verify/ring",
+ "ns": 29354.205991260107,
+ "ns_low": 29175.810577174587,
+ "ns_high": 29613.464463181797,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p256-ecdsa-verify/{lib}",
+ "library": "rustcrypto",
+ "id": "p256-ecdsa-verify/rustcrypto",
+ "ns": 157868.30212206295,
+ "ns_low": 154440.8300658364,
+ "ns_high": 162191.72138299907,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "sha256/{lib}/64B",
+ "library": "aws-lc-rs",
+ "id": "sha256/aws-lc-rs/64B",
+ "ns": 70.73842218488807,
+ "ns_low": 70.55410366993561,
+ "ns_high": 70.9476002282405,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha256/{lib}/64B",
+ "library": "graviola",
+ "id": "sha256/graviola/64B",
+ "ns": 35.98746023834901,
+ "ns_low": 35.504532986039706,
+ "ns_high": 36.772105440121706,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha256/{lib}/64B",
+ "library": "libcrux",
+ "id": "sha256/libcrux/64B",
+ "ns": 232.02830810248616,
+ "ns_low": 229.41240312867635,
+ "ns_high": 235.62489402813543,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha256/{lib}/64B",
+ "library": "openssl",
+ "id": "sha256/openssl/64B",
+ "ns": 161.9148860005248,
+ "ns_low": 161.1224760298243,
+ "ns_high": 162.74171364033646,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha256/{lib}/64B",
+ "library": "rind",
+ "id": "sha256/rind/64B",
+ "ns": 92.90723485387264,
+ "ns_low": 92.34609384304315,
+ "ns_high": 93.61863641024027,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha256/{lib}/64B",
+ "library": "ring",
+ "id": "sha256/ring/64B",
+ "ns": 44.82657034898283,
+ "ns_low": 44.635158959123785,
+ "ns_high": 45.01693409720784,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha256/{lib}/64B",
+ "library": "rustcrypto",
+ "id": "sha256/rustcrypto/64B",
+ "ns": 37.22892961515555,
+ "ns_low": 36.9627482743486,
+ "ns_high": 37.48143312959618,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha256/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "sha256/aws-lc-rs/1350B",
+ "ns": 439.6155401970144,
+ "ns_low": 435.5252037253867,
+ "ns_high": 445.0350395395323,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha256/{lib}/1350B",
+ "library": "graviola",
+ "id": "sha256/graviola/1350B",
+ "ns": 471.7116786198718,
+ "ns_low": 471.59122607013,
+ "ns_high": 471.8727539724247,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha256/{lib}/1350B",
+ "library": "libcrux",
+ "id": "sha256/libcrux/1350B",
+ "ns": 2517.1567940002956,
+ "ns_low": 2507.345639557344,
+ "ns_high": 2526.981789809229,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha256/{lib}/1350B",
+ "library": "openssl",
+ "id": "sha256/openssl/1350B",
+ "ns": 531.0113109925707,
+ "ns_low": 528.5698271124846,
+ "ns_high": 533.8160596104116,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha256/{lib}/1350B",
+ "library": "rind",
+ "id": "sha256/rind/1350B",
+ "ns": 484.46593281688297,
+ "ns_low": 483.66209286704486,
+ "ns_high": 485.8512072986412,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha256/{lib}/1350B",
+ "library": "ring",
+ "id": "sha256/ring/1350B",
+ "ns": 413.8743984346498,
+ "ns_low": 410.6897543415085,
+ "ns_high": 417.61040640918173,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha256/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "sha256/rustcrypto/1350B",
+ "ns": 475.10802624576854,
+ "ns_low": 471.360548066692,
+ "ns_high": 479.56282241880297,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha256/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "sha256/aws-lc-rs/16KB",
+ "ns": 4869.595753718019,
+ "ns_low": 4859.454330579071,
+ "ns_high": 4884.663915560097,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha256/{lib}/16KB",
+ "library": "graviola",
+ "id": "sha256/graviola/16KB",
+ "ns": 5761.664022007252,
+ "ns_low": 5734.466271004576,
+ "ns_high": 5799.414277846623,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha256/{lib}/16KB",
+ "library": "libcrux",
+ "id": "sha256/libcrux/16KB",
+ "ns": 29126.840613059172,
+ "ns_low": 29027.531805713745,
+ "ns_high": 29238.384444108226,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha256/{lib}/16KB",
+ "library": "openssl",
+ "id": "sha256/openssl/16KB",
+ "ns": 5165.81749706911,
+ "ns_low": 5049.583972514792,
+ "ns_high": 5310.483407316797,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha256/{lib}/16KB",
+ "library": "rind",
+ "id": "sha256/rind/16KB",
+ "ns": 4940.518503364698,
+ "ns_low": 4921.861774685062,
+ "ns_high": 4963.539288576333,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha256/{lib}/16KB",
+ "library": "ring",
+ "id": "sha256/ring/16KB",
+ "ns": 4904.774499658193,
+ "ns_low": 4845.407979014307,
+ "ns_high": 5011.609458257092,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha256/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "sha256/rustcrypto/16KB",
+ "ns": 5688.402077588069,
+ "ns_low": 5660.937824222838,
+ "ns_high": 5726.894046988665,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha512/{lib}/64B",
+ "library": "aws-lc-rs",
+ "id": "sha512/aws-lc-rs/64B",
+ "ns": 107.5604368598598,
+ "ns_low": 106.86602384927434,
+ "ns_high": 108.36983742275012,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha512/{lib}/64B",
+ "library": "graviola",
+ "id": "sha512/graviola/64B",
+ "ns": 177.3074688624344,
+ "ns_low": 174.32733084160586,
+ "ns_high": 182.32986344747243,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha512/{lib}/64B",
+ "library": "libcrux",
+ "id": "sha512/libcrux/64B",
+ "ns": 140.82650396295816,
+ "ns_low": 140.3540246022659,
+ "ns_high": 141.3168056929639,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha512/{lib}/64B",
+ "library": "openssl",
+ "id": "sha512/openssl/64B",
+ "ns": 211.16607187129716,
+ "ns_low": 210.30737816461894,
+ "ns_high": 212.13039470148584,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha512/{lib}/64B",
+ "library": "rind",
+ "id": "sha512/rind/64B",
+ "ns": 112.9258025448513,
+ "ns_low": 112.15216802010237,
+ "ns_high": 113.80593569363256,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha512/{lib}/64B",
+ "library": "ring",
+ "id": "sha512/ring/64B",
+ "ns": 87.61243301168022,
+ "ns_low": 86.988780864019,
+ "ns_high": 88.3627778317888,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha512/{lib}/64B",
+ "library": "rustcrypto",
+ "id": "sha512/rustcrypto/64B",
+ "ns": 78.67749427620619,
+ "ns_low": 78.20134862167947,
+ "ns_high": 79.31742905365255,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "sha512/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "sha512/aws-lc-rs/1350B",
+ "ns": 774.5393817897781,
+ "ns_low": 771.0785456514917,
+ "ns_high": 778.410362625961,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha512/{lib}/1350B",
+ "library": "graviola",
+ "id": "sha512/graviola/1350B",
+ "ns": 1878.4555215870312,
+ "ns_low": 1859.1919452889329,
+ "ns_high": 1914.5879589711312,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha512/{lib}/1350B",
+ "library": "libcrux",
+ "id": "sha512/libcrux/1350B",
+ "ns": 1575.8379452806687,
+ "ns_low": 1565.759702450602,
+ "ns_high": 1590.9967191099618,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha512/{lib}/1350B",
+ "library": "openssl",
+ "id": "sha512/openssl/1350B",
+ "ns": 877.944340943142,
+ "ns_low": 872.3188981462666,
+ "ns_high": 885.1534700486383,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha512/{lib}/1350B",
+ "library": "rind",
+ "id": "sha512/rind/1350B",
+ "ns": 827.2957418148532,
+ "ns_low": 820.1022846904131,
+ "ns_high": 836.8091190653689,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha512/{lib}/1350B",
+ "library": "ring",
+ "id": "sha512/ring/1350B",
+ "ns": 737.3467728258972,
+ "ns_low": 734.9415057463513,
+ "ns_high": 740.5352592672191,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha512/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "sha512/rustcrypto/1350B",
+ "ns": 722.377793084228,
+ "ns_low": 718.780445187092,
+ "ns_high": 727.268990685837,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "sha512/{lib}/16KB",
+ "library": "aws-lc-rs",
+ "id": "sha512/aws-lc-rs/16KB",
+ "ns": 8697.930877137318,
+ "ns_low": 8682.354427348166,
+ "ns_high": 8725.963996562341,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha512/{lib}/16KB",
+ "library": "graviola",
+ "id": "sha512/graviola/16KB",
+ "ns": 22109.755024171925,
+ "ns_low": 21746.091345795445,
+ "ns_high": 22654.90366402623,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha512/{lib}/16KB",
+ "library": "libcrux",
+ "id": "sha512/libcrux/16KB",
+ "ns": 18405.63718948014,
+ "ns_low": 18337.84127494249,
+ "ns_high": 18488.195130571617,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha512/{lib}/16KB",
+ "library": "openssl",
+ "id": "sha512/openssl/16KB",
+ "ns": 8875.222486243796,
+ "ns_low": 8809.462745530598,
+ "ns_high": 8960.840442221896,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha512/{lib}/16KB",
+ "library": "rind",
+ "id": "sha512/rind/16KB",
+ "ns": 8773.953978750244,
+ "ns_low": 8746.268628764026,
+ "ns_high": 8812.294962986352,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha512/{lib}/16KB",
+ "library": "ring",
+ "id": "sha512/ring/16KB",
+ "ns": 8691.230595879835,
+ "ns_low": 8658.294307084521,
+ "ns_high": 8736.798730234985,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "sha512/{lib}/16KB",
+ "library": "rustcrypto",
+ "id": "sha512/rustcrypto/16KB",
+ "ns": 8497.22073679361,
+ "ns_low": 8482.306517359328,
+ "ns_high": 8514.053979223165,
+ "throughput": {
+ "Bytes": 16384
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/64B",
+ "library": "aws-lc-rs",
+ "id": "hmac-sha256/aws-lc-rs/64B",
+ "ns": 248.0592037369573,
+ "ns_low": 246.97378798081914,
+ "ns_high": 249.4091259838436,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/64B",
+ "library": "graviola",
+ "id": "hmac-sha256/graviola/64B",
+ "ns": 114.5013940376956,
+ "ns_low": 113.97583604308919,
+ "ns_high": 115.08448611816421,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/64B",
+ "library": "libcrux",
+ "id": "hmac-sha256/libcrux/64B",
+ "ns": 568.4098015110234,
+ "ns_low": 566.6169438013638,
+ "ns_high": 570.6382753655339,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/64B",
+ "library": "openssl",
+ "id": "hmac-sha256/openssl/64B",
+ "ns": 2063.203904397272,
+ "ns_low": 2056.0513072769477,
+ "ns_high": 2071.3506726213677,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/64B",
+ "library": "rind",
+ "id": "hmac-sha256/rind/64B",
+ "ns": 191.27047315275928,
+ "ns_low": 190.5605669980721,
+ "ns_high": 191.99669010850664,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/64B",
+ "library": "ring",
+ "id": "hmac-sha256/ring/64B",
+ "ns": 136.61023036961836,
+ "ns_low": 136.0361484628694,
+ "ns_high": 137.20219545740505,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/64B",
+ "library": "rustcrypto",
+ "id": "hmac-sha256/rustcrypto/64B",
+ "ns": 101.96073593193124,
+ "ns_low": 101.22911854585824,
+ "ns_high": 102.98123781055702,
+ "throughput": {
+ "Bytes": 64
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/1350B",
+ "library": "aws-lc-rs",
+ "id": "hmac-sha256/aws-lc-rs/1350B",
+ "ns": 619.8677593930101,
+ "ns_low": 615.1181180308747,
+ "ns_high": 626.0049931473964,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/1350B",
+ "library": "graviola",
+ "id": "hmac-sha256/graviola/1350B",
+ "ns": 556.9399128025182,
+ "ns_low": 556.2517816354638,
+ "ns_high": 558.0306175895508,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/1350B",
+ "library": "libcrux",
+ "id": "hmac-sha256/libcrux/1350B",
+ "ns": 2860.095617305703,
+ "ns_low": 2845.388963058907,
+ "ns_high": 2877.778805173485,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/1350B",
+ "library": "openssl",
+ "id": "hmac-sha256/openssl/1350B",
+ "ns": 2429.107230424785,
+ "ns_low": 2420.2395760081085,
+ "ns_high": 2437.7460427584438,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/1350B",
+ "library": "rind",
+ "id": "hmac-sha256/rind/1350B",
+ "ns": 559.2917610637388,
+ "ns_low": 557.8062459753309,
+ "ns_high": 560.994469786413,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/1350B",
+ "library": "ring",
+ "id": "hmac-sha256/ring/1350B",
+ "ns": 501.7380164023802,
+ "ns_low": 500.6948993948034,
+ "ns_high": 502.96348651094735,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "hmac-sha256/{lib}/1350B",
+ "library": "rustcrypto",
+ "id": "hmac-sha256/rustcrypto/1350B",
+ "ns": 542.4556122106171,
+ "ns_low": 540.4479773047259,
+ "ns_high": 545.1349922047926,
+ "throughput": {
+ "Bytes": 1350
+ }
+ },
+ {
+ "operation": "hkdf-sha256/extract-expand/{lib}",
+ "library": "aws-lc-rs",
+ "id": "hkdf-sha256/extract-expand/aws-lc-rs",
+ "ns": 330.446551750792,
+ "ns_low": 329.4796538898032,
+ "ns_high": 331.51964036612264,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/extract-expand/{lib}",
+ "library": "libcrux",
+ "id": "hkdf-sha256/extract-expand/libcrux",
+ "ns": 941.6692975676817,
+ "ns_low": 933.6641579218402,
+ "ns_high": 955.8046821025029,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/extract-expand/{lib}",
+ "library": "openssl",
+ "id": "hkdf-sha256/extract-expand/openssl",
+ "ns": 2144.9664683196593,
+ "ns_low": 2135.3517076023772,
+ "ns_high": 2154.7072828047535,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/extract-expand/{lib}",
+ "library": "rind",
+ "id": "hkdf-sha256/extract-expand/rind",
+ "ns": 343.3007871642758,
+ "ns_low": 341.9725822072688,
+ "ns_high": 344.71963882298803,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/extract-expand/{lib}",
+ "library": "ring",
+ "id": "hkdf-sha256/extract-expand/ring",
+ "ns": 274.12577411478685,
+ "ns_low": 272.835730229773,
+ "ns_high": 275.5123079518952,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/extract-expand/{lib}",
+ "library": "rustcrypto",
+ "id": "hkdf-sha256/extract-expand/rustcrypto",
+ "ns": 217.88432531715483,
+ "ns_low": 215.93869698136157,
+ "ns_high": 220.98532710630099,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/expand/{lib}",
+ "library": "aws-lc-rs",
+ "id": "hkdf-sha256/expand/aws-lc-rs",
+ "ns": 154.3664995694114,
+ "ns_low": 153.76814085278428,
+ "ns_high": 154.98947075523293,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/expand/{lib}",
+ "library": "libcrux",
+ "id": "hkdf-sha256/expand/libcrux",
+ "ns": 481.42720451325204,
+ "ns_low": 479.7777586734313,
+ "ns_high": 483.0303826275618,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/expand/{lib}",
+ "library": "openssl",
+ "id": "hkdf-sha256/expand/openssl",
+ "ns": 1539.5780745791465,
+ "ns_low": 1535.2978824528293,
+ "ns_high": 1544.0068415154637,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/expand/{lib}",
+ "library": "rind",
+ "id": "hkdf-sha256/expand/rind",
+ "ns": 108.716867907227,
+ "ns_low": 108.30569016413759,
+ "ns_high": 109.14323848742129,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/expand/{lib}",
+ "library": "ring",
+ "id": "hkdf-sha256/expand/ring",
+ "ns": 93.71910115582627,
+ "ns_low": 93.34097592967879,
+ "ns_high": 94.12235107106738,
+ "throughput": null
+ },
+ {
+ "operation": "hkdf-sha256/expand/{lib}",
+ "library": "rustcrypto",
+ "id": "hkdf-sha256/expand/rustcrypto",
+ "ns": 70.21676368182439,
+ "ns_low": 69.57091671667767,
+ "ns_high": 71.0655217807377,
+ "throughput": null
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-sign/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rsa2048-pkcs1-sha256-sign/aws-lc-rs",
+ "ns": 285950.6153371755,
+ "ns_low": 283202.99721253844,
+ "ns_high": 290893.3213596697,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-sign/{lib}",
+ "library": "graviola",
+ "id": "rsa2048-pkcs1-sha256-sign/graviola",
+ "ns": 556698.0795581498,
+ "ns_low": 554480.1910730707,
+ "ns_high": 559518.6194302478,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-sign/{lib}",
+ "library": "openssl",
+ "id": "rsa2048-pkcs1-sha256-sign/openssl",
+ "ns": 341307.70224619476,
+ "ns_low": 340192.3706406857,
+ "ns_high": 342528.9585623864,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-sign/{lib}",
+ "library": "rind",
+ "id": "rsa2048-pkcs1-sha256-sign/rind",
+ "ns": 275121.06581941777,
+ "ns_low": 273918.8167172235,
+ "ns_high": 276507.0447781048,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-sign/{lib}",
+ "library": "ring",
+ "id": "rsa2048-pkcs1-sha256-sign/ring",
+ "ns": 322837.10114378604,
+ "ns_low": 322011.4490747814,
+ "ns_high": 323702.532368568,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-sign/{lib}",
+ "library": "rustcrypto",
+ "id": "rsa2048-pkcs1-sha256-sign/rustcrypto",
+ "ns": 586341.2654617999,
+ "ns_low": 584217.6879383405,
+ "ns_high": 588993.7594862664,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-verify/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rsa2048-pkcs1-sha256-verify/aws-lc-rs",
+ "ns": 9478.200839510528,
+ "ns_low": 9442.946190585208,
+ "ns_high": 9514.595901734127,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-verify/{lib}",
+ "library": "graviola",
+ "id": "rsa2048-pkcs1-sha256-verify/graviola",
+ "ns": 18508.133512542485,
+ "ns_low": 18449.619089096464,
+ "ns_high": 18567.509442775474,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-verify/{lib}",
+ "library": "openssl",
+ "id": "rsa2048-pkcs1-sha256-verify/openssl",
+ "ns": 16664.569021066287,
+ "ns_low": 16610.411897698814,
+ "ns_high": 16723.099417285455,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-verify/{lib}",
+ "library": "rind",
+ "id": "rsa2048-pkcs1-sha256-verify/rind",
+ "ns": 8379.928772802654,
+ "ns_low": 8358.019308119125,
+ "ns_high": 8404.840583992373,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-verify/{lib}",
+ "library": "ring",
+ "id": "rsa2048-pkcs1-sha256-verify/ring",
+ "ns": 11045.785739016688,
+ "ns_low": 10980.541165811024,
+ "ns_high": 11131.069916752025,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pkcs1-sha256-verify/{lib}",
+ "library": "rustcrypto",
+ "id": "rsa2048-pkcs1-sha256-verify/rustcrypto",
+ "ns": 30773.740343431356,
+ "ns_low": 30652.004038836563,
+ "ns_high": 30890.222854332886,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-sign/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rsa2048-pss-sha256-sign/aws-lc-rs",
+ "ns": 288576.60732180683,
+ "ns_low": 285134.1103280227,
+ "ns_high": 294179.89632405224,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-sign/{lib}",
+ "library": "graviola",
+ "id": "rsa2048-pss-sha256-sign/graviola",
+ "ns": 558566.9758977391,
+ "ns_low": 556370.2034577085,
+ "ns_high": 561198.5495016302,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-sign/{lib}",
+ "library": "libcrux",
+ "id": "rsa2048-pss-sha256-sign/libcrux",
+ "ns": 4482541.961428572,
+ "ns_low": 4462534.073428573,
+ "ns_high": 4511536.617750002,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-sign/{lib}",
+ "library": "openssl",
+ "id": "rsa2048-pss-sha256-sign/openssl",
+ "ns": 342610.8552135363,
+ "ns_low": 341230.0242431014,
+ "ns_high": 344182.6252258543,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-sign/{lib}",
+ "library": "rind",
+ "id": "rsa2048-pss-sha256-sign/rind",
+ "ns": 275288.9187931629,
+ "ns_low": 274552.0246351682,
+ "ns_high": 276118.43303847685,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-sign/{lib}",
+ "library": "ring",
+ "id": "rsa2048-pss-sha256-sign/ring",
+ "ns": 324862.87911925523,
+ "ns_low": 323721.0683300785,
+ "ns_high": 326061.8424778098,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-sign/{lib}",
+ "library": "rustcrypto",
+ "id": "rsa2048-pss-sha256-sign/rustcrypto",
+ "ns": 588377.2218235555,
+ "ns_low": 585895.866874921,
+ "ns_high": 591240.8012737636,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-verify/{lib}",
+ "library": "aws-lc-rs",
+ "id": "rsa2048-pss-sha256-verify/aws-lc-rs",
+ "ns": 9843.506951817766,
+ "ns_low": 9802.829693201791,
+ "ns_high": 9889.791274979469,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-verify/{lib}",
+ "library": "graviola",
+ "id": "rsa2048-pss-sha256-verify/graviola",
+ "ns": 18794.98291488104,
+ "ns_low": 18756.893026521306,
+ "ns_high": 18841.40453998714,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-verify/{lib}",
+ "library": "libcrux",
+ "id": "rsa2048-pss-sha256-verify/libcrux",
+ "ns": 299958.5162405793,
+ "ns_low": 298953.6751752861,
+ "ns_high": 300846.5470855981,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-verify/{lib}",
+ "library": "openssl",
+ "id": "rsa2048-pss-sha256-verify/openssl",
+ "ns": 17443.715759927378,
+ "ns_low": 17365.354290773226,
+ "ns_high": 17546.022850240366,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-verify/{lib}",
+ "library": "rind",
+ "id": "rsa2048-pss-sha256-verify/rind",
+ "ns": 8710.53774609518,
+ "ns_low": 8682.614855041722,
+ "ns_high": 8746.570905822502,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-verify/{lib}",
+ "library": "ring",
+ "id": "rsa2048-pss-sha256-verify/ring",
+ "ns": 11476.344666653655,
+ "ns_low": 11392.219805467827,
+ "ns_high": 11614.030129212984,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "rsa2048-pss-sha256-verify/{lib}",
+ "library": "rustcrypto",
+ "id": "rsa2048-pss-sha256-verify/rustcrypto",
+ "ns": 39259.44720740357,
+ "ns_low": 38815.14621815398,
+ "ns_high": 40074.86305369196,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-keygen/{lib}",
+ "library": "aws-lc-rs",
+ "id": "mlkem768-keygen/aws-lc-rs",
+ "ns": 7457.927221493735,
+ "ns_low": 7421.661420079343,
+ "ns_high": 7492.721332695631,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-keygen/{lib}",
+ "library": "graviola",
+ "id": "mlkem768-keygen/graviola",
+ "ns": 6220.5500850635435,
+ "ns_low": 6184.892941594129,
+ "ns_high": 6266.431878737287,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-keygen/{lib}",
+ "library": "libcrux",
+ "id": "mlkem768-keygen/libcrux-ml-kem",
+ "ns": 12014.163751677257,
+ "ns_low": 11976.327378212092,
+ "ns_high": 12053.973991708846,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-keygen/{lib}",
+ "library": "openssl",
+ "id": "mlkem768-keygen/openssl",
+ "ns": 25056.32156630215,
+ "ns_low": 24971.88404415623,
+ "ns_high": 25143.794529767314,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-keygen/{lib}",
+ "library": "rind",
+ "id": "mlkem768-keygen/rind",
+ "ns": 6197.6894108309125,
+ "ns_low": 6180.9578066060085,
+ "ns_high": 6216.531481057873,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-keygen/{lib}",
+ "library": "rustcrypto",
+ "id": "mlkem768-keygen/rustcrypto",
+ "ns": 26572.111129072673,
+ "ns_low": 26490.49518979583,
+ "ns_high": 26649.498115009694,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-encaps/{lib}",
+ "library": "aws-lc-rs",
+ "id": "mlkem768-encaps/aws-lc-rs",
+ "ns": 8012.388847529611,
+ "ns_low": 7966.256139688243,
+ "ns_high": 8061.279275310415,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-encaps/{lib}",
+ "library": "graviola",
+ "id": "mlkem768-encaps/graviola",
+ "ns": 6403.783334747533,
+ "ns_low": 6381.5343012163985,
+ "ns_high": 6426.863207919315,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-encaps/{lib}",
+ "library": "libcrux",
+ "id": "mlkem768-encaps/libcrux-ml-kem",
+ "ns": 9390.819004262768,
+ "ns_low": 9304.928661738204,
+ "ns_high": 9505.656573568049,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-encaps/{lib}",
+ "library": "openssl",
+ "id": "mlkem768-encaps/openssl",
+ "ns": 24066.242088842915,
+ "ns_low": 23936.541831654744,
+ "ns_high": 24192.555684437535,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-encaps/{lib}",
+ "library": "rind",
+ "id": "mlkem768-encaps/rind",
+ "ns": 6838.6622822724885,
+ "ns_low": 6812.49359523521,
+ "ns_high": 6864.277414423983,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-encaps/{lib}",
+ "library": "rustcrypto",
+ "id": "mlkem768-encaps/rustcrypto",
+ "ns": 27770.834500584388,
+ "ns_low": 27672.787948311412,
+ "ns_high": 27878.807727590618,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-decaps/{lib}",
+ "library": "aws-lc-rs",
+ "id": "mlkem768-decaps/aws-lc-rs",
+ "ns": 7745.985914154142,
+ "ns_low": 7692.910427478518,
+ "ns_high": 7808.770122283336,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-decaps/{lib}",
+ "library": "graviola",
+ "id": "mlkem768-decaps/graviola",
+ "ns": 4050.658025881906,
+ "ns_low": 4034.6711827487366,
+ "ns_high": 4064.936531610453,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-decaps/{lib}",
+ "library": "libcrux",
+ "id": "mlkem768-decaps/libcrux-ml-kem",
+ "ns": 9576.993598814039,
+ "ns_low": 9500.988628355055,
+ "ns_high": 9696.350724455313,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-decaps/{lib}",
+ "library": "openssl",
+ "id": "mlkem768-decaps/openssl",
+ "ns": 24432.869558386286,
+ "ns_low": 24350.496095511426,
+ "ns_high": 24507.49955721615,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-decaps/{lib}",
+ "library": "rind",
+ "id": "mlkem768-decaps/rind",
+ "ns": 4169.226445091035,
+ "ns_low": 4130.954574093383,
+ "ns_high": 4233.961221928273,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "mlkem768-decaps/{lib}",
+ "library": "rustcrypto",
+ "id": "mlkem768-decaps/rustcrypto",
+ "ns": 34060.834756251745,
+ "ns_low": 33930.88137777045,
+ "ns_high": 34204.93643357876,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdh/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p384-ecdh/aws-lc-rs",
+ "ns": 105754.00631545244,
+ "ns_low": 104347.55400001715,
+ "ns_high": 107708.61881157817,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdh/{lib}",
+ "library": "graviola",
+ "id": "p384-ecdh/graviola",
+ "ns": 153839.92527560217,
+ "ns_low": 152975.71711449782,
+ "ns_high": 155007.51852600605,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdh/{lib}",
+ "library": "openssl",
+ "id": "p384-ecdh/openssl",
+ "ns": 279510.5114831782,
+ "ns_low": 278538.1455098878,
+ "ns_high": 280838.90272988396,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdh/{lib}",
+ "library": "rind",
+ "id": "p384-ecdh/rind",
+ "ns": 91485.10000379995,
+ "ns_low": 91193.37463666798,
+ "ns_high": 91813.40340843369,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdh/{lib}",
+ "library": "ring",
+ "id": "p384-ecdh/ring",
+ "ns": 412476.9824131816,
+ "ns_low": 411188.45212049613,
+ "ns_high": 413785.10743395216,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdh/{lib}",
+ "library": "rustcrypto",
+ "id": "p384-ecdh/p384-rustcrypto",
+ "ns": 494197.38824146596,
+ "ns_low": 491904.6824259468,
+ "ns_high": 497302.6938056767,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-sign/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p384-ecdsa-sign/aws-lc-rs",
+ "ns": 49161.94829091405,
+ "ns_low": 49032.724861964714,
+ "ns_high": 49331.94745446585,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-sign/{lib}",
+ "library": "graviola",
+ "id": "p384-ecdsa-sign/graviola",
+ "ns": 81121.9397048175,
+ "ns_low": 80843.90970870088,
+ "ns_high": 81457.56729956761,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-sign/{lib}",
+ "library": "openssl",
+ "id": "p384-ecdsa-sign/openssl",
+ "ns": 104841.90729914783,
+ "ns_low": 103906.085870834,
+ "ns_high": 106272.62094814128,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-sign/{lib}",
+ "library": "rind",
+ "id": "p384-ecdsa-sign/rind",
+ "ns": 22933.01759056962,
+ "ns_low": 22855.733097120577,
+ "ns_high": 23010.107238523364,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-sign/{lib}",
+ "library": "ring",
+ "id": "p384-ecdsa-sign/ring",
+ "ns": 223717.99831830943,
+ "ns_low": 222962.20921053775,
+ "ns_high": 224502.32340723136,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-sign/{lib}",
+ "library": "rustcrypto",
+ "id": "p384-ecdsa-sign/rustcrypto",
+ "ns": 112641.95977341017,
+ "ns_low": 112280.1661165374,
+ "ns_high": 113075.93404289242,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-verify/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p384-ecdsa-verify/aws-lc-rs",
+ "ns": 111268.97887296192,
+ "ns_low": 110697.03408650003,
+ "ns_high": 112119.56362455184,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-verify/{lib}",
+ "library": "graviola",
+ "id": "p384-ecdsa-verify/graviola",
+ "ns": 151781.94423895376,
+ "ns_low": 151202.09958415775,
+ "ns_high": 152451.38142722612,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-verify/{lib}",
+ "library": "openssl",
+ "id": "p384-ecdsa-verify/openssl",
+ "ns": 238325.14094872173,
+ "ns_low": 236751.47366189587,
+ "ns_high": 240317.24791323702,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-verify/{lib}",
+ "library": "rind",
+ "id": "p384-ecdsa-verify/rind",
+ "ns": 88121.62098503241,
+ "ns_low": 87218.64451691655,
+ "ns_high": 89690.14557320211,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-verify/{lib}",
+ "library": "ring",
+ "id": "p384-ecdsa-verify/ring",
+ "ns": 396568.4749475395,
+ "ns_low": 395289.2973696234,
+ "ns_high": 398093.7629589674,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p384-ecdsa-verify/{lib}",
+ "library": "rustcrypto",
+ "id": "p384-ecdsa-verify/rustcrypto",
+ "ns": 426431.690873356,
+ "ns_low": 425171.9479945168,
+ "ns_high": 427740.85670219787,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdh/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p521-ecdh/aws-lc-rs",
+ "ns": 143202.77908970002,
+ "ns_low": 142539.35000848284,
+ "ns_high": 143977.10288909034,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdh/{lib}",
+ "library": "openssl",
+ "id": "p521-ecdh/openssl",
+ "ns": 247223.86034284026,
+ "ns_low": 246289.21111287762,
+ "ns_high": 248344.46338666652,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdh/{lib}",
+ "library": "rind",
+ "id": "p521-ecdh/rind",
+ "ns": 130918.80929156199,
+ "ns_low": 129810.35198514564,
+ "ns_high": 132732.68484097364,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdh/{lib}",
+ "library": "rustcrypto",
+ "id": "p521-ecdh/rustcrypto",
+ "ns": 397101.2647125757,
+ "ns_low": 394464.76814599073,
+ "ns_high": 399726.03525750426,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-sign/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p521-ecdsa-sign/aws-lc-rs",
+ "ns": 84325.9635141126,
+ "ns_low": 83924.29574493854,
+ "ns_high": 84779.64494621879,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-sign/{lib}",
+ "library": "openssl",
+ "id": "p521-ecdsa-sign/openssl",
+ "ns": 132130.129325846,
+ "ns_low": 131823.93921538335,
+ "ns_high": 132474.9777185792,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-sign/{lib}",
+ "library": "rind",
+ "id": "p521-ecdsa-sign/rind",
+ "ns": 36321.745301332594,
+ "ns_low": 36233.11610419715,
+ "ns_high": 36422.178459927716,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-sign/{lib}",
+ "library": "rustcrypto",
+ "id": "p521-ecdsa-sign/rustcrypto",
+ "ns": 79728.57842766366,
+ "ns_low": 79466.38934803421,
+ "ns_high": 79971.82040938266,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-verify/{lib}",
+ "library": "aws-lc-rs",
+ "id": "p521-ecdsa-verify/aws-lc-rs",
+ "ns": 167213.53114526378,
+ "ns_low": 166194.61368345196,
+ "ns_high": 168683.6492850656,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-verify/{lib}",
+ "library": "openssl",
+ "id": "p521-ecdsa-verify/openssl",
+ "ns": 254801.01109896065,
+ "ns_low": 253525.0858063459,
+ "ns_high": 256285.80829784332,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-verify/{lib}",
+ "library": "rind",
+ "id": "p521-ecdsa-verify/rind",
+ "ns": 121063.00617644451,
+ "ns_low": 120375.05570057791,
+ "ns_high": 121918.86988025444,
+ "throughput": {
+ "Elements": 1
+ }
+ },
+ {
+ "operation": "p521-ecdsa-verify/{lib}",
+ "library": "rustcrypto",
+ "id": "p521-ecdsa-verify/rustcrypto",
+ "ns": 253061.37536279002,
+ "ns_low": 251200.85690792042,
+ "ns_high": 255881.20026495843,
+ "throughput": {
+ "Elements": 1
+ }
+ }
+ ],
+ "build_cost": {
+ "status": "failed",
+ "started": "2026-11-07T03:24:20+00:00",
+ "reason": "error: host is busy (6.6 of 10 CPUs busy)"
+ }
+}
diff --git a/benchmarks/gaps.toml b/benchmarks/gaps.toml
index 7c083f13b..02f29edc3 100644
--- a/benchmarks/gaps.toml
+++ b/benchmarks/gaps.toml
@@ -47,3 +47,33 @@ reason = "CPUs older than Broadwell and Zen lack ADX, and so do virtual CPUs tha
operations = ["chacha20poly1305/*/16KB", "xchacha20poly1305/*/16KB"]
on = ["no AES-NI"]
reason = "Without SSE4.1 rind runs Graviola's scalar Poly1305 rather than port BoringSSL's SSE2 `poly1305_vec.c` for CPUs older than Westmere, as ALGORITHMS.md records."
+
+[[gap]]
+operations = [
+ "aes128-gcm/32B",
+ "aes128-gcm/1350B",
+ "aes128-gcm-open/32B",
+ "aes128-gcm-open/1350B",
+ "aes256-gcm/32B",
+ "aes256-gcm/1350B",
+ "aes256-gcm-open/32B",
+ "chacha20poly1305/32B",
+ "quic-header-protection/aes128",
+ "quic-header-protection/aes256",
+ "quic-header-protection/chacha20",
+ "sha256/64B",
+ "sha256/1350B",
+ "sha512/64B",
+ "sha512/1350B",
+ "hmac-sha256/64B",
+ "hmac-sha256/1350B",
+ "hkdf-sha256/extract-expand",
+ "hkdf-sha256/expand",
+]
+on = ["kixtop"]
+reason = "DIT: the M4 has it, and rind turns it on and off around every call that handles a secret, which costs about 35 to 55 ns a call there; the other libraries never set it. Keeping it per call was decided with the maintainer from [#387](https://github.com/moq-dev/rind/pull/387)'s findings, and `rind::cpu::Dit::hold()` ([#431](https://github.com/moq-dev/rind/pull/431)) pays it once across a batch of calls. With DIT denied (`--cfg rind_cpu_disable` and `RIND_CPU_DISABLE_dit`), the same commit measured each of these within 10% of the fastest library but AES header protection (1.2× aws-lc-rs's 2.9 ns) and HMAC-SHA-256 at 64 B (1.15× RustCrypto's 101 ns)."
+
+[[gap]]
+operations = ["xchacha20poly1305/32B"]
+on = ["kixtop"]
+reason = "Noise: a rerun of the row on the same commit measured 1.04× aws-lc-rs's time, as did the run before this one, on a commit that changed only x86_64 code. The next refresh rechecks it."
diff --git a/benchmarks/headline-dark.svg b/benchmarks/headline-dark.svg
index 9ba096078..1330f8a7c 100644
--- a/benchmarks/headline-dark.svg
+++ b/benchmarks/headline-dark.svg
@@ -1,105 +1,105 @@