Cargo Features

[dependencies]
crrl = { version = "0.8.0", default-features = false, features = ["std", "alloc", "gf255_m64", "gfb254_m64", "gfb254_x86clmul", "gfb254_arm64pmull", "omnes", "decaf448", "ed25519", "ed448", "frost", "jq255e", "jq255s", "lms", "p256", "ristretto255", "secp256k1", "gls254", "x25519", "x448", "gfgen", "gf255", "gf255e", "gf255s", "gf25519", "gfp256", "gfsecp256k1", "gf448", "modint256", "gfb254", "zz64", "blake2s"] }

Set feature "w32_backend" or "w64_backend" to force use of the 32-bit or 64-bit backend explicitly. If neither is set then the backend will be
selected automatically (architectures with 64-bit pointers get the 64-bit backend, while architectures with 32-bit pointers get the 32-bit backend).
The "64-bit backend on 32-bit arch" combination might not be fully constant-time (depending on how the compiler implements multiplications on multi-limb integers) and thus should be avoided.

Default feature 'std' enables uses of heap allocation, which is used by some functions. By disabling it, a core-only library can be obtained.

default = omnes, std

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

std default = alloc
alloc frost? std

Affects crrl::frost

w32_backend w64_backend gf255_m51 gf255_m64
gfb254_m64

Affects w64::gfb254_m64

gfb254_x86clmul

Affects w64::gfb254_x86clmul

gfb254_arm64pmull

Affects w64::gfb254_arm64pmull

omnes default = decaf448, ed25519, ed448, frost, gf255, gfgen, gls254, jq255e, jq255s, lms, modint256, p256, ristretto255, secp256k1, x25519, x448
decaf448 omnes = ed448

Affects crrl::decaf448

ed25519 omnes ristretto255? x25519? = gf25519, modint256

Affects frost::ed25519, crrl::ed25519

ed448 decaf448? omnes x448? = gf448, gfgen

Affects frost::ed448, crrl::ed448

frost omnes = alloc

Affects crrl::frost

jq255e omnes = blake2s, gf255e, modint256

Affects crrl::jq255e

jq255s omnes = blake2s, gf255s, modint256

Affects crrl::jq255s

lms omnes

Affects crrl::lms

p256 omnes = gfp256, modint256

Affects frost::p256, crrl::p256

ristretto255 omnes = ed25519

Affects frost::ristretto255, crrl::ristretto255

secp256k1 omnes = gfsecp256k1, modint256

Affects w32::gfsecp256k1, w64::gfsecp256k1, frost::secp256k1, crrl::secp256k1

gls254 omnes = blake2s, gfb254, modint256

Affects crrl::gls254

x25519 omnes = ed25519

Affects crrl::x25519

x448 omnes = ed448

Affects crrl::x448

gfgen ed448? omnes

Affects w32::gfgen, w64::gfgen

gf255 omnes
gf255e jq255e?

Affects w32::GF255e, w64::GF255e

gf255s jq255s?

Affects w32::GF255s, w64::GF255s

gf25519 ed25519?

Affects w32::GF25519, w64::GF25519

gfp256 p256?

Affects w32::GFp256, w64::GFp256

gfsecp256k1 secp256k1?
gf448 ed448?

Affects w32::gf448, w64::gf448

modint256 ed25519? gls254? jq255e? jq255s? omnes p256? secp256k1?

Affects w32::ModInt256ct, w64::ModInt256ct, w64::modint32

gfb254 gls254?

Affects w32::gfb254_m32, w64::gfb254_x86clmul, w64::gfb254_arm64pmull, w64::gfb254_m64

gls254bench zz32 zz64
blake2s gls254? jq255e? jq255s?

Affects crrl::blake2s