tacet 0.3.2

Detect timing side channels in cryptographic code
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.90"
name = "tacet"
version = "0.3.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Detect timing side channels in cryptographic code"
homepage = "https://github.com/agucova/tacet"
documentation = "https://docs.rs/tacet"
readme = "README.md"
keywords = [
    "security",
    "cryptography",
    "timing",
    "side-channel",
]
categories = [
    "cryptography",
    "development-tools::testing",
]
license = "MPL-2.0"
repository = "https://github.com/agucova/tacet"

[features]
default = [
    "parallel",
    "kperf-default",
    "perf-default",
    "macros",
    "thread-priority",
]
kperf = ["dep:kperf-rs"]
kperf-default = ["kperf"]
macros = ["dep:tacet-macros"]
parallel = [
    "dep:rayon",
    "tacet-core/parallel",
]
perf = ["dep:perf_event2"]
perf-default = ["perf"]
perf-mmap = [
    "perf",
    "dep:perf-event-open-sys",
    "dep:memmap2",
]
power = []
progress-bars = ["dep:indicatif"]
thread-priority = ["dep:thread-priority"]

[lib]
name = "tacet"
path = "src/lib.rs"

[[example]]
name = "aes"
path = "examples/aes.rs"

[[example]]
name = "analyze_silent"
path = "examples/analyze_silent.rs"

[[example]]
name = "analyze_silent_interleaved"
path = "examples/analyze_silent_interleaved.rs"

[[example]]
name = "check_theta_floor"
path = "examples/check_theta_floor.rs"

[[example]]
name = "compare"
path = "examples/compare.rs"

[[example]]
name = "diag_pmu"
path = "examples/diag_pmu.rs"

[[example]]
name = "mbedtls_diagnostic"
path = "examples/mbedtls_diagnostic.rs"

[[example]]
name = "simple"
path = "examples/simple.rs"

[[example]]
name = "test_block_size"
path = "examples/test_block_size.rs"

[[example]]
name = "test_indirect_call"
path = "examples/test_indirect_call.rs"

[[example]]
name = "test_interleaved"
path = "examples/test_interleaved.rs"

[[example]]
name = "test_oracle_delay"
path = "examples/test_oracle_delay.rs"

[[example]]
name = "test_xor"
path = "examples/test_xor.rs"

[[test]]
name = "calibration"
path = "tests/calibration.rs"

[[test]]
name = "core"
path = "tests/core.rs"

[[test]]
name = "crypto"
path = "tests/crypto.rs"

[[test]]
name = "investigation"
path = "tests/investigation.rs"

[[test]]
name = "macros"
path = "tests/macros.rs"

[[test]]
name = "perf_comparison"
path = "tests/perf_comparison.rs"

[[test]]
name = "perf_mmap"
path = "tests/perf_mmap.rs"

[[test]]
name = "perf_mmap_validation"
path = "tests/perf_mmap_validation.rs"

[[test]]
name = "platform"
path = "tests/platform.rs"

[[test]]
name = "runtime"
path = "tests/runtime.rs"

[[test]]
name = "synthetic"
path = "tests/synthetic.rs"

[[test]]
name = "unit"
path = "tests/unit.rs"

[[bench]]
name = "comparison"
path = "benches/comparison.rs"
harness = false

[[bench]]
name = "oracle"
path = "benches/oracle.rs"

[[bench]]
name = "perf_overhead"
path = "benches/perf_overhead.rs"
harness = false

[dependencies.colored]
version = "3.0.0"

[dependencies.indicatif]
version = "0.17"
optional = true

[dependencies.nalgebra]
version = "0.34.1"
features = ["std"]
default-features = false

[dependencies.rand]
version = "0.9.2"

[dependencies.rand_distr]
version = "0.5.1"

[dependencies.rand_xoshiro]
version = "0.7"

[dependencies.rayon]
version = "1.11.0"
optional = true

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.148"

[dependencies.statrs]
version = "0.18"

[dependencies.tacet-core]
version = "0.3.2"

[dependencies.tacet-macros]
version = "0.3.2"
optional = true

[dependencies.thread-priority]
version = "1.2.0"
optional = true

[dependencies.tracing]
version = "0.1"

[dev-dependencies.aes]
version = "0.8"

[dev-dependencies.aes-gcm]
version = "0.10.3"

[dev-dependencies.blake2]
version = "0.10"

[dev-dependencies.chacha20poly1305]
version = "0.10"

[dev-dependencies.cipher]
version = "0.4"
features = ["block-padding"]

[dev-dependencies.criterion]
version = "0.8"

[dev-dependencies.curve25519-dalek]
version = "4.1"

[dev-dependencies.dudect-bencher]
version = "0.6"

[dev-dependencies.num-bigint]
version = "0.4"

[dev-dependencies.num-traits]
version = "0.2"

[dev-dependencies.pqcrypto-dilithium]
version = "0.5"

[dev-dependencies.pqcrypto-falcon]
version = "0.3"

[dev-dependencies.pqcrypto-kyber]
version = "0.8"

[dev-dependencies.pqcrypto-sphincsplus]
version = "0.7"

[dev-dependencies.pqcrypto-traits]
version = "0.3.5"

[dev-dependencies.regex]
version = "1.10"

[dev-dependencies.ring]
version = "0.17"

[dev-dependencies.rsa]
version = "0.9"

[dev-dependencies.sha2]
version = "0.10.9"

[dev-dependencies.sha3]
version = "0.10"

[dev-dependencies.subtle]
version = "2.6.1"

[dev-dependencies.tempfile]
version = "3.8"

[dev-dependencies.tokio]
version = "1"
features = [
    "rt",
    "time",
    "macros",
    "rt-multi-thread",
]

[dev-dependencies.tracing-subscriber]
version = "0.3.22"
features = ["env-filter"]

[dev-dependencies.trybuild]
version = "1.0"

[dev-dependencies.x25519-dalek]
version = "2.0"

[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"

[target.'cfg(target_os = "linux")'.dependencies.memmap2]
version = "0.9"
optional = true

[target.'cfg(target_os = "linux")'.dependencies.perf-event-open-sys]
version = "4.0"
optional = true

[target.'cfg(target_os = "linux")'.dependencies.perf_event2]
version = "0.7"
optional = true
package = "perf-event2"

[target.'cfg(target_os = "macos")'.dependencies.kperf-rs]
version = "0.1.1"
optional = true

[target.'cfg(target_os = "macos")'.dependencies.libc]
version = "0.2"