The LTV Homomorphic Encryption Scheme and Implementation in Sage

The purpose of this project is to study the Multi-key Fully Homomorphic Encryption (FHE) scheme developed by López-Alt, Tromer and Vaikuntanathan, which we abbreviate as the LTV scheme. An FHE scheme is a cryptosystem in which we can evaluate any circuit in an encrypted form and decrypt the result afterwards. The LTV scheme we studied is based on NTRU, a public-key cryptosystem using lattice-based cryptography, and it encrypts each single bit of data into one corresponding polynomial. This report includes the background research on NTRU encryption scheme, the presentation of this FHE scheme in a single-key version, and the implementation of it in Sage, an opensource mathematics tool. The results of this project are a more accessible version of the original scheme with serious mathematical proofs and a Sage package that implements the basic scheme and some real-world applications such as an n-bit Adder. The Sage package is posted in Sage Interact Community website.