Skip to content

Vishalkulkarni45/verifiable-fhe-paper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verifiable PBS

This project allows to prove an execution of TFHE's PBS using plonky2. For details, see the paper.

Parameters

Most parameters are set in src/main.rs, the notable exception being the ring dimension N. The latter is set in src/ntt/mod.rs by pointing the param module to the corresponding param_{N}.rs file. We suggest to use N=8 for testing and N=1024 to run the main file. NTT parameter files are available for other values of N, and the folder also contains Sage code to generate more. However, choosing another value of N might require to set a technical circuit parameter as outlined in this comment.

Run

To run the tests, simply use

    cargo test --release

As mentioned above, we recommend using N=8 for this. Large values of N will result in a stack overflow error. Note that there is one test, namly vtfhe::tests::test_blind_rot, which is flaky because the parameters are not large enough to always account for the rounding error introduced by the mod switch.

To reproduce the results from the paper, simply run

    cargo run --release

with N=1024.

Disclaimer

This implementation is purely for academic purposes and not meant for production.

License

This software is distributed under the BSD-3-Clause-Clear license. If you have any questions, please contact us at [email protected].

About

Verifiable FHE prototype

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 98.5%
  • Other 1.5%