Skip to content

Library implementing the Fan-Vercauteren homomorphic encryption scheme

License

Notifications You must be signed in to change notification settings

carlosaguilarmelchor/FV-NFLlib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FV-NFLlib

A header-only library implementing the Fan-Vercauteren homomorphic encryption scheme

What is it?

FV-NFLlib is a software library implementing an homomorphic encryption scheme (HE). FV-NFLlib implements the Fan-Vercauteren (FV) scheme, and is based on the NFLlib C++ library dedicated to ideal lattice cryptography.

License

GPLv3

Install Steps

To use the FV-NFLlib library, you need GMP, Mpfr, a C+11 compiler and the NFLlib library. The library only consists of a single header file FV.hpp that has to be included during the compilation of your program.

Tests

Three tests are provided for the library

  • tests/Test_binary_tree: this program benchmarks the key generation, the encryption/decryption, homomorphic addition and homomorphic multiplication procedures. A binary tree of multiplications is evaluated to ensure correctness and the final noise bound is given.
  • tests/Test_ec_additions: this program computes in the clear and homomorphically an elliptic curve addition over the NIST P-256 curve. The code of the elliptic curve addition is templated, and called twice (once with FV::mess_t and once with FV::ciphertext_t)
  • tests/Test_encrypt_poly: this program encrypts two polynomials and computes their product homomorphically. It outputs a small SAGE program to test the correctness.

Contributors

This research-oriented library has been done by members of CryptoExperts, and is part of the HEAT project, and the CryptoComp project.

About

Library implementing the Fan-Vercauteren homomorphic encryption scheme

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.2%
  • Makefile 3.8%