Accelerating Fully Homomorphic Encryption by Bridging Modular and Bit-Level Arithmetic

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.

[1]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[2]  Brent Waters,et al.  Fuzzy Identity-Based Encryption , 2005, EUROCRYPT.

[3]  Sally Adee,et al.  The Hunt For The Kill Switch , 2008, IEEE Spectrum.

[4]  Craig Gentry,et al.  A fully homomorphic encryption scheme , 2009 .

[5]  Craig Gentry,et al.  Fully homomorphic encryption using ideal lattices , 2009, STOC '09.

[6]  Mark Mohammad Tehranipoor,et al.  Trustworthy Hardware: Identifying and Classifying Hardware Trojans , 2010, Computer.

[7]  Zvika Brakerski,et al.  Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP , 2012, CRYPTO.

[8]  Craig Gentry,et al.  (Leveled) fully homomorphic encryption without bootstrapping , 2012, ITCS '12.

[9]  Frederik Vercauteren,et al.  Somewhat Practical Fully Homomorphic Encryption , 2012, IACR Cryptol. ePrint Arch..

[10]  David Hély,et al.  Malicious key emission via hardware Trojan against encryption system , 2012, 2012 IEEE 30th International Conference on Computer Design (ICCD).

[11]  Michail Maniatakos,et al.  Exposing vulnerabilities of untrusted computing platforms , 2012, 2012 IEEE 30th International Conference on Computer Design (ICCD).

[12]  Brent Waters,et al.  Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based , 2013, CRYPTO.

[13]  Nektarios Georgios Tsoutsos,et al.  Fabrication Attacks: Zero-Overhead Malicious Modifications Enabling Modern Microprocessor Privilege Escalation , 2014, IEEE Transactions on Emerging Topics in Computing.

[14]  Shai Halevi,et al.  Algorithms in HElib , 2014, CRYPTO.

[15]  Michael Naehrig,et al.  A Comparison of the Homomorphic Encryption Schemes FV and YASHE , 2014, AFRICACRYPT.

[16]  Léo Ducas,et al.  FHEW: Bootstrapping Homomorphic Encryption in Less Than a Second , 2015, EUROCRYPT.

[17]  Shai Halevi,et al.  Bootstrapping for HElib , 2015, EUROCRYPT.

[18]  Michael Naehrig,et al.  CryptoNets: applying neural networks to encrypted data with high throughput and accuracy , 2016, ICML 2016.

[19]  Nicolas Gama,et al.  Faster Fully Homomorphic Encryption: Bootstrapping in Less Than 0.1 Seconds , 2016, ASIACRYPT.

[20]  Srinivas Devadas,et al.  Intel SGX Explained , 2016, IACR Cryptol. ePrint Arch..

[21]  Oleg Mazonka,et al.  Cryptoleq: A Heterogeneous Abstract Machine for Encrypted and Unencrypted Computation , 2016, IEEE Transactions on Information Forensics and Security.

[22]  Dennis Sylvester,et al.  A2: Analog Malicious Hardware , 2016, 2016 IEEE Symposium on Security and Privacy (SP).

[23]  Jung Hee Cheon,et al.  Homomorphic Encryption for Arithmetic of Approximate Numbers , 2017, ASIACRYPT.

[24]  Satyanarayana V. Lokam,et al.  SECURITY OF HOMOMORPHIC ENCRYPTION , 2017 .

[25]  Shai Halevi,et al.  Faster Homomorphic Linear Transformations in HElib , 2018, IACR Cryptol. ePrint Arch..

[26]  Mohamad El Hajj,et al.  Data Oblivious ISA Extensions for Side Channel-Resistant and High Performance Computing , 2018, IACR Cryptol. ePrint Arch..

[27]  Jung Hee Cheon,et al.  Bootstrapping for Approximate Homomorphic Encryption , 2018, IACR Cryptol. ePrint Arch..

[28]  Chris Peikert,et al.  ALCHEMY: A Language and Compiler for Homomorphic Encryption Made easY , 2018, CCS.

[29]  Yuan Xiao,et al.  SgxPectre Attacks: Leaking Enclave Secrets via Speculative Execution , 2018, ArXiv.

[30]  Hossein Shafagh,et al.  Marble: Making Fully Homomorphic Encryption Accessible to All , 2018, WAHC@CCS.

[31]  Srinath T. V. Setty,et al.  PIR with Compressed Queries and Amortized Query Processing , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

[32]  S. Halevi,et al.  A STANDARD API FOR RLWE-BASED HOMOMORPHIC ENCRYPTION , 2018 .

[33]  Nektarios Georgios Tsoutsos,et al.  TERMinator Suite: Benchmarking Privacy-Preserving Architectures , 2018, IEEE Computer Architecture Letters.

[34]  Michael Hamburg,et al.  Meltdown: Reading Kernel Memory from User Space , 2018, USENIX Security Symposium.

[35]  M. Maniatakos,et al.  E3: A Framework for Compiling C++ Programs with Encrypted Operands , 2018, IACR Cryptol. ePrint Arch..

[36]  Noah Stephens-Davidowitz,et al.  Lattice Reduction for Modules, or How to Reduce ModuleSVP to ModuleSVP , 2020, IACR Cryptol. ePrint Arch..

[37]  Benjamin Grégoire,et al.  FaCT: a DSL for timing-sensitive computation , 2019, PLDI.

[38]  Mounir Ghogho,et al.  Digging Deeper into Data Breaches: An Exploratory Data Analysis of Hacking Breaches Over Time , 2019, ANT/EDI40.

[39]  Eduardo Chielle,et al.  CoPHEE: Co-processor for Partially Homomorphic Encrypted Execution , 2019, 2019 IEEE International Symposium on Hardware Oriented Security and Trust (HOST).

[40]  Michael Hamburg,et al.  Spectre Attacks: Exploiting Speculative Execution , 2018, 2019 IEEE Symposium on Security and Privacy (SP).

[41]  J. Hubaux,et al.  Lattigo: a Multiparty Homomorphic Encryption Library in Go , 2020 .

[42]  Berk Sunar,et al.  LVI: Hijacking Transient Execution through Microarchitectural Load Value Injection , 2020, 2020 IEEE Symposium on Security and Privacy (SP).

[43]  Eduardo Chielle,et al.  Privacy-preserving genotype imputation with fully homomorphic encryption , 2020, bioRxiv.

[44]  Alexander Viand,et al.  Pyfhel: PYthon For Homomorphic Encryption Libraries , 2021, WAHC@CCS.

[45]  Daniel Sánchez,et al.  F1: A Fast and Programmable Accelerator for Fully Homomorphic Encryption , 2021, MICRO.