k256 0.5.7

secp256k1 elliptic curve library written in pure Rust with support for ECDSA signing/verification (including Ethereum-style signatures with public-key recovery), Elliptic Curve Diffie-Hellman (ECDH), and general purpose secp256k1 curve arithmetic useful for implementing arbitrary group-based protocols.
[package]
name = "k256"
description = """
secp256k1 elliptic curve library written in pure Rust with support for ECDSA
signing/verification (including Ethereum-style signatures with public-key
recovery), Elliptic Curve Diffie-Hellman (ECDH), and general purpose secp256k1
curve arithmetic useful for implementing arbitrary group-based protocols.
"""
version = "0.5.7"
authors = ["RustCrypto Developers"]
license = "Apache-2.0 OR MIT"
documentation = "https://docs.rs/elliptic-curve"
repository = "https://github.com/RustCrypto/elliptic-curves/tree/master/k256"
readme = "README.md"
edition = "2018"
categories = ["cryptography", "cryptography::cryptocurrencies", "no-std"]
keywords = ["bitcoin", "crypto", "ecc", "ethereum", "secp256k1"]

[dependencies]
cfg-if = "0.1"
ecdsa-core = { version = "0.8.1", package = "ecdsa", optional = true, default-features = false }
elliptic-curve = { version = "0.6.4", default-features = false }
sha2 = { version = "0.9", optional = true, default-features = false }
sha3 = { version = "0.9", optional = true, default-features = false }

[dev-dependencies]
criterion = "0.3"
ecdsa-core = { version = "0.8.2", package = "ecdsa", default-features = false, features = ["dev"] }
hex = "0.4" # TODO: switch to hex-literal
hex-literal = "0.2"
num-bigint = "0.3"
num-traits = "0.2"
proptest = "0.10"
rand_core = { version = "0.5", features = ["getrandom"] }

[features]
default = ["arithmetic", "oid", "std"]
arithmetic = ["elliptic-curve/arithmetic"]
digest = ["elliptic-curve/digest", "ecdsa-core/digest"]
ecdh = ["elliptic-curve/ecdh", "zeroize"]
ecdsa = ["arithmetic", "digest", "ecdsa-core/sign", "ecdsa-core/verify", "zeroize"]
endomorphism-mul = [] # TODO(tarcieri): remove before v0.6 release
expose-field = ["arithmetic"]
field-montgomery = []
force-32-bit = []
keccak256 = ["digest", "sha3"]
oid = ["elliptic-curve/oid"]
sha256 = ["digest", "sha2"]
test-vectors = []
std = ["elliptic-curve/std"]
zeroize = ["elliptic-curve/zeroize"]

[package.metadata.docs.rs]
features = ["ecdh", "ecdsa", "sha256", "keccak256"]
rustdoc-args = ["--cfg", "docsrs"]

[[bench]]
name = "bench"
path = "bench/bench.rs"
harness = false
required-features = ["expose-field"]