Abstract
Harvey butterflies and their variants are core primitives in many optimized number-theoretic transform (NTT) implementations, such as those used by the HElib and SEAL homomorphic encryption libraries. However, these butterflies are not constant-time algorithms and may leak secret data when incorrectly implemented. Luckily for SEAL and HElib, the compilers optimize the code to run in constant-time. We claim that relying on the compiler is risky and demonstrate how a simple code modification, naïve compiler misuse, or even a malicious attacker that injects just a single compiler flag can cause leakage. This leakage can reduce the hardness of the ring learning with errors (R-LWE) instances used by these libraries, for example, from 2 128 to 2 104.
Original language | English |
---|---|
Title of host publication | Cyber Security, Cryptology, and Machine Learning - 6th International Symposium, CSCML 2022, Proceedings |
Editors | Shlomi Dolev, Amnon Meisels, Jonathan Katz |
Publisher | Springer Science and Business Media Deutschland GmbH |
Pages | 99-117 |
Number of pages | 19 |
ISBN (Print) | 9783031076886 |
DOIs | |
State | Published - 2022 |
Externally published | Yes |
Event | 6th International Symposium on Cyber Security Cryptography and Machine Learning, CSCML 2022 - Beer Sheva, Israel Duration: 30 Jun 2022 → 1 Jul 2022 |
Publication series
Name | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
---|---|
Volume | 13301 LNCS |
ISSN (Print) | 0302-9743 |
ISSN (Electronic) | 1611-3349 |
Conference
Conference | 6th International Symposium on Cyber Security Cryptography and Machine Learning, CSCML 2022 |
---|---|
Country/Territory | Israel |
City | Beer Sheva |
Period | 30/06/22 → 1/07/22 |
Bibliographical note
Publisher Copyright:© 2022, Springer Nature Switzerland AG.
Keywords
- Compiler optimizations
- Constant-time code
- Harvey’s butterflies
- NTT
- Ring-LWE
- Side-channel attacks
ASJC Scopus subject areas
- Theoretical Computer Science
- General Computer Science