- Add test_proof_of_fingerprint_linkability proving split-blinding is broken - Add test_proof_of_linkability proving deterministic r,e is linkable - Add test_proof_of_noise_instability proving fresh random breaks correctness - Add test_proof_of_fingerprint_in_proposed_fix proving r_pk fix is unlinkable - Refactor ntru_lwr_oprf.rs for clarity - Add anyhow dependency for error handling
74 lines
2.0 KiB
TOML
74 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"
|
|
anyhow = "1.0.100"
|
|
|
|
[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
|