The Community for Technology Leaders
2018 IEEE Symposium on Security and Privacy (SP) (2018)
San Fransisco, CA, US
May 21, 2018 to May 23, 2018
ISSN: 2375-1207
ISBN: 978-1-5386-4353-2
pp: 68-85
David Bruce Cousins , Raytheon BBN Technologies
Giovanni Di Crescenzo , Applied Communication Sciences / Vencore Labs
Kamil Doruk Gür , NJIT Cybersecurity Research Center, New Jersey Institute of Technology
Kevin King , Massachusetts Institute of Technology
Yuriy Polyakov , NJIT Cybersecurity Research Center, New Jersey Institute of Technology
Kurt Rohloff , NJIT Cybersecurity Research Center, New Jersey Institute of Technology
Gerard W. Ryan , NJIT Cybersecurity Research Center, New Jersey Institute of Technology
Erkay Savaş , NJIT Cybersecurity Research Center, New Jersey Institute of Technology
ABSTRACT
We address the practicality challenges of secure program obfuscation \revised{by implementing, optimizing, and experimentally assessing an approach to securely obfuscate conjunction programs proposed in [1]. Conjunction programs evaluate functions $f\left(x_1,\ldots,x_L\right) = \bigwedge_{i \in I} y_i$, where $y_i$ is either $x_i$ or $\lnot x_i$ and $I \subseteq \left[L\right]$, and can be used as classifiers. Our obfuscation approach satisfies distributional Virtual Black Box (VBB) security based on reasonable hardness assumptions, namely an entropic variant of the Ring Learning with Errors (Ring-LWE) assumption. Prior implementations of secure program obfuscation techniques support either trivial programs like point functions, or support the obfuscation of more general but less efficient branching programs to satisfy Indistinguishability Obfuscation (IO), a weaker security model. Further, the more general implemented techniques, rather than relying on standard assumptions, base their security on conjectures that have been shown to be theoretically vulnerable. Our work is the first implementation of non-trivial program obfuscation based on polynomial rings. Our contributions include multiple design and implementation advances resulting in reduced program size, obfuscation runtime, and evaluation runtime by many orders of magnitude. We implement our design in software and experimentally assess performance in a commercially available multi-core computing environment. Our implementation achieves runtimes of 6.7 hours to securely obfuscate a 64-bit conjunction program and 2.5 seconds to evaluate this program over an arbitrary input. We are also able to obfuscate a 32-bit conjunction program with \revised{53 bits} of security in 7 minutes and evaluate the obfuscated program in 43 milliseconds on a commodity desktop computer, which implies that 32-bit conjunction obfuscation is already practical. Our graph-induced (directed) encoding implementation runs up to 25 levels, which is higher than previously reported in the literature for this encoding. Our design and implementation advances are applicable to obfuscating more general compute-and-compare programs and can also be used for many cryptographic schemes based on lattice trapdoors.
INDEX TERMS
Program-obfuscation, Lattices, Ring-LWE, Lattice-trapdoor, Multilinear-map, Directed-encoding, Conjunction, Implementation
CITATION

D. B. Cousins et al., "Implementing Conjunction Obfuscation under Entropic Ring LWE," 2018 IEEE Symposium on Security and Privacy (SP), San Fransisco, CA, US, , pp. 68-85.
doi:10.1109/SP.2018.00007
(Ver 3.3 (11022016))