Cargo Features
TFHE has no features set by default.
[dependencies]
tfhe = { version = "0.10.0", features = ["boolean", "shortint", "integer", "gpu", "zk-pok", "pbs-stats", "internal-keycache", "experimental", "experimental-force_fft_algo_dif4", "boolean-c-api", "shortint-c-api", "high-level-c-api", "boolean-client-js-wasm-api", "shortint-client-js-wasm-api", "integer-client-js-wasm-api", "high-level-client-js-wasm-api", "parallel-wasm-api", "nightly-avx512", "generator_x86_64_aesni", "generator_aarch64_aes", "seeder_unix", "seeder_x86_64_rdseed", "x86_64", "x86_64-unix", "aarch64", "aarch64-unix"] }
- boolean boolean-c-api? boolean-client-js-wasm-api? high-level-client-js-wasm-api?
-
Affects
high_level_api::booleans
,tfhe::boolean
… - shortint high-level-client-js-wasm-api? integer? shortint-c-api? shortint-client-js-wasm-api?
-
Enables sha3
Used for OPRF in shortint
Affects
tfhe::shortint
… - integer high-level-c-api? high-level-client-js-wasm-api? integer-client-js-wasm-api? = shortint
-
Affects
tfhe::integer
… - gpu
-
Enables tfhe-cuda-backend
Affects
keys::CudaServerKey
,keys::set_cuda_server_key
,keys::compressed_server_key_decompress_to_gpu
,parameters::LweCiphertextIndexVersions
,parameters::LweCiphertextIndex
,core_crypto::gpu
,compressed_ciphertext_list::HlExpandable
,compressed_ciphertext_list::HlCompressible
,compressed_ciphertext_list::gpu
,inner::IntegerCudaServerKey
,server::CudaServerKey
,integer::gpu
… - zk-pok
-
Enables tfhe-zk-pok
Affects
compact_list::ProvenCompactCiphertextList
,compact_list::compact_ciphertext_list_builder_build_with_proof_packed
,compact_list::proven_compact_ciphertext_list_verify_and_expand
,compact_list::proven_compact_ciphertext_list_expand_without_verification
,lwe_encryption::encrypt_and_prove_lwe_ciphertext_with_compact_public_key
,lwe_encryption::encrypt_and_prove_lwe_compact_ciphertext_list_with_compact_public_key
,lwe_encryption::par_encrypt_and_prove_lwe_compact_ciphertext_list_with_compact_public_key
,algorithms::lwe_zero_knowledge_verification
,compact_list::ProvenCompactCiphertextListVersions
,ciphertext::ProvenCompactCiphertextListVersions
,compact_list::ProvenCompactCiphertextList
,compact_list::IntegerProvenCompactCiphertextListConformanceParams
,integers::ProvenCompactCiphertextList
,tfhe::zk
,ciphertext::ProvenCompactCiphertextListVersions
… - pbs-stats
-
Affects
server_key::pbs_stats
… - internal-keycache
-
Enables fs2 and lazy_static
fs2:
Used in user documentation
- experimental
-
Experimental section
Affects
core_crypto::experimental
,keycache::WopbsKeyCache
,integer::wopbs
,shortint::wopbs
… - experimental-force_fft_algo_dif4
- __c_api build boolean-c-api? high-level-c-api? shortint-c-api?
-
End experimental section
Enables cbindgen ^0.26.0
Affects
tfhe::c_api
… - boolean-c-api high-level-c-api? = __c_api, boolean
-
Affects
c_api::boolean
… - shortint-c-api high-level-c-api? = __c_api, shortint
-
Affects
c_api::shortint
… - high-level-c-api = __c_api, boolean-c-api, integer, shortint-c-api
-
Affects
c_api::high_level_api
… - boolean-client-js-wasm-api = boolean
-
Enables console_error_panic_hook and js-sys, serde-wasm-bindgen, and wasm-bindgen >=0.2.86, <0.2.94
wasm-bindgen:
wasm deps
getrandom:
Feature to enable JavaScript bindings on wasm*-unknown-unknown
- shortint-client-js-wasm-api = shortint
-
Enables console_error_panic_hook, js-sys, serde-wasm-bindgen, and wasm-bindgen >=0.2.86, <0.2.94, js of getrandom
- integer-client-js-wasm-api = integer
-
Enables console_error_panic_hook, js-sys, serde-wasm-bindgen, and wasm-bindgen >=0.2.86, <0.2.94, js of getrandom
- high-level-client-js-wasm-api = boolean, integer, shortint
-
Enables console_error_panic_hook, js-sys, serde-wasm-bindgen, and wasm-bindgen >=0.2.86, <0.2.94, js of getrandom
- parallel-wasm-api
-
Enables wasm-bindgen-rayon
- nightly-avx512
-
Enables nightly of concrete-fft, concrete-ntt, and pulp ^0.18.22
Affects
fft::u128_to_f64_avx512
,fft::wrapping_sub_avx512
,fft::wrapping_add_avx512
,fft::wrapping_neg_avx512
,fft::add_f128_f64x8
,fft::convert_forward_integer_avx512
,fft::convert_add_backward_torus_avx512
,x86::mm512_cvt_round_nearest_pd_epi64
,x86::mm512_cvtepi64_pd
,x86::convert_forward_integer_u32_v4
,x86::convert_forward_integer_u64_v4
,x86::prologue_convert_torus_v4
,x86::convert_add_backward_torus_u32_v4
,x86::convert_add_backward_torus_u64_v4
… - generator_x86_64_aesni x86_64?
-
Enable the x86_64 specific accelerated implementation of the random generator for the default backend
Enables generator_x86_64_aesni of concrete-csprng
Affects
activated_random_generator::ActivatedRandomGenerator
… - generator_aarch64_aes aarch64?
-
Enable the aarch64 specific accelerated implementation of the random generator for the default backend
Enables generator_aarch64_aes of concrete-csprng
Affects
activated_random_generator::ActivatedRandomGenerator
… - seeder_unix aarch64-unix? x86_64-unix?
-
Enables seeder_unix of concrete-csprng
- seeder_x86_64_rdseed x86_64?
-
Enables seeder_x86_64_rdseed of concrete-csprng
- x86_64 x86_64-unix? = generator_x86_64_aesni, seeder_x86_64_rdseed
-
These target_arch features enable a set of public features for tfhe if users want a known good/working configuration for tfhe.
For a target_arch that does not yet have such a feature, one can still enable features manually or create a feature for said target_arch to make its use simpler. - x86_64-unix = seeder_unix, x86_64
- aarch64 aarch64-unix? = generator_aarch64_aes
- aarch64-unix = aarch64, seeder_unix