Visible to the public \$\textbackslashtextbackslashLambda\$ο\$\textbackslashtextbackslashlambda\$: Functional Lattice Cryptography

Title\$\textbackslashtextbackslashLambda\$ο\$\textbackslashtextbackslashlambda\$: Functional Lattice Cryptography
Publication TypeConference Paper
Year of Publication2016
AuthorsCrockett, Eric, Peikert, Chris
Conference NameProceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4139-4
Keywordscomposability, 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.

URLhttp://doi.acm.org/10.1145/2976749.2978402
DOI10.1145/2976749.2978402
Citation Keycrockett_$textbackslashlambda$$textbackslashlambda$:_2016