[package]
edition = "2021"
name = "generic-ec"
version = "0.5.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "General elliptic curve cryptography"
readme = "README.md"
keywords = ["elliptic-curves"]
categories = [
"cryptography",
"no-std",
"no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/LFDT-Lockness/generic-ec"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
"--html-in-header",
"katex-header.html",
]
[features]
all-curves = [
"curve-secp256k1",
"curve-secp256r1",
"curve-secp384r1",
"curve-stark",
"curve-ed25519",
]
alloc = [
"hex/alloc",
"curve25519?/alloc",
]
curve-ed25519 = [
"curves",
"generic-ec-curves/ed25519",
"curve25519",
]
curve-secp256k1 = [
"curves",
"generic-ec-curves/secp256k1",
]
curve-secp256r1 = [
"curves",
"generic-ec-curves/secp256r1",
]
curve-secp384r1 = [
"curves",
"generic-ec-curves/secp384r1",
]
curve-stark = [
"curves",
"generic-ec-curves/stark",
]
curves = ["generic-ec-curves"]
default = [
"std",
"serde",
]
hash-to-scalar = [
"dep:rand_hash",
"dep:digest",
"udigest",
]
serde = [
"dep:serde",
"generic-ec-core/serde",
"hex",
"serde_with",
]
std = ["alloc"]
udigest = ["dep:udigest"]
[lib]
name = "generic_ec"
path = "src/lib.rs"
[dependencies.curve25519]
version = "4"
optional = true
default-features = false
package = "curve25519-dalek"
[dependencies.digest]
version = "0.10"
optional = true
default-features = false
[dependencies.generic-ec-core]
version = "0.3.0"
[dependencies.generic-ec-curves]
version = "0.3.0"
optional = true
[dependencies.hex]
version = "0.4"
optional = true
default-features = false
[dependencies.phantom-type]
version = "0.4"
default-features = false
[dependencies.rand_core]
version = "0.6"
default-features = false
[dependencies.rand_hash]
version = "0.1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.serde_with]
version = "2"
features = ["macros"]
optional = true
default-features = false
[dependencies.subtle]
version = "2.4"
default-features = false
[dependencies.udigest]
version = "0.2.1"
features = ["derive"]
optional = true
default-features = false
[dependencies.zeroize]
version = "1"
features = ["zeroize_derive"]
default-features = false
[dev-dependencies.generic-tests]
version = "0.1"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.rand_dev]
version = "0.1"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.serde_test]
version = "1"
[dev-dependencies.sha2]
version = "0.10"
default-features = false