The code is modern C++ using OpenFHE, we implemented circuit bootstrapping(WWL+24) scheme for converting high-noise LWE ciphertext into its corresponding RGSW form with low-noise(https://eprint.iacr.org/2024/323).
parameters_gen.py is a circuit bootstrap parameter generator developed using Python, making our work accessible to both researchers and practitioners.
I complie the code on Linux. To run this reposity, you need:
- Install pre-requisites and external libraries
- Clone the repo
- Create a directory where the binaries will be built. Commands are:
mkdir build cd build cmake ..
- Build binaries. Commands are:
make -j<threads>
If your operating system is MacOS, please refer to the following:
If your operating system is Windows, please refer to the following:
As circuit bootstrapping, we recommend looking at the code of the following examples:
- Circuit bootstrapping based 'GINX':
-
Code Example for testing circuit bootstrapping correctness using decryption of RGSW
Test this example you can execute:
./bin/examples/binfhe/circuitbootstrap-test-rgsw
-
Test this example you can execute:
./bin/examples/binfhe/circuitbootstrap-test-ep
-
We provide several parameter sets for circuit bootstrapping, but you need to adjust the parameters according to the circuit computation tasks. Please modify the parameters in src/binfhe/lib/cirbtscontext.cpp
We will continue to release updates progressively, including multi-value functional bootstrapping based on LMKCDEY methods and their optimized version proposed by [WWL+24] in Section 4, as well as additional optimizations related to circuit bootstrapping.
If you have any questions or suggestions, please contact [email protected].