PyFHE is an implementation of the Brakerski-Gentry-Vaikuntanathan (BGV) scheme, along with some optimizations described in the Gentry-Halevi-Smart optimizations. This project takes HElib as reference but is simpler than HElib. It only implements some basic homomorphic operations such as multiplication and addition and does not use ciphertext packing techniques.
This project is written in Python 3.6.5 and uses Python packages sympy and numpy.
Run Test_Ctxt.py
, which executes a 4 levels 4096 degree polynomial BGV encryption.
> python Test_Ctxt.py
Use multiprocessing.