Paper 2018/1013
E3: A Framework for Compiling C++ Programs with Encrypted Operands
Eduardo Chielle, Oleg Mazonka, Homer Gamil, Nektarios Georgios Tsoutsos, and Michail Maniatakos
Abstract
In this technical report we describe E3 (Encrypt-Everything-Everywhere), a framework which enables execution of standard C++ code with homomorphically encrypted variables. The framework automatically generates protected types so the programmer can remain oblivious to the underlying encryption scheme. C++ protected classes redefine operators according to the encryption scheme effectively making the introduction of a new API unnecessary. At its current version, E3 supports a variety of homomorphic encryption libraries, batching, mixing different encryption schemes in the same program, as well as the ability to combine modular computation and bit-level computation.
Note: The E3 framework can be downloaded from https://github.com/momalab/e3
Metadata
- Available format(s)
- Category
- Applications
- Publication info
- Preprint.
- Keywords
- Data PrivacyFully Homomorphic EncryptionGeneral-purpose computationPrivacy-preserving computation
- Contact author(s)
- tsoutsos @ udel edu
- History
- 2021-05-28: last of 3 revisions
- 2018-10-24: received
- See all versions
- Short URL
- https://ia.cr/2018/1013
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2018/1013, author = {Eduardo Chielle and Oleg Mazonka and Homer Gamil and Nektarios Georgios Tsoutsos and Michail Maniatakos}, title = {E3: A Framework for Compiling C++ Programs with Encrypted Operands}, howpublished = {Cryptology {ePrint} Archive, Paper 2018/1013}, year = {2018}, url = {https://eprint.iacr.org/2018/1013} }