Paper 2018/1013
E3: A Framework for Compiling C++ Programs with Encrypted Operands
Eduardo Chielle and Oleg Mazonka and Homer Gamil and Sanja Kastratovic 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 in a decrypted form, it can be leaked. Recent advances on cryptographic homomorphic schemes allow end-to-end processing of encrypted data without any need for decryption. Such schemes, however, still incur impractical overheads and they are difficult to use by non-crypto-savvy users, inhibiting their applicability. In this work we propose a framework which allows optimal, in terms of performance, execution of standard C++ code with 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. The performance of encrypted computation is enhanced by our novel methodology, dubbed bridging, that blends faster and restricted modular computation with slower and comprehensive bit-level computation. Experimental results show that bridging computation can lead to a performance improvement of more than two orders of magnitude.
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