[package] name = "p256k" version = "0.0.1-alpha" description = """ secp256k1 elliptic curve library written in pure Rust with support for ECDSA signing/verification/public-key recovery, Taproot Schnorr signatures (BIP340), Elliptic Curve Diffie-Hellman (ECDH), and general-purpose secp256k1 elliptic curve group operations which can be used to implement arbitrary protocols """ authors = ["RustCrypto Developers"] license = "Apache-2.0 OR MIT" documentation = "https://docs.rs/p256k" homepage = "https://github.com/RustCrypto/elliptic-curves/tree/master/p256k" repository = "https://github.com/RustCrypto/elliptic-curves" readme = "README.md" categories = ["cryptography", "cryptography::cryptocurrencies", "no-std"] keywords = ["bitcoin", "crypto", "ecc", "ethereum", "secp256k1"] edition = "2021" rust-version = "1.73" [dependencies] cfg-if = "1.0" elliptic-curve = { version = "=0.14.0-pre.6", default-features = false, features = ["sec1"] } # optional dependencies once_cell = { version = "1.19", optional = true, default-features = false } ecdsa-core = { version = "=0.17.0-pre.7", package = "ecdsa", optional = true, default-features = false, features = ["der"] } hex-literal = { version = "0.4", optional = true } serdect = { version = "0.2", optional = true, default-features = false } sha2 = { version = "=0.11.0-pre.4", optional = true, default-features = false } signature = { version = "=2.3.0-pre.4", optional = true } [dev-dependencies] blobby = "0.3" criterion = "0.5" ecdsa-core = { version = "=0.17.0-pre.7", package = "ecdsa", default-features = false, features = ["dev"] } hex = "0.4.3" hex-literal = "0.4" num-bigint = "0.4" num-traits = "0.2" proptest = "1.5" rand_core = { version = "0.6", features = ["getrandom"] } sha3 = { version = "=0.11.0-pre.4", default-features = false } [features] default = ["arithmetic", "ecdsa", "pkcs8", "precomputed-tables", "schnorr", "std"] alloc = ["ecdsa-core?/alloc", "elliptic-curve/alloc"] std = ["alloc", "ecdsa-core?/std", "elliptic-curve/std", "once_cell?/std"] arithmetic = ["elliptic-curve/arithmetic"] bits = ["arithmetic", "elliptic-curve/bits"] critical-section = ["once_cell/critical-section", "precomputed-tables"] digest = ["ecdsa-core/digest", "ecdsa-core/hazmat"] ecdh = ["arithmetic", "elliptic-curve/ecdh"] ecdsa = ["arithmetic", "ecdsa-core/signing", "ecdsa-core/verifying", "sha256"] expose-field = ["arithmetic"] hash2curve = ["arithmetic", "elliptic-curve/hash2curve"] jwk = ["elliptic-curve/jwk"] pem = ["ecdsa-core/pem", "elliptic-curve/pem", "pkcs8"] pkcs8 = ["ecdsa-core/pkcs8", "elliptic-curve/pkcs8"] precomputed-tables = ["arithmetic", "once_cell"] schnorr = ["arithmetic", "sha256", "signature"] serde = ["ecdsa-core/serde", "elliptic-curve/serde", "serdect"] sha256 = ["digest", "sha2"] test-vectors = ["hex-literal"] [package.metadata.docs.rs] features = ["ecdh", "ecdsa", "schnorr"] rustdoc-args = ["--cfg", "docsrs"] [[bench]] name = "ecdsa" harness = false required-features = ["ecdsa", "sha256"] [[bench]] name = "field" harness = false required-features = ["expose-field"] [[bench]] name = "scalar" harness = false