Concrete converts Python code into TFHE circuits. TFHE is a homomorphic encryption scheme that support encrypted arithmetics and table lookups, using a new cryptographic operator called “programmable bootstrapping (pbs)”.
Homomorphic table lookups are a big deal, since any multivariate function can be represented as a linear combination of univariate functions (which is just a LUT!). This means we can now compute *any* function in FHE, without approximations: add, mul, div, comparisons, ReLu, …
The issue however is that writing and parametrizing complex FHE programs is very difficult, and can result in incorrect outputs or worse, insecure circuits. This is where the Concrete compiler comes in.
Concrete takes python code as input, and automatically converts it into an FHE circuit with optimized parameters that guarantee security and performance. It can produce binaries for any target machine, as well as accelerators such as GPUs and soon, FPGA and FHE accelerators.
In other words, you no longer need to learn cryptography to use FHE! Just write python code the way you always did, and simply compile it to make it run on encrypted data.
In fact, Concrete is powerful that you can even do machine learning in FHE using your favorite framework (sklearn, pytorch, numpy, ..). Check out Concrete-ML to get started (github.com/zama-ai/concre…)
Under the hood, Concrete using MLIR, a custom FHE optimizer and shares the same core crypto as TFHE-rs, our Rust library for TFHE: github.com/zama-ai/tfhe-rs
If you are looking for cool projects to get started, we have a number of bounties you can take a shot at: github.com/zama-ai/bounty…
Happy coding!
• • •
Missing some Tweet in this thread? You can try to
force a refresh