Cargo Features

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

The 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

x25519

Enables x25519-dalek

Affects config::get_ephemeral_key_size, consts::PUBLIC_KEY_SIZE

openssl default

aes TODO: rename to aes-openssl and aes-rust

Enables openssl

symmetric ciphers
aes (openssl)

pure = typenum

TODO: use dep syntax

Enables aes of aes-gcm

aes (pure Rust)

aes-12bytes-nonce

with feature "openssl" or "pure" (aes-256-gcm)
default: 16 bytes without this

Affects consts::NONCE_LENGTH

xchacha20

Enables alloc of chacha20poly1305

Affects consts::NONCE_LENGTH

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.

aes-gcm pure?
typenum pure?
chacha20poly1305 xchacha20?

Enables chacha20poly1305

xchacha20