mirror of
https://github.com/rosenpass/rosenpass.git
synced 2026-02-27 14:03:11 -08:00
This commit introduces two kinds of benchmarks: 1. Cryptographic Primitives. Measures the performance of all available implementations of cryptographic algorithms using traditional benchmarking. Uses criterion. 2. Protocol Runs. Measures the time each step in the protocol takes. Measured using a tracing-based approach. The benchmarks are run on CI and an interactive visual overview is written to the gh-pages branch. If a benchmark takes more than twice the time than the reference commit (for PR: the main branch), the action fails.
67 lines
2.1 KiB
TOML
67 lines
2.1 KiB
TOML
[package]
|
|
name = "rosenpass-ciphers"
|
|
authors = ["Karolin Varner <karo@cupdev.net>", "wucke13 <wucke13@gmail.com>"]
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Rosenpass internal ciphers and other cryptographic primitives used by rosenpass."
|
|
homepage = "https://rosenpass.eu/"
|
|
repository = "https://github.com/rosenpass/rosenpass"
|
|
readme = "readme.md"
|
|
rust-version = "1.77.0"
|
|
|
|
[features]
|
|
experiment_libcrux_all = [
|
|
"experiment_libcrux_blake2",
|
|
"experiment_libcrux_chachapoly",
|
|
"experiment_libcrux_chachapoly_test",
|
|
"experiment_libcrux_kyber",
|
|
]
|
|
experiment_libcrux_blake2 = ["dep:libcrux-blake2", "dep:thiserror"]
|
|
experiment_libcrux_chachapoly = ["dep:libcrux-chacha20poly1305"]
|
|
experiment_libcrux_chachapoly_test = [
|
|
"experiment_libcrux_chachapoly",
|
|
"dep:libcrux",
|
|
]
|
|
experiment_libcrux_kyber = ["dep:libcrux-ml-kem", "dep:rand"]
|
|
bench = [
|
|
"dep:thiserror",
|
|
"dep:rand",
|
|
"dep:libcrux",
|
|
"dep:libcrux-blake2",
|
|
"dep:libcrux-ml-kem",
|
|
"dep:libcrux-chacha20poly1305",
|
|
]
|
|
|
|
[[bench]]
|
|
name = "primitives"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
rosenpass-to = { workspace = true }
|
|
rosenpass-constant-time = { workspace = true }
|
|
rosenpass-secret-memory = { workspace = true }
|
|
rosenpass-oqs = { workspace = true }
|
|
rosenpass-util = { workspace = true }
|
|
rosenpass-cipher-traits = { workspace = true }
|
|
static_assertions = { workspace = true }
|
|
zeroize = { workspace = true }
|
|
chacha20poly1305 = { workspace = true }
|
|
blake2 = { workspace = true }
|
|
sha3 = { workspace = true }
|
|
rand = { workspace = true, optional = true }
|
|
thiserror = { workspace = true, optional = true }
|
|
|
|
libcrux-chacha20poly1305 = { workspace = true, optional = true }
|
|
libcrux-blake2 = { workspace = true, optional = true }
|
|
libcrux-ml-kem = { workspace = true, optional = true, features = ["kyber"] }
|
|
|
|
# this one is only used in testing, so it requires the `experiment_libcrux_chachapoly_test` feature.
|
|
libcrux = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
rand = { workspace = true }
|
|
criterion = { workspace = true }
|