Cargo Features

[dependencies]
ecies = { version = "0.2.9", default-features = false, features = ["std", "secp256k1", "x25519", "ed25519", "aes-openssl", "aes-rust", "aes-short-nonce", "openssl", "pure", "aes-12bytes-nonce", "xchacha20"] }
default = aes-openssl

The aes-openssl feature is set by default whenever ecies is added without default-features = false somewhere in the dependency tree.

std

Enables std of hkdf

hash

and std of once_cell and sha2

once_cell:

configuration

secp256k1

curves
no usage, TODO: make optional after 0.3.0: secp256k1 = ["dep:libsecp256k1"]

x25519

Enables curve25519-dalek and x25519-dalek

Affects config::get_ephemeral_key_size, consts::PUBLIC_KEY_SIZE

ed25519

Enables curve25519-dalek and ed25519-dalek

Affects config::get_ephemeral_key_size, consts::PUBLIC_KEY_SIZE

aes-openssl default openssl?

aes

Enables openssl

symmetric ciphers
aes (openssl)

aes-rust pure?

Enables aes-gcm and typenum

aes-gcm:

aes (pure Rust)

aes-short-nonce aes-12bytes-nonce?

12 bytes nonce, default: 16 bytes

Affects consts::NONCE_LENGTH

openssl = aes-openssl

deprecated aes features, TODO: remove

pure = aes-rust
aes-12bytes-nonce = aes-short-nonce
xchacha20

Enables chacha20poly1305

Affects consts::NONCE_LENGTH