Cargo Features

[dependencies]
snow = { version = "0.10.0-alpha.1", default-features = false, features = ["default-resolver", "default-resolver-crypto", "nightly", "ring-resolver", "ring-accelerated", "libsodium-resolver", "libsodium-accelerated", "vector-tests", "hfs", "risky-raw-split", "pqclean_kyber1024", "xchachapoly", "std", "use-curve25519", "use-chacha20poly1305", "use-xchacha20poly1305", "use-blake2", "use-sha2", "use-aes-gcm", "use-pqcrypto-kyber1024", "use-p256"] }

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.

If default features are disabled and default-resolver is used, required crypto primitives must be enabled individually.

default = default-resolver, default-resolver-crypto, std

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

default-resolver default libsodium-accelerated? ring-accelerated? use-aes-gcm? use-blake2? use-chacha20poly1305? use-curve25519? use-p256? use-pqcrypto-kyber1024? use-sha2? use-xchacha20poly1305?
default-resolver-crypto default = use-aes-gcm, use-blake2, use-chacha20poly1305, use-curve25519, use-sha2
nightly

Enables simd_opt of blake2 and nightly of subtle

subtle:

DEPRECATED: As of 2.4.1, this feature does nothing.

ring-resolver ring-accelerated? = ring, std
ring-accelerated = default-resolver, ring-resolver, std
libsodium-resolver libsodium-accelerated? = byteorder, sodiumoxide, std
libsodium-accelerated = default-resolver, libsodium-resolver, std
vector-tests
hfs use-pqcrypto-kyber1024?

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

risky-raw-split
pqclean_kyber1024 = use-pqcrypto-kyber1024

Backwards-compatibility aliases

xchachapoly = use-xchacha20poly1305
std default libsodium-accelerated? libsodium-resolver? ring-accelerated? ring-resolver?

Enable std features on dependencies if possible.

Enables std of blake2, byteorder, and rand_core ^0.6

rand_core:

TODO: Waiting on https://github.com/RustCrypto/traits/issues/1642

and std of ring, sha2, and subtle

ring:

ring crypto provider

use-curve25519 default-resolver-crypto = curve25519-dalek, default-resolver

Crypto primitives for default-resolver.

use-chacha20poly1305 default-resolver-crypto = chacha20poly1305, default-resolver
use-xchacha20poly1305 xchachapoly? = chacha20poly1305, default-resolver
use-blake2 default-resolver-crypto = blake2, default-resolver
use-sha2 default-resolver-crypto = default-resolver, sha2
use-aes-gcm default-resolver-crypto = aes-gcm, default-resolver
use-pqcrypto-kyber1024 pqclean_kyber1024? = default-resolver, hfs, pqcrypto-kyber, pqcrypto-traits
use-p256 = default-resolver, p256

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 use-aes-gcm?

Enables aes-gcm

default crypto provider

chacha20poly1305 use-chacha20poly1305? use-xchacha20poly1305?
blake2 nightly? std use-blake2?
sha2 std use-sha2?
curve25519-dalek use-curve25519?
p256 use-p256?

Affects constants::MAXDHLEN

pqcrypto-kyber use-pqcrypto-kyber1024?
pqcrypto-traits use-pqcrypto-kyber1024?
ring ring-resolver? std
sodiumoxide libsodium-resolver?

Enables sodiumoxide

libsodium crypto provider

byteorder libsodium-resolver? std
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy