[build-dependencies.cbindgen]
optional = true
version = "0.28"
[dependencies.aligned-vec]
default-features = false
features = ["default", "serde"]
version = "0.6"
[dependencies.bincode]
version = "1.3.3"
[dependencies.blake3]
optional = true
version = "1.8"
[dependencies.bytemuck]
version = "<1.24"
[dependencies.console_error_panic_hook]
optional = true
version = "0.1.7"
[dependencies.dyn-stack]
default-features = false
features = ["default"]
version = "0.11"
[dependencies.fs2]
optional = true
version = "0.4.3"
[dependencies.getrandom]
optional = true
version = "0.2.8"
[dependencies.itertools]
version = "0.14"
[dependencies.js-sys]
optional = true
version = "0.3"
[dependencies.paste]
version = "1.0.7"
[dependencies.pulp]
default-features = false
features = ["default"]
version = "0.21"
[dependencies.rand_core]
features = ["std"]
version = "0.6.4"
[dependencies.rayon]
version = "1.11"
[dependencies.serde]
default-features = false
features = ["default", "derive"]
version = "1.0"
[dependencies.serde-wasm-bindgen]
optional = true
version = "0.6.0"
[dependencies.sha3]
optional = true
version = "0.10"
[dependencies.strum]
features = ["derive"]
optional = true
version = "0.27"
[dependencies.tfhe-csprng]
features = ["parallel"]
version = "0.7.0"
[dependencies.tfhe-cuda-backend]
optional = true
version = "0.12.0"
[dependencies.tfhe-fft]
features = ["serde", "fft128"]
version = "0.9.0"
[dependencies.tfhe-hpu-backend]
optional = true
version = "0.3"
[dependencies.tfhe-ntt]
version = "0.6.1"
[dependencies.tfhe-versionable]
version = "0.6.2"
[dependencies.tfhe-zk-pok]
optional = true
version = "0.7.4"
[dependencies.wasm-bindgen]
features = ["serde-serialize"]
optional = true
version = "0.2.101"
[dependencies.wasm-bindgen-rayon]
optional = true
version = "1.3.0"
[dev-dependencies.clap]
features = ["derive"]
version = "=4.5.30"
[dev-dependencies.clap-num]
version = "1.1.1"
[dev-dependencies.combine]
version = "4.6.6"
[dev-dependencies.criterion]
version = "0.5.1"
[dev-dependencies.csv]
version = "1.3.0"
[dev-dependencies.doc-comment]
version = "0.3.3"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.fs2]
version = "0.4.3"
[dev-dependencies.hex]
version = "0.4.3"
[dev-dependencies.log]
version = "0.4.19"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.rand_distr]
version = "0.4.3"
[dev-dependencies.serde_json]
version = "1.0.94"
[dev-dependencies.statrs]
version = "0.18"
[dev-dependencies.test-case]
version = "3.1.0"
[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.18"
[[example]]
name = "dark_market"
path = "examples/dark_market/main.rs"
required-features = ["integer", "internal-keycache"]
[[example]]
name = "dist_tuniform"
path = "examples/dist_tuniform.rs"
required-features = ["integer", "internal-keycache"]
[[example]]
name = "generates_test_keys"
path = "examples/utilities/generates_test_keys.rs"
required-features = ["boolean", "shortint", "internal-keycache"]
[[example]]
name = "hpu_bench"
path = "examples/hpu/bench.rs"
required-features = ["hpu"]
[[example]]
name = "hpu_hlapi"
path = "examples/hpu/hlapi.rs"
required-features = ["hpu"]
[[example]]
name = "hpu_matmul"
path = "examples/hpu/matmul.rs"
required-features = ["hpu"]
[[example]]
name = "micro_bench_and"
path = "examples/utilities/micro_bench_and.rs"
required-features = ["boolean"]
[[example]]
name = "pbs_count"
path = "examples/pbs_count.rs"
required-features = ["integer", "pbs-stats"]
[[example]]
name = "print_doc_bench_parameters"
path = "examples/utilities/print_doc_bench_parameters.rs"
required-features = ["shortint", "internal-keycache"]
[[example]]
name = "regex_engine"
path = "examples/regex_engine/main.rs"
required-features = ["integer"]
[[example]]
name = "sha256"
path = "examples/sha256.rs"
required-features = ["integer"]
[[example]]
name = "sha256_bool"
path = "examples/sha256_bool/main.rs"
required-features = ["boolean"]
[[example]]
name = "write_params_to_file"
path = "examples/utilities/params_to_file.rs"
required-features = ["boolean", "shortint", "internal-keycache", "hpu"]
[features]
__c_api = ["dep:cbindgen"]
__force_skip_cbindgen = []
__profiling = []
__wasm_api = ["dep:wasm-bindgen", "dep:js-sys", "dep:console_error_panic_hook", "dep:serde-wasm-bindgen", "dep:getrandom", "getrandom/js"]
boolean = []
boolean-c-api = ["boolean", "__c_api"]
boolean-client-js-wasm-api = ["boolean", "__wasm_api"]
experimental = []
experimental-force_fft_algo_dif4 = []
extended-types = []
gpu = ["dep:tfhe-cuda-backend", "shortint"]
gpu-debug = ["gpu", "tfhe-cuda-backend/debug"]
gpu-debug-fake-multi-gpu = ["gpu", "tfhe-cuda-backend/debug-fake-multi-gpu"]
gpu-experimental-multi-arch = ["gpu", "tfhe-cuda-backend/experimental-multi-arch"]
gpu-profile = ["gpu", "tfhe-cuda-backend/profile"]
high-level-c-api = ["boolean-c-api", "shortint-c-api", "integer"]
high-level-client-js-wasm-api = ["boolean-client-js-wasm-api", "integer-client-js-wasm-api"]
hpu = ["dep:tfhe-hpu-backend", "shortint", "integer"]
hpu-debug = ["hpu", "tfhe-hpu-backend/io-dump"]
hpu-v80 = ["hpu", "tfhe-hpu-backend/hw-v80"]
hpu-xrt = ["hpu", "tfhe-hpu-backend/hw-xrt"]
integer = ["shortint", "dep:strum"]
integer-client-js-wasm-api = ["integer", "shortint-client-js-wasm-api"]
internal-keycache = ["dep:fs2"]
nightly-avx512 = ["tfhe-fft/nightly", "tfhe-ntt/nightly", "pulp/nightly"]
noise-asserts = []
parallel-wasm-api = ["dep:wasm-bindgen-rayon"]
pbs-stats = []
shortint = ["dep:sha3", "dep:blake3"]
shortint-c-api = ["shortint", "__c_api"]
shortint-client-js-wasm-api = ["shortint", "__wasm_api"]
software-prng = ["tfhe-csprng/software-prng"]
strings = ["integer"]
zk-pok = ["dep:tfhe-zk-pok"]
[lib]
crate-type = ["lib", "staticlib", "cdylib"]
name = "tfhe"
path = "src/lib.rs"
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(tarpaulin)", "cfg(dylint_lib, values(any()))", "cfg(wasm_bindgen_unstable_test_coverage)"]
level = "warn"
priority = 0
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
description = "TFHE-rs is a fully homomorphic encryption (FHE) library that implements Zama's variant of TFHE."
documentation = "https://docs.zama.ai/tfhe-rs"
edition = "2021"
exclude = ["/docs/", "/c_api_tests/", "/CMakeLists.txt", "/js_on_wasm_tests/", "/web_wasm_parallel_tests/"]
homepage = "https://zama.ai/"
keywords = ["fully", "homomorphic", "encryption", "fhe", "cryptography"]
license = "BSD-3-Clause-Clear"
name = "tfhe"
readme = "README.md"
repository = "https://github.com/zama-ai/tfhe-rs"
resolver = "3"
rust-version = "1.84"
version = "1.4.3"
[package.metadata.docs.rs]
features = ["boolean", "shortint", "integer", "gpu", "zk-pok", "software-prng", "strings", "hpu", "extended-types"]
rustdoc-args = ["--html-in-header", "katex-header.html"]
[[test]]
name = "hpu"
path = "tests/hpu.rs"
[[test]]
name = "zk_wasm_x86_test"
path = "tests/zk_wasm_x86_test.rs"