Files
opaque-lattice/Cargo.toml
2026-01-08 09:50:51 -07:00

73 lines
2.0 KiB
TOML

[package]
name = "opaque-lattice"
version = "0.1.0"
edition = "2024"
description = "Post-quantum OPAQUE implementation using lattice-based cryptography"
license = "MIT OR Apache-2.0"
[dependencies]
# Native backend (C FFI - faster but not WASM compatible)
pqcrypto-kyber = { version = "0.8", features = ["serialization"], optional = true }
pqcrypto-dilithium = { version = "0.5", features = ["serialization"], optional = true }
pqcrypto-traits = { version = "0.3", optional = true }
# WASM backend (pure Rust - WASM compatible)
fips203 = { version = "0.4", default-features = false, features = ["ml-kem-768", "default-rng"], optional = true }
fips204 = { version = "0.4", default-features = false, features = ["ml-dsa-65", "default-rng"], optional = true }
getrandom_03 = { package = "getrandom", version = "0.3", features = ["wasm_js"], optional = true }
getrandom_02 = { package = "getrandom", version = "0.2", features = ["js"], optional = true }
sha2 = "0.10"
sha3 = "0.10"
hkdf = "0.12"
hmac = "0.12"
argon2 = "0.5"
rand = "0.9.2"
serde = { version = "1.0", features = ["derive"] }
hex = "0.4"
thiserror = "2"
zeroize = { version = "1", features = ["derive"] }
subtle = "2.5"
[dev-dependencies]
tokio = { version = "1", features = ["full", "test-util"] }
rand_chacha = "0.9.0"
criterion = "0.8.1"
dudect-bencher = "0.6"
[[bench]]
name = "oprf_benchmark"
harness = false
[[bench]]
name = "timing_verification"
harness = false
[features]
default = ["native"]
# Native backend using pqcrypto (C FFI) - faster, not WASM compatible
native = ["dep:pqcrypto-kyber", "dep:pqcrypto-dilithium", "dep:pqcrypto-traits"]
# WASM backend using fips203/fips204 (pure Rust) - WASM compatible
wasm = ["dep:fips203", "dep:fips204", "dep:getrandom_03", "dep:getrandom_02"]
server = ["dep:axum", "dep:tokio", "dep:tower-http"]
debug-trace = []
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.tokio]
version = "1"
features = ["full"]
optional = true
[dependencies.tower-http]
version = "0.6"
features = ["cors", "fs"]
optional = true