Skip to content

LightFHE/CircuitBootstrap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circuit bootstrapping based OpenFHE

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.

Installation

I complie the code on Linux. To run this reposity, you need:

  1. Install pre-requisites and external libraries
  2. Clone the repo
  3. Create a directory where the binaries will be built. Commands are:
    mkdir build
    cd build
    cmake ..
    
  4. 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:

Code Examples

As circuit bootstrapping, we recommend looking at the code of the following examples:

  1. Circuit bootstrapping based 'GINX':
    1. Code Example for testing circuit bootstrapping correctness using decryption of RGSW

      Test this example you can execute:

      ./bin/examples/binfhe/circuitbootstrap-test-rgsw
      
    2. Code Example for testing circuit bootstrapping correctness using external product between RGSW and RLWE

      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

Planned Releases

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].

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.8%
  • C 1.2%
  • CMake 0.8%
  • Python 0.1%
  • Shell 0.1%
  • Dockerfile 0.0%