Cargo Features

snow = { version = "0.9.6", default-features = false, features = ["default-resolver", "nightly", "ring-resolver", "ring-accelerated", "libsodium-resolver", "libsodium-accelerated", "vector-tests", "hfs", "pqclean_kyber1024", "xchachapoly", "risky-raw-split"] }

This is slightly mumbo-jumboey, but in short:
Features with a -resolver suffix simply enables the existence of a specific resolver,
and -accelerated suffix means that this resolver will be the default used by the Builder.

default = default-resolver

The default-resolver feature is set by default whenever snow is added without default-features = false somewhere in the dependency tree.

default-resolver default libsodium-accelerated? pqclean_kyber1024? ring-accelerated? xchachapoly? = aes-gcm, blake2, chacha20poly1305, curve25519-dalek, sha2

Enables simd_opt of blake2 and nightly of subtle


DEPRECATED: As of 2.4.1, this feature does nothing.

ring-resolver ring-accelerated? = ring
ring-accelerated = default-resolver, ring-resolver
libsodium-resolver libsodium-accelerated? = byteorder, sodiumoxide
libsodium-accelerated = default-resolver, libsodium-resolver
hfs pqclean_kyber1024?

Affects constants::MAXKEMPUBLEN, constants::MAXKEMCTLEN, constants::MAXKEMSSLEN, params::KemChoice, params::NoiseParams.kem, resolvers::CryptoResolver.resolve_kem, types::Kem

pqclean_kyber1024 = default-resolver, hfs, pqcrypto-kyber, pqcrypto-traits
xchachapoly = chacha20poly1305, default-resolver

Features from optional dependencies

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

aes-gcm default-resolver

Enables aes-gcm

default crypto provider

chacha20poly1305 default-resolver xchachapoly?
blake2 default-resolver nightly?
sha2 default-resolver
curve25519-dalek default-resolver
pqcrypto-kyber pqclean_kyber1024?
pqcrypto-traits pqclean_kyber1024?
ring ring-resolver?

Enables ring

ring crypto provider

sodiumoxide libsodium-resolver?

Enables sodiumoxide

libsodium crypto provider

byteorder libsodium-resolver?