Cryptology ePrint Archive: Report 2018/1013

E$^3$: A Framework for Compiling C++ Programs with Encrypted Operands

Eduardo Chielle and Oleg Mazonka and Nektarios Georgios Tsoutsos and Michail Maniatakos

Abstract: The dramatic increase of data breaches in modern computing platforms has emphasized that access control is not sufficient to protect sensitive user data. Even in the case of honest parties, unknown software/hardware vulnerabilities and side-channels can enable data leakage, leading to the conclusion that as long as data exists decrypted, it can be leaked. Fortunately, recent advances on cryptographic schemes allow end-to-end processing of encrypted data, without any need for decryption. However, besides the reported impractical overheads, such schemes are particularly hard to use by non-crypto-savvy users, which further inhibits their applicability. In this work, we propose the first usability-oriented framework that enables programmers to incorporate comprehensive privacy protections in their programs, by automatically protecting user-annotated variables using encryption. As a proof of concept and without loss of generality, our E$^3$ framework incorporates three state-of-the-art FHE libraries. In our evaluation, we validate the usability of E$^3$ by employing various benchmarks written in C++, and directly compare the overhead of the core FHE libraries in terms of runtime performance, as well as memory and storage requirements. While FHE is used as a base study, E$^3$ can be used as the base for performance comparison of any encrypted computation methodology.

Category / Keywords: applications / Data Privacy, Fully Homomorphic Encryption, General-purpose computation, Privacy-preserving computation

Date: received 14 Oct 2018

Contact author: tsoutsos at udel edu

Available format(s): PDF | BibTeX Citation

Note: The E^3 framework can be downloaded from

Version: 20181024:172503 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]