Cargo Features
[dependencies]
ursa = { version = "0.3.7", default-features = false, features = ["aescbc", "aescbc_native", "aesgcm_native", "aesgcm", "asm", "benchmarkaesgcm", "benchmarked25519", "benchmarksecp256k1", "benchmarkxchacha20poly1305", "bls_bls12381", "bls_bn254", "bls_bn254_asm", "cl", "cl_native", "chacha20poly1305", "chacha20poly1305_native", "ecdh_secp256k1", "ecdh_secp256k1_native", "ecdh_secp256k1_asm", "ecdsa_secp256k1", "ecdsa_secp256k1_native", "ecdsa_secp256k1_asm", "ed25519", "ed25519_asm", "encryption", "encryption_asm", "ffi", "hashes", "hashes_asm", "kex", "kex_native", "kex_asm", "logger", "portable", "portable_wasm", "sharing", "sharing_native", "signatures", "signatures_native", "signatures_asm", "wasm", "x25519", "x25519_asm"] }
- default = encryption, hashes, kex, serde, sharing_native, signatures_native
-
These default features are set whenever
ursa
is added without
somewhere in the dependency tree.default-features = false - aescbc encryption = aead, aes, block-modes, block-padding, hex, hmac, rand, subtle, zeroize
-
Enables std of sha2 ^0.9.5
Affects
symm::aescbc
,ursa::encryption
… - aescbc_native encryption_asm? = aead, hex, openssl, rand, zeroize
-
Affects
symm::aescbc
,ursa::encryption
… - aesgcm_native encryption_asm? = aead, hex, openssl, rand, zeroize
-
Affects
symm::aesgcm
,ursa::encryption
… - aesgcm encryption = aead, aes-gcm, hex, rand, zeroize
-
Affects
symm::aesgcm
,ursa::encryption
… - asm = encryption_asm, ffi, hashes_asm, serde, signatures_asm
- benchmarkaescbc benchmarkaesgcm = openssl
- benchmarked25519 = libsodium-ffi
- benchmarksecp256k1 = bitcoinsecp256k1, openssl
- benchmarkxchacha20poly1305 = libsodium-ffi
- bls_bls12381 signatures? signatures_asm? signatures_native = amcl_wrapper, hex, hkdf, zeroize
-
Affects
signatures::bls
,ursa::signatures
,ursa::keys
,ursa::utils
… - bls_bn254 signatures? signatures_native = amcl, failure, log, rand, sha3
-
Enables std of sha2 ^0.9.5
Affects
wasm::bls
,ursa::bls
,ursa::pair
,ursa::errors
… - bls_bn254_asm signatures_asm? = amcl, failure, log, rand, sha3
-
Enables asm of sha2 ^0.9.5
Affects
ursa::bls
,ursa::pair
,ursa::errors
… - cl signatures? = amcl, failure, glass_pumpkin, int_traits, lazy_static, log, num-bigint, num-integer, num-traits, rand, time
-
Enables std of sha2 ^0.9.5
Affects
ursa::bn
,ursa::cl
,utils::commitment
,ursa::pair
,ursa::errors
,ursa::utils
… - cl_native signatures_asm? signatures_native = amcl, failure, int_traits, lazy_static, log, openssl, rand, time
-
Affects
ursa::bn
,ursa::cl
,utils::commitment
,ursa::pair
,ursa::errors
,ursa::utils
… - chacha20poly1305 encryption = aead, hex, rand, rustchacha20poly1305, zeroize
-
Affects
symm::chacha20poly1305
,symm::xchacha20poly1305
,ursa::encryption
… - chacha20poly1305_native encryption_asm? = aead, hex, lazy_static, libsodium-ffi, rand, zeroize
-
Affects
symm::chacha20poly1305
,symm::xchacha20poly1305
,ursa::encryption
… - ecdh_secp256k1 kex = amcl, arrayref, failure, hex, k256, rand, rand_chacha, zeroize
-
Enables std of sha2 ^0.9.5
Affects
kex::secp256k1
,ursa::kex
,ursa::keys
,ursa::utils
… - ecdh_secp256k1_native kex_native? = arrayref, bitcoinsecp256k1, failure, hex, log, rand, rand_chacha, zeroize
-
Enables std of sha2 ^0.9.5
Affects
kex::secp256k1
,ursa::kex
,ursa::keys
,ursa::utils
… - ecdh_secp256k1_asm kex_asm? = arrayref, bitcoinsecp256k1, failure, hex, log, rand, rand_chacha, zeroize
-
Enables asm of sha2 ^0.9.5
Affects
kex::secp256k1
,ursa::kex
,ursa::keys
,ursa::utils
… - ecdsa_secp256k1 signatures? = amcl, arrayref, failure, hex, k256, rand, rand_chacha, zeroize
-
Enables std of sha2 ^0.9.5
Affects
wasm::secp256k1
,signatures::secp256k1
,signatures::EcdsaPublicKeyHandler
,ursa::signatures
,ursa::keys
,ursa::utils
… - ecdsa_secp256k1_native signatures_native = arrayref, bitcoinsecp256k1, failure, hex, log, rand, rand_chacha, zeroize
-
Enables std of sha2 ^0.9.5
Affects
signatures::secp256k1
,signatures::EcdsaPublicKeyHandler
,ursa::signatures
,ursa::errors
,ursa::keys
,ursa::utils
… - ecdsa_secp256k1_asm signatures_asm? = arrayref, bitcoinsecp256k1, failure, hex, log, rand, rand_chacha, zeroize
-
Enables asm of sha2 ^0.9.5
Affects
signatures::secp256k1
,signatures::EcdsaPublicKeyHandler
,ursa::signatures
,ursa::errors
,ursa::keys
,ursa::utils
… - ed25519 signatures? signatures_native = arrayref, hex, rand, rand_chacha, zeroize
-
Enables std and u64_backend of ed25519-dalek ^1.0, std of sha2 ^0.9.5
Affects
wasm::ed25519
,signatures::ed25519
,ursa::signatures
,ursa::keys
,ursa::utils
… - ed25519_asm signatures_asm? = arrayref, hex, rand, rand_chacha, zeroize
-
Enables nightly and simd_backend of ed25519-dalek ^1.0, asm of sha2 ^0.9.5
Affects
signatures::ed25519
,ursa::signatures
,ursa::keys
,ursa::utils
… - encryption default portable? = aescbc, aesgcm, chacha20poly1305
-
Affects
wasm::encryption
… - encryption_asm asm? = aescbc_native, aesgcm_native, chacha20poly1305_native
- ffi asm? = failure, ffi-support, logger, serde, serde_json, time
-
Affects
errors::prelude
,errors::set_current_error
,errors::get_current_error_c_json
,ursa::ffi
,utils::ctypes
,ursa::errors
,ursa::utils
… - hashes default portable? = sha3
-
Enables std of blake2 ^0.9 and sha2 ^0.9.5
- hashes_asm asm? = sha3
-
Enables simd_asm of blake2 ^0.9, asm of sha2 ^0.9.5
- kex default portable? = ecdh_secp256k1, x25519
- kex_native = ecdh_secp256k1_native, x25519
- kex_asm = ecdh_secp256k1_asm, x25519_asm
- logger ffi? = env_logger, log
-
Affects
utils::logger
… - portable portable_wasm? = encryption, hashes, kex, serde, sharing, signatures
-
Enables no_cc of clear_on_drop
- portable_wasm = portable, wasm
- sharing portable? = failure, glass_pumpkin, int_traits, lazy_static, log, num-bigint, num-integer, num-traits, rand, time
-
Enables std of sha2 ^0.9.5
Affects
ursa::bn
,ursa::sharing
,ursa::errors
… - sharing_native default = failure, int_traits, lazy_static, log, openssl, rand, time
-
Affects
ursa::bn
,ursa::sharing
,ursa::errors
… - signatures portable? = bls_bls12381, bls_bn254, cl, ecdsa_secp256k1, ed25519
- signatures_native default = bls_bls12381, bls_bn254, cl_native, ecdsa_secp256k1_native, ed25519
- signatures_asm asm? = bls_bls12381, bls_bn254_asm, cl_native, ecdsa_secp256k1_asm, ed25519_asm
- wasm portable_wasm? = console_error_panic_hook, failure, hex, js-sys, log, serde, serde_json, wasm-bindgen, zeroize
-
Enables rand ^0.7
TODO: Find out if the wasm-bindgen feature can be made dependent on our own wasm feature
Affects
ursa::wasm
,ursa::errors
,ursa::keys
,ursa::utils
… - x25519 kex kex_native? = arrayref, hex, rand, rand_chacha, zeroize
-
Enables std and u64_backend of curve25519-dalek ^3.1, std of sha2 ^0.9.5, std and u64_backend of x25519-dalek ^1.1
Affects
wasm::x25519
,kex::x25519
,ursa::kex
,ursa::keys
,ursa::utils
… - x25519_asm kex_asm? = arrayref, hex, rand, rand_chacha, zeroize
-
Enables avx2_backend and nightly of curve25519-dalek ^3.1, asm of sha2 ^0.9.5, nightly and u64_backend of x25519-dalek ^1.1
Affects
kex::x25519
,ursa::kex
,ursa::keys
,ursa::utils
…
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.
- aead aescbc? aescbc_native? aesgcm? aesgcm_native? chacha20poly1305? chacha20poly1305_native?
-
Enables aead ^0.3
- aes aescbc?
-
Enables aes ^0.6
- aes-gcm aesgcm?
-
Enables aes-gcm ^0.8
- amcl bls_bn254? bls_bn254_asm? cl? cl_native? ecdh_secp256k1? ecdsa_secp256k1?
- amcl_wrapper bls_bls12381?
- arrayref ecdh_secp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? ed25519? ed25519_asm? x25519? x25519_asm?
- blake2 hashes hashes_asm?
-
Enables blake2 ^0.9
Affects
hash::blake2
,ursa::hash
… - block-modes aescbc?
-
Enables block-modes ^0.7
- block-padding aescbc?
-
Enables block-padding ^0.2
- clear_on_drop portable?
- console_error_panic_hook wasm?
- curve25519-dalek x25519? x25519_asm?
-
Enables curve25519-dalek ^3.1
- ed25519-dalek ed25519? ed25519_asm?
-
Enables ed25519-dalek ^1.0
- env_logger logger?
-
Enables env_logger ^0.7.0
- failure bls_bn254? bls_bn254_asm? cl? cl_native? ecdh_secp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? ffi? sharing? sharing_native wasm?
- ffi-support ffi?
- glass_pumpkin cl? sharing?
-
Enables glass_pumpkin ^0.4
- hex aescbc? aescbc_native? aesgcm? aesgcm_native? bls_bls12381? chacha20poly1305? chacha20poly1305_native? ecdh_secp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? ed25519? ed25519_asm? wasm? x25519? x25519_asm?
- hkdf bls_bls12381?
-
Enables hkdf ^0.11.0
- hmac aescbc?
-
Enables hmac ^0.11.0
- int_traits cl? cl_native? sharing? sharing_native
- js-sys wasm?
- lazy_static chacha20poly1305_native? cl? cl_native? sharing? sharing_native
- libsodium-ffi benchmarked25519? benchmarkxchacha20poly1305? chacha20poly1305_native?
- log bls_bn254? bls_bn254_asm? cl? cl_native? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? logger? sharing? sharing_native wasm?
- num-bigint cl? sharing?
-
Enables num-bigint ^0.3.0
- num-integer cl? sharing?
-
Enables num-integer =0.1.42
- num-traits cl? sharing?
-
Enables num-traits =0.2.11
- openssl aescbc_native? aesgcm_native? benchmarkaescbc? benchmarkaesgcm? benchmarksecp256k1? cl_native? sharing_native
- rand aescbc? aescbc_native? aesgcm? aesgcm_native? bls_bn254? bls_bn254_asm? chacha20poly1305? chacha20poly1305_native? cl? cl_native? ecdh_secp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? ed25519? ed25519_asm? sharing? sharing_native wasm? x25519? x25519_asm?
-
Enables rand ^0.7
- rand_chacha ecdh_secp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? ed25519? ed25519_asm? x25519? x25519_asm?
-
Enables rand_chacha =0.2.1
- rustchacha20poly1305 chacha20poly1305?
-
Enables chacha20poly1305 ^0.7
- k256 ecdh_secp256k1? ecdsa_secp256k1?
-
Enables k256 ^0.9.6
- bitcoinsecp256k1 benchmarksecp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1_asm? ecdsa_secp256k1_native?
-
Enables secp256k1 ^0.19
- serde default asm? ffi? portable? wasm?
- serde_json ffi? wasm?
- sha2 aescbc? bls_bn254? bls_bn254_asm? cl? ecdh_secp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? ed25519? ed25519_asm? hashes hashes_asm? sharing? x25519? x25519_asm?
-
Enables sha2 ^0.9.5
Affects
ursa::hash
… - sha3 bls_bn254? bls_bn254_asm? hashes hashes_asm?
-
Enables sha3 ^0.9.1
Affects
ursa::hash
… - subtle aescbc?
- time cl? cl_native? ffi? sharing? sharing_native
-
Enables time ^0.1
- wasm-bindgen wasm?
- x25519-dalek x25519? x25519_asm?
-
Enables x25519-dalek ^1.1
- zeroize aescbc? aescbc_native? aesgcm? aesgcm_native? bls_bls12381? chacha20poly1305? chacha20poly1305_native? ecdh_secp256k1? ecdh_secp256k1_asm? ecdh_secp256k1_native? ecdsa_secp256k1? ecdsa_secp256k1_asm? ecdsa_secp256k1_native? ed25519? ed25519_asm? wasm? x25519? x25519_asm?