Concrete Boolean
This library makes it possible to execute boolean gates over encrypted bits. It allows to execute a boolean circuit on an untrusted server because both circuit inputs and outputs are kept private. Data are indeed encrypted on the client side, before being sent to the server. On the server side every computation is performed on ciphertexts. The server however has to know the boolean circuit to be evaluated. At the end of the computation, the server returns the encryption of the result to the user.
Quick Example
The following piece of code shows how to generate keys and run a small Boolean circuit homomorphically.
use *;
AVX512
On x86_64 CPUs that have the avx512 instruction set, it is possible to compile using the nightly compiler
with the nightly-avx152 to get additional speedup.
cargo +nightly bench --features nightly-avx512
GPU backend
concrete-boolean supports GPU backend via the concrete-cuda crate. It can be activated adding the
flag --features=cuda to the compile command.
Links
License
This software is distributed under the BSD-3-Clause-Clear license. If you have any questions,
please contact us at hello@zama.ai.