[package] name = "dhkem" description = """ Pure Rust implementation of Key Encapsulation Mechanism (KEM) adapters for Elliptic Curve Diffie Hellman (ECDH) protocols """ version = "0.0.1-alpha" edition = "2021" rust-version = "1.74" license = "Apache-2.0 OR MIT" repository = "https://github.com/RustCrypto/KEMs/tree/master/dhkem" categories = ["cryptography"] keywords = ["crypto", "ecdh", "ecc"] readme = "README.md" [dependencies] kem = "0.3.0-pre.0" rand_core = "0.6.4" # optional dependencies elliptic-curve = { version = "0.13.8", optional = true, default-features = false } k256 = { version = "0.13.3", optional = true, default-features = false, features = ["arithmetic"] } p256 = { version = "0.13.2", optional = true, default-features = false, features = ["arithmetic"] } p384 = { version = "0.13.0", optional = true, default-features = false, features = ["arithmetic"] } p521 = { version = "0.13.3", optional = true, default-features = false, features = ["arithmetic"] } x25519 = { version = "2.0.1", package = "x25519-dalek", optional = true, default-features = false } zeroize = { version = "1.8.1", optional = true, default-features = false } [features] default = ["zeroize"] ecdh = ["dep:elliptic-curve", "elliptic-curve/ecdh"] k256 = ["dep:k256", "ecdh"] p256 = ["dep:p256", "ecdh"] p384 = ["dep:p384", "ecdh"] p521 = ["dep:p521", "ecdh"] x25519 = ["dep:x25519", "x25519/reusable_secrets"] zeroize = ["dep:zeroize"] [dev-dependencies] hex-literal = "0.4.1" hkdf = "0.12.4" rand = "0.8.5" sha2 = "0.10.8" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]