\$\textbackslashtextbackslashLambda\$ο\$\textbackslashtextbackslashlambda\$: Functional Lattice Cryptography
Title | \$\textbackslashtextbackslashLambda\$ο\$\textbackslashtextbackslashlambda\$: Functional Lattice Cryptography |
Publication Type | Conference Paper |
Year of Publication | 2016 |
Authors | Crockett, Eric, Peikert, Chris |
Conference Name | Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-4503-4139-4 |
Keywords | composability, compositionality, Computing Theory, Computing Theory and Composabilty, Haskell, implementation, lattice-based cryptography, pubcrawl, ring-lwe |
Abstract | This work describes the design, implementation, and evaluation of Lol, a general-purpose software framework for lattice-based cryptography. The Lol framework has several novel properties that distinguish it from prior implementations of lattice cryptosystems, including the following. Generality, modularity, concision: Lol defines a collection of general, highly composable interfaces for mathematical operations used across lattice cryptography, allowing for a wide variety of schemes to be expressed very naturally and at a high level of abstraction. For example, we implement an advanced fully homomorphic encryption (FHE) scheme in as few as 2-5 lines of code per feature, via code that very closely matches the scheme's mathematical definition. Theory affinity: Lol is designed from the ground-up around the specialized ring representations, fast algorithms, and worst-case hardness proofs that have been developed for the Ring-LWE problem and its cryptographic applications. In particular, it implements fast algorithms for sampling from theory-recommended error distributions over arbitrary cyclotomic rings, and provides tools for maintaining tight control of error growth in cryptographic schemes. Safety: Lol has several facilities for reducing code complexity and programming errors, thereby aiding the correct implementation of lattice cryptosystems. In particular, it uses strong typing to statically enforce--i.e., at compile time--a wide variety of constraints among the various parameters. Advanced features: Lol exposes the rich hierarchy of cyclotomic rings to cryptographic applications. We use this to give the first-ever implementation of a collection of FHE operations known as "ring switching," and also define and analyze a more efficient variant that we call "ring tunneling." Lastly, this work defines and analyzes a variety of mathematical objects and algorithms for the recommended usage of Ring-LWE in cyclotomic rings, which we believe will serve as a useful knowledge base for future implementations. |
URL | http://doi.acm.org/10.1145/2976749.2978402 |
DOI | 10.1145/2976749.2978402 |
Citation Key | crockett_$textbackslashlambda$$textbackslashlambda$:_2016 |