[package] name = "generic-ec" version = "0.4.3" edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/LFDT-Lockness/generic-ec" description = "General elliptic curve cryptography" readme = "../README.md" categories = ["cryptography", "no-std", "no-std::no-alloc"] keywords = ["elliptic-curves"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] generic-ec-core = { version = "0.2", path = "../generic-ec-core" } generic-ec-curves = { version = "0.2", path = "../generic-ec-curves", optional = true } udigest = { workspace = true, features = ["derive"], optional = true } subtle.workspace = true rand_core.workspace = true zeroize = { workspace = true, features = ["zeroize_derive"] } serde = { workspace = true, features = ["derive"], optional = true } serde_with = { workspace = true, features = ["macros"], optional = true } hex = { workspace = true, optional = true } phantom-type = { version = "0.4", default-features = false } digest = { version = "0.10", default-features = false, optional = true } rand_hash = { version = "0.1", optional = true } # We use this dependency when both `curve-ed25519` and `alloc` features are enabled, # to provide `generic_ec::multiscalar::Dalek` curve25519 = { workspace = true, optional = true } [dev-dependencies] rand.workspace = true rand_dev.workspace = true sha2.workspace = true serde_json.workspace = true serde_test.workspace = true generic-tests.workspace = true [features] default = ["std", "serde"] std = ["alloc"] alloc = ["hex/alloc", "curve25519?/alloc"] serde = ["dep:serde", "generic-ec-core/serde", "hex", "serde_with"] udigest = ["dep:udigest"] curves = ["generic-ec-curves"] curve-secp256k1 = ["curves", "generic-ec-curves/secp256k1"] curve-secp256r1 = ["curves", "generic-ec-curves/secp256r1"] curve-stark = ["curves", "generic-ec-curves/stark"] curve-ed25519 = ["curves", "generic-ec-curves/ed25519", "curve25519"] all-curves = ["curve-secp256k1", "curve-secp256r1", "curve-stark", "curve-ed25519"] hash-to-scalar = ["dep:rand_hash", "dep:digest", "udigest"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "katex-header.html"]