This commit is contained in:
2026-01-08 09:50:51 -07:00
parent 50953c7007
commit 26766bb8d9
8 changed files with 443 additions and 170 deletions

View File

@@ -6,9 +6,16 @@ description = "Post-quantum OPAQUE implementation using lattice-based cryptograp
license = "MIT OR Apache-2.0"
[dependencies]
pqcrypto-kyber = { version = "0.8", features = ["serialization"] }
pqcrypto-dilithium = { version = "0.5", features = ["serialization"] }
pqcrypto-traits = "0.3"
# 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"
@@ -42,7 +49,11 @@ name = "timing_verification"
harness = false
[features]
default = []
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 = []