[package] name = "dleq-mirror" version = "0.4.1" description = "Implementation of single and cross-curve Discrete Log Equality proofs. Mirrored by sneurlax from serai for downstream crate-publishing purposes until serai publishes their crates; use the versions from serai in production. This crate will be unpublished/deleted as soon as possible." license = "MIT" repository = "https://github.com/serai-dex/serai/tree/develop/crypto/dleq" authors = ["Luke Parker "] edition = "2021" rust-version = "1.79" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [lints] workspace = true [dependencies] rustversion = "1" thiserror = { version = "1", optional = true } rand_core = { version = "0.6", default-features = false } zeroize = { version = "^1.5", default-features = false, features = ["zeroize_derive"] } digest = { version = "0.10", default-features = false } transcript = { package = "flexible-transcript-mirror", path = "../transcript", version = "^0.3.2", default-features = false } ff = { version = "0.13", default-features = false } group = { version = "0.13", default-features = false } multiexp = { package = "multiexp-mirror", path = "../multiexp", version = "0.4", default-features = false, features = ["batch"], optional = true } [dev-dependencies] hex-literal = "0.4" rand_core = { version = "0.6", features = ["getrandom"] } blake2 = "0.10" k256 = { version = "^0.13.1", default-features = false, features = ["std", "arithmetic", "bits"] } dalek-ff-group = { package = "dalek-ff-group-mirror", path = "../dalek-ff-group", version = "0.3.0" } transcript = { package = "flexible-transcript-mirror", path = "../transcript", version = "0.3.1", features = ["recommended"] } [features] std = ["rand_core/std", "zeroize/std", "digest/std", "transcript/std", "ff/std", "multiexp?/std"] serialize = ["std"] # Needed for cross-group DLEqs secure_capacity_difference = [] experimental = ["std", "thiserror", "multiexp"] default = [ "std", # Only applies to experimental, yet is default to ensure security # experimental doesn't mandate it itself in case two curves with extreme # capacity differences are desired to be used together, in which case the user # must specify experimental without default features "secure_capacity_difference" ]