I want to implement the homomorphic encryption scheme proposed in GSW13, and make some changes to it, but seems that there is no library that has already been implemented it. Since this is a homomorphic encryption scheme based on LWE, both Helib and SEAL have implemented some other LWE-based homomorphic encryption algorithms. I want to ask if I can use one of these two libraries to generate the public and private keys in the form required in the GSW13? And would tell me based on these two libraries, how to implement the of GSW13?

  • $\begingroup$ If you are not very used to GSW13, maybe it is a good idea to start by a toy implementation using SAGE, specially if you want to use polynomial rings (RLWE)... Helib and SEAL are implemented in C++, thus, in addition to the complicated crypto scheme, you also have the "not so simple" details of the programming language... $\endgroup$ – Hilder Vitor Lima Pereira May 17 at 7:16

A good resource for FHE implementations is found on Micciancio's website. Searching GSW on it points to FHEW/TFHE, although they are quite different than "standard FHE" schemes (they bootstrap after each gate in the circuit). They are implemented though.

Besides those, there are various libraries for lattice crypto (Palisade, Lol, NFLlib, all on the linked webpage) which may be useful to use in any given implementation as a starting point.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.