[package] name = "elliptic-curve" version = "0.14.0-rc.1" description = """ General purpose Elliptic Curve Cryptography (ECC) support, including types and traits for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof. """ authors = ["RustCrypto Developers"] license = "Apache-2.0 OR MIT" homepage = "https://github.com/RustCrypto/traits/tree/master/elliptic-curve" repository = "https://github.com/RustCrypto/traits" readme = "README.md" categories = ["cryptography", "no-std"] keywords = ["crypto", "ecc", "elliptic", "weierstrass"] edition = "2021" rust-version = "1.73" [dependencies] base16ct = "0.2" crypto-bigint = { version = "0.6.0-rc.2", default-features = false, features = ["rand_core", "hybrid-array", "zeroize"] } hybrid-array = { version = "0.2.0-rc.8", default-features = false, features = ["zeroize"] } rand_core = { version = "0.6.4", default-features = false } subtle = { version = "2.6", default-features = false } zeroize = { version = "1.7", default-features = false } # optional dependencies base64ct = { version = "1", optional = true, default-features = false, features = ["alloc"] } digest = { version = "=0.11.0-pre.9", optional = true } ff = { version = "0.13", optional = true, default-features = false } group = { version = "0.13", optional = true, default-features = false } hkdf = { version = "=0.13.0-pre.4", optional = true, default-features = false } hex-literal = { version = "0.4", optional = true } pem-rfc7468 = { version = "1.0.0-rc.1", optional = true, features = ["alloc"] } pkcs8 = { version = "0.11.0-rc.1", optional = true, default-features = false } sec1 = { version = "0.8.0-rc.2", optional = true, features = ["subtle", "zeroize"] } serdect = { version = "=0.3.0-rc.0", optional = true, default-features = false, features = ["alloc"] } serde_json = { version = "1.0.121", optional = true, default-features = false, features = ["alloc"] } tap = { version = "1.0.1", optional = true, default-features = false } # hack for minimal-versions support for `bits` [dev-dependencies] hex-literal = "0.4" sha2 = "=0.11.0-pre.4" sha3 = "=0.11.0-pre.4" [features] default = ["arithmetic"] alloc = [ "base16ct/alloc", "ff?/alloc", "group?/alloc", "pkcs8?/alloc", "sec1?/alloc", "zeroize/alloc" ] std = [ "alloc", "rand_core/std", "pkcs8?/std", "sec1?/std" ] arithmetic = ["group"] bits = ["arithmetic", "ff/bits", "dep:tap"] dev = ["arithmetic", "dep:hex-literal", "pem", "pkcs8"] hash2curve = ["arithmetic", "digest"] ecdh = ["arithmetic", "digest", "dep:hkdf"] group = ["dep:group", "ff"] jwk = ["dep:base64ct", "dep:serde_json", "alloc", "serde", "zeroize/alloc"] pkcs8 = ["dep:pkcs8", "sec1"] pem = ["dep:pem-rfc7468", "alloc", "arithmetic", "pkcs8", "sec1/pem"] serde = ["dep:serdect", "alloc", "pkcs8", "sec1/serde"] voprf = ["digest"] [package.metadata.docs.rs] features = ["bits", "ecdh", "hash2curve", "jwk", "pem", "std", "voprf"] rustdoc-args = ["--cfg", "docsrs"]