Cargo Features

[dependencies]
ed25519-dalek-fiat = { version = "0.1.0", default-features = false, features = ["std", "alloc", "nightly", "serde", "batch", "batch_deterministic", "asm", "legacy_compatibility", "fiat_u64_backend", "u64_backend", "u32_backend", "simd_backend"] }
default = rand, std, u64_backend

These default features are set whenever ed25519-dalek-fiat is added without default-features = false somewhere in the dependency tree.

std default

Enables std of curve25519-dalek-fiat, ed25519 ^1, rand, serde, and sha2 ^0.9

rand:

Option (enabled by default): without "std" rand uses libcore; this option enables functionality expected to be available on a standard platform.

Affects batch::verify_batch

alloc

Enables alloc of curve25519-dalek-fiat, rand, and zeroize

rand:

Option: "alloc" enables support for Vec and Box when not using "std"

Affects batch::verify_batch

nightly

Enables nightly of curve25519-dalek-fiat

serde = serde_bytes, serde_crate

Enables serde of ed25519 ^1

batch = merlin, rand

Affects batch::verify_batch

batch_deterministic = merlin, rand, rand_core

This feature enables deterministic batch verification.

Affects batch::verify_batch

asm

Enables asm of sha2 ^0.9

legacy_compatibility

This features turns off stricter checking for scalar malleability in signatures

fiat_u64_backend

Enables fiat_u64_backend of curve25519-dalek-fiat

curve25519-dalek-fiat:

The fiat-u64 backend uses u64s with u128 products.

u64_backend default

Enables u64_backend of curve25519-dalek-fiat

curve25519-dalek-fiat:

The u64 backend uses u64s with u128 products.

u32_backend

Enables u32_backend of curve25519-dalek-fiat

curve25519-dalek-fiat:

The u32 backend uses u32s with u64 products.

simd_backend

Enables simd_backend of curve25519-dalek-fiat

curve25519-dalek-fiat:

The SIMD backend uses parallel formulas, using either AVX2 or AVX512-IFMA.

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.

merlin batch? batch_deterministic?

Enables merlin ^2

rand default alloc? batch? batch_deterministic? std
rand_core batch_deterministic?
serde_crate serde? std

Enables serde

serde_bytes serde?