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)
PDF
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
Creative Commons Attribution
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}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.