Cargo Features

elliptic-curve = { version = "0.13.8", default-features = false, features = ["std", "alloc", "arithmetic", "bits", "dev", "hash2curve", "ecdh", "group", "hazmat", "jwk", "pkcs8", "pem", "serde", "voprf"] }
default = arithmetic

The arithmetic feature is set by default whenever elliptic-curve is added without default-features = false somewhere in the dependency tree.

std = alloc

Enables std of optional pkcs8, rand_core, and optional sec1

alloc jwk? pem? serde? std?

Enables alloc of base16ct, optional ff, optional group, optional pkcs8, optional sec1, and zeroize

arithmetic default bits? dev? ecdh? hash2curve? pem? = group

Affects elliptic-curve::ops, elliptic-curve::weierstrass, point::AffinePoint, point::ProjectivePoint, point::BatchNormalize, scalar::Scalar

bits = arithmetic

Enables bits of ff and tap


hack for minimal-versions support for bits

Affects dev::ScalarBits, scalar::ScalarBits

dev = arithmetic, pem, pkcs8

Enables hex-literal

Affects elliptic-curve::dev

hash2curve = arithmetic, digest

Affects elliptic-curve::hash2curve

ecdh = arithmetic, digest

Enables hkdf

Affects elliptic-curve::ecdh

group arithmetic = ff
jwk = alloc, serde

Enables serde_json, alloc of zeroize and base64ct


optional dependencies

pkcs8 dev? pem? serde? = sec1

Affects elliptic-curve::ALGORITHM_OID

pem dev? = alloc, arithmetic, pkcs8

Enables pem-rfc7468, pem of sec1

serde jwk? = alloc, pkcs8

Enables serde of sec1, serdect

voprf = digest

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

digest ecdh? hash2curve? voprf?

With default (core-api)

ff group?