Cargo Features

[dependencies]
hpke_pq = { version = "0.11.1", default-features = false, features = ["x25519", "p384", "p256", "xyber768d00", "serde_impls", "alloc", "std"] }
default = alloc, p256, x25519

"p256" enables the use of ECDH-NIST-P256 as a KEM
"p384" enables the use of ECDH-NIST-P384 as a KEM
"x25519" enables the use of the X25519 as a KEM
"xyber768d00" enables the use of X25519Kyber768Draft00 as a KEM

x25519 default xyber768d00?

Enables x25519-dalek

p384

Enables p384

p256 default

Enables p256

xyber768d00 = x25519

Enables safe_pqc_kyber

Affects kem::xyber768d00

serde_impls = serde

Include serde Serialize/Deserialize impls for all relevant types

Enables serde of generic-array ^0.14

alloc default

Include allocating methods like open() and seal()

Affects single_shot::single_shot_seal, single_shot::single_shot_open

std

Includes an implementation of std::error::Error for HpkeError. Also does what alloc does.

Affects single_shot::single_shot_seal, single_shot::single_shot_open

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

serde serde_impls?