Lattice-Based Cryptography. Chris Peikert University of Michigan. QCrypt 2016

Similar documents
Ideal Lattices and Ring-LWE: Overview and Open Problems. Chris Peikert Georgia Institute of Technology. ICERM 23 April 2015

Pseudorandomness of Ring-LWE for Any Ring and Modulus. Chris Peikert University of Michigan

Post-quantum key exchange for the Internet based on lattices

Finding Short Generators of Ideals, and Implications for Cryptography. Chris Peikert University of Michigan

Lattice-Based Cryptography

Hardness and advantages of Module-SIS and Module-LWE

Weaknesses in Ring-LWE

Background: Lattices and the Learning-with-Errors problem

Classical hardness of the Learning with Errors problem

Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller

On error distributions in ring-based LWE

Vadim Lyubashevsky 1 Chris Peikert 2 Oded Regev 3

Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem. Chris Peikert Georgia Tech

Classical hardness of Learning with Errors

Recovering Short Generators of Principal Ideals: Extensions and Open Problems

Ring-SIS and Ideal Lattices

How to Use Short Basis : Trapdoors for Hard Lattices and new Cryptographic Constructions

Classical hardness of Learning with Errors

Post-Quantum Cryptography & Privacy. Andreas Hülsing

Peculiar Properties of Lattice-Based Encryption. Chris Peikert Georgia Institute of Technology

Part 2 LWE-based cryptography

Notes for Lecture 16

Middle-Product Learning With Errors

From NewHope to Kyber. Peter Schwabe April 7, 2017

Shai Halevi IBM August 2013

CRYSTALS Kyber and Dilithium. Peter Schwabe February 7, 2018

On Bounded Distance Decoding, Unique Shortest Vectors, and the Minimum Distance Problem. Vadim Lyubashevsky Daniele Micciancio

Lattice-Based Cryptography: Mathematical and Computational Background. Chris Peikert Georgia Institute of Technology.

HOMOMORPHIC ENCRYPTION AND LATTICE BASED CRYPTOGRAPHY 1 / 51

Post-Quantum Cryptography

On Ideal Lattices and Learning with Errors Over Rings

Proving Hardness of LWE

Lattices that Admit Logarithmic Worst-Case to Average-Case Connection Factors

On Bounded Distance Decoding, Unique Shortest Vectors, and the Minimum Distance Problem

A Framework to Select Parameters for Lattice-Based Cryptography

Ideal Lattices and NTRU

An intro to lattices and learning with errors

Revisiting Lattice Attacks on overstretched NTRU parameters

Improved Parameters for the Ring-TESLA Digital Signature Scheme

Recovering Short Generators of Principal Ideals in Cyclotomic Rings

Open problems in lattice-based cryptography

Quantum-secure symmetric-key cryptography based on Hidden Shifts

Practical, Quantum-Secure Key Exchange from LWE

Implementing Ring-LWE cryptosystems

Algorithms for ray class groups and Hilbert class fields

CS Topics in Cryptography January 28, Lecture 5

The quantum threat to cryptography

Asymptotically Efficient Lattice-Based Digital Signatures

Lattice Cryptography

Post-Quantum Cryptography & Privacy. Andreas Hülsing

SIS-based Signatures

Lecture 10 - MAC s continued, hash & MAC

Recovering Short Generators of Principal Ideals in Cyclotomic Rings

Post-quantum key exchange based on Lattices

Towards Tightly Secure Lattice Short Signature and Id-Based Encryption

On Ideal Lattices and Learning with Errors Over Rings

In Praise of Twisted Canonical Embedding

Lizard: Cut off the Tail! Practical Post-Quantum Public-Key Encryption from LWE and LWR

Pseudorandom Knapsacks and the Sample Complexity of LWE Search-to- Decision Reductions

Oded Regev Courant Institute, NYU

Outline Proxy Re-Encryption NTRU NTRUReEncrypt PS-NTRUReEncrypt Experimental results Conclusions. NTRUReEncrypt

Parameter selection in Ring-LWE-based cryptography

What are we talking about when we talk about post-quantum cryptography?

On the Leakage Resilience of Ideal-Lattice Based Public Key Encryption

A Decade of Lattice Cryptography

6.892 Computing on Encrypted Data September 16, Lecture 2

Lossy Trapdoor Functions and Their Applications

CRYPTANALYSIS OF COMPACT-LWE

Introduction to cryptology (GBIN8U16) More on discrete-logarithm based schemes

Number Theory: Applications. Number Theory Applications. Hash Functions II. Hash Functions III. Pseudorandom Numbers

Running head: IDEAL LATTICE CRYPTOGRAPHY 1. Ideal Lattice Cryptography: Escaping the Cryptopocalypse. Stephen Gillen. Georgia Institute of Technology

Cryptology. Scribe: Fabrice Mouhartem M2IF

Lattice Based Crypto: Answering Questions You Don't Understand

Cosc 412: Cryptography and complexity Lecture 7 (22/8/2018) Knapsacks and attacks

Lattice-Based Non-Interactive Arugment Systems

Short generators without quantum computers: the case of multiquadratics

Short Stickelberger Class Relations and application to Ideal-SVP

Practice Exam Winter 2018, CS 485/585 Crypto March 14, 2018

MATH 158 FINAL EXAM 20 DECEMBER 2016

Practical Bootstrapping in Quasilinear Time

Gauss Sieve on GPUs. Shang-Yi Yang 1, Po-Chun Kuo 1, Bo-Yin Yang 2, and Chen-Mou Cheng 1

Lattice Cryptography

Fast Cryptographic Primitives & Circular-Secure Encryption Based on Hard Learning Problems

5199/IOC5063 Theory of Cryptology, 2014 Fall

Introduction to Elliptic Curve Cryptography. Anupam Datta

Solving All Lattice Problems in Deterministic Single Exponential Time

NewHope for ARM Cortex-M

On the power of non-adaptive quantum chosen-ciphertext attacks

Practical Analysis of Key Recovery Attack against Search-LWE Problem

Short generators without quantum computers: the case of multiquadratics

Leakage of Signal function with reused keys in RLWE key exchange

Notes. Number Theory: Applications. Notes. Number Theory: Applications. Notes. Hash Functions I

Master of Logic Project Report: Lattice Based Cryptography and Fully Homomorphic Encryption

Cryptographical Security in the Quantum Random Oracle Model

On the Ring-LWE and Polynomial-LWE problems

1 Number Theory Basics

Computational complexity of lattice problems and cyclic lattices

Fully Homomorphic Encryption and Bootstrapping

Upper Bound on λ 1. Science, Guangzhou University, Guangzhou, China 2 Zhengzhou University of Light Industry, Zhengzhou, China

Digital Signatures. Adam O Neill based on

Transcription:

Lattice-Based Cryptography Chris Peikert University of Michigan QCrypt 2016 1 / 24

Agenda 1 Foundations: lattice problems, SIS/LWE and their applications 2 Ring-Based Crypto: NTRU, Ring-SIS/LWE and ideal lattices 3 Practical Implementations: BLISS, NewHope, Frodo, HElib, Λ λ,... 4 Along the Way: open questions, research directions 2 / 24

Foundations 3 / 24

Lattice-Based Cryptography y = g x mod p m e mod N e(g a, g b ) N = p q = (Images courtesy xkcd.org) 4 / 24

Lattice-Based Cryptography = (Images courtesy xkcd.org) 4 / 24

Lattice-Based Cryptography = Why? Efficient: linear, embarrassingly parallel operations (Images courtesy xkcd.org) 4 / 24

Lattice-Based Cryptography = Why? Efficient: linear, embarrassingly parallel operations Resists quantum attacks (so far) (Images courtesy xkcd.org) 4 / 24

Lattice-Based Cryptography = Why? Efficient: linear, embarrassingly parallel operations Resists quantum attacks (so far) Security from mild worst-case assumptions (Images courtesy xkcd.org) 4 / 24

Lattice-Based Cryptography = Why? Efficient: linear, embarrassingly parallel operations Resists quantum attacks (so far) Security from mild worst-case assumptions Solutions to holy grail problems in crypto: FHE and related (Images courtesy xkcd.org) 4 / 24

What s a Lattice? A periodic grid in Z m. (Formally: full-rank additive subgroup.) O 5 / 24

What s a Lattice? A periodic grid in Z m. (Formally: full-rank additive subgroup.) Basis B = {b 1,..., b m } : L = m (Z b i ) i=1 b 2 b 1 O 5 / 24

What s a Lattice? A periodic grid in Z m. (Formally: full-rank additive subgroup.) Basis B = {b 1,..., b m } : L = m (Z b i ) i=1 b 1 O b 2 5 / 24

What s a Lattice? A periodic grid in Z m. (Formally: full-rank additive subgroup.) Basis B = {b 1,..., b m } : L = m (Z b i ) i=1 b 1 (Other representations too... ) O b 2 5 / 24

What s a Lattice? A periodic grid in Z m. (Formally: full-rank additive subgroup.) Basis B = {b 1,..., b m } : L = m (Z b i ) i=1 b 1 (Other representations too... ) O b 2 Hard Lattice Problems Find/detect short nonzero lattice vectors: (Gap)SVP γ, SIVP γ For γ = poly(m), solving appears to require 2 Ω(m) time (and space). 5 / 24

A Hard Problem: Short Integer Solution [Ajtai 96] Z n q = n-dimensional integer vectors modulo q 6 / 24

A Hard Problem: Short Integer Solution [Ajtai 96] Z n q = n-dimensional integer vectors modulo q a 1 a 2 a m Z n q 6 / 24

A Hard Problem: Short Integer Solution [Ajtai 96] Z n q = n-dimensional integer vectors modulo q Goal: find nontrivial z 1,..., z m {0, ±1} such that: z 1 a 1 + z 2 a 2 + + z m a m = 0 Z n q 6 / 24

A Hard Problem: Short Integer Solution [Ajtai 96] Z n q = n-dimensional integer vectors modulo q Goal: find nontrivial z {0, ±1} m such that: A z = 0 Zn q } {{ } m 6 / 24

A Hard Problem: Short Integer Solution [Ajtai 96] Z n q = n-dimensional integer vectors modulo q Goal: find nontrivial z {0, ±1} m such that: A z = 0 Zn q } {{ } m Collision-Resistant Hash Function Set m > n log 2 q. Define shrinking f A : {0, 1} m Z n q f A (x) = Ax 6 / 24

A Hard Problem: Short Integer Solution [Ajtai 96] Z n q = n-dimensional integer vectors modulo q Goal: find nontrivial z {0, ±1} m such that: A z = 0 Zn q } {{ } m Collision-Resistant Hash Function Set m > n log 2 q. Define shrinking f A : {0, 1} m Z n q f A (x) = Ax Collision x, x {0, 1} m where Ax = Ax... 6 / 24

A Hard Problem: Short Integer Solution [Ajtai 96] Z n q = n-dimensional integer vectors modulo q Goal: find nontrivial z {0, ±1} m such that: A z = 0 Zn q } {{ } m Collision-Resistant Hash Function Set m > n log 2 q. Define shrinking f A : {0, 1} m Z n q f A (x) = Ax Collision x, x {0, 1} m where Ax = Ax...... yields solution z = x x {0, ±1} m. 6 / 24

Cool! (But what does this have to do with lattices?) 7 / 24

Cool! (But what does this have to do with lattices?) A Z n m q defines a q-ary lattice: L (A) = {z Z m : Az = 0} O 7 / 24

Cool! (But what does this have to do with lattices?) (0, q) A Z n m q defines a q-ary lattice: L (A) = {z Z m : Az = 0} O (q, 0) 7 / 24

Cool! (But what does this have to do with lattices?) (0, q) A Z n m q defines a q-ary lattice: L (A) = {z Z m : Az = 0} Short solutions z lie in O (q, 0) 7 / 24

Cool! (But what does this have to do with lattices?) (0, q) A Z n m q defines a q-ary lattice: L (A) = {z Z m : Az = 0} Short solutions z lie in O (q, 0) Worst-Case to Average-Case Reduction [Ajtai 96,... ] Finding short ( z β q) nonzero z L (A) (for uniformly random A Z n m q ) solving GapSVP β n, SIVP β n on any n-dim lattice 7 / 24

Application: Digital Signatures [GentryPeikertVaikuntanathan 08] Generate uniform vk = A with secret trapdoor sk = T. 8 / 24

Application: Digital Signatures [GentryPeikertVaikuntanathan 08] Generate uniform vk = A with secret trapdoor sk = T. Sign(T, µ): use T to sample a short z Z m s.t. Az = H(µ) Z n q. 8 / 24

Application: Digital Signatures [GentryPeikertVaikuntanathan 08] Generate uniform vk = A with secret trapdoor sk = T. Sign(T, µ): use T to sample a short z Z m s.t. Az = H(µ) Z n q. Draw z from a distribution that reveals nothing about secret key: 8 / 24

Application: Digital Signatures [GentryPeikertVaikuntanathan 08] Generate uniform vk = A with secret trapdoor sk = T. Sign(T, µ): use T to sample a short z Z m s.t. Az = H(µ) Z n q. Draw z from a distribution that reveals nothing about secret key: Verify(A, µ, z): check that Az = H(µ) and z is sufficiently short. 8 / 24

Application: Digital Signatures [GentryPeikertVaikuntanathan 08] Generate uniform vk = A with secret trapdoor sk = T. Sign(T, µ): use T to sample a short z Z m s.t. Az = H(µ) Z n q. Draw z from a distribution that reveals nothing about secret key: Verify(A, µ, z): check that Az = H(µ) and z is sufficiently short. Security: forging a signature for a new message µ requires finding short z s.t. Az = H(µ ). This is SIS: hard! 8 / 24

Another Hard Problem: Learning With Errors [Regev 05] Parameters: dimension n, modulus q = poly(n), error distribution 9 / 24

Another Hard Problem: Learning With Errors [Regev 05] Parameters: dimension n, modulus q = poly(n), error distribution Search: find secret s Z n q given many noisy inner products a 1 Z n q, b 1 s, a 1 mod q a 2 Z n q, b 2 s, a 2 mod q. 9 / 24

Another Hard Problem: Learning With Errors [Regev 05] Parameters: dimension n, modulus q = poly(n), error distribution Search: find secret s Z n q given many noisy inner products a 1 Z n q, b 1 = s, a 1 + e 1 Z q a 2 Z n q, b 2 = s, a 2 + e 2 Z q. n error q, rate α 9 / 24

Another Hard Problem: Learning With Errors [Regev 05] Parameters: dimension n, modulus q = poly(n), error distribution Search: find secret s Z n q given many noisy inner products A, ( b t ) = s t A + e t n error q, rate α 9 / 24

Another Hard Problem: Learning With Errors [Regev 05] Parameters: dimension n, modulus q = poly(n), error distribution Search: find secret s Z n q given many noisy inner products A, ( b t ) = s t A + e t n error q, rate α Decision: distinguish (A, b) from uniform (A, b) 9 / 24

Another Hard Problem: Learning With Errors [Regev 05] Parameters: dimension n, modulus q = poly(n), error distribution Search: find secret s Z n q given many noisy inner products A, ( b t ) = s t A + e t n error q, rate α Decision: distinguish (A, b) from uniform (A, b) LWE is Hard (n/α)-approx worst case lattice problems search-lwe decision-lwe crypto (quantum [R 05]) [BFKL 93,R 05,... ] 9 / 24

Another Hard Problem: Learning With Errors [Regev 05] Parameters: dimension n, modulus q = poly(n), error distribution Search: find secret s Z n q given many noisy inner products A, ( b t ) = s t A + e t n error q, rate α Decision: distinguish (A, b) from uniform (A, b) LWE is Hard (n/α)-approx worst case lattice problems search-lwe decision-lwe crypto (quantum [R 05]) [BFKL 93,R 05,... ] Also fully classical reductions, for worse params [Peikert 09,BLPRS 13] 9 / 24

LWE is Versatile What kinds of crypto can we do with LWE? 10 / 24

LWE is Versatile What kinds of crypto can we do with LWE? Key Exchange, Public Key Encryption Oblivious Transfer Actively Secure Encryption (w/o random oracles) Block Ciphers, PRFs 10 / 24

LWE is Versatile What kinds of crypto can we do with LWE? Key Exchange, Public Key Encryption Oblivious Transfer Actively Secure Encryption (w/o random oracles) Block Ciphers, PRFs Identity-Based Encryption (w/ RO) Hierarchical ID-Based Encryption (w/o RO) 10 / 24

LWE is Versatile What kinds of crypto can we do with LWE? Key Exchange, Public Key Encryption Oblivious Transfer Actively Secure Encryption (w/o random oracles) Block Ciphers, PRFs Identity-Based Encryption (w/ RO) Hierarchical ID-Based Encryption (w/o RO)!!! Fully Homomorphic Encryption!!! Attribute-Based Encryption for arbitrary policies and much, much more... 10 / 24

Key Exchange from LWE [Regev 05,LP 11] r Z n (error) A Z n n q s Z n (error) 11 / 24

Key Exchange from LWE [Regev 05,LP 11] r Z n (error) A Z n n q s Z n (error) u t r t A Z n q 11 / 24

Key Exchange from LWE [Regev 05,LP 11] r Z n (error) A Z n n q s Z n (error) u t r t A Z n q v A s Z n q 11 / 24

Key Exchange from LWE [Regev 05,LP 11] r Z n (error) A Z n n q s Z n (error) u t r t A Z n q r t v r t As v A s Z n q k u t s r t As 11 / 24

Key Exchange from LWE [Regev 05,LP 11] r Z n (error) A Z n n q s Z n (error) u t r t A Z n q r t v r t As v A s Z n q k u t s r t As (A, u, v, k) 11 / 24

Key Exchange from LWE [Regev 05,LP 11] r Z n (error) A Z n n q s Z n (error) u t r t A Z n q r t v r t As v A s Z n q k u t s r t As (A, u, v, k) by decision-lwe 11 / 24

Key Exchange from LWE [Regev 05,LP 11] r Z n (error) A Z n n q s Z n (error) u t r t A Z n q r t v r t As v A s Z n q k u t s r t As (A, u, v, k) by decision-lwe 11 / 24

Efficiency from Rings 12 / 24

SIS/LWE are (Sort Of) Efficient. ( ai ) s + e i. = b i Z q Getting one pseudorandom scalar b i Z q requires an n-dim mod-q inner product 13 / 24

SIS/LWE are (Sort Of) Efficient. ( ai ) s + e i. = b i Z q Getting one pseudorandom scalar b i Z q requires an n-dim mod-q inner product Can amortize each a i over many secrets s j, but still Õ(n) work per scalar output. 13 / 24

SIS/LWE are (Sort Of) Efficient. ( ai ) s + e i. = b i Z q Getting one pseudorandom scalar b i Z q requires an n-dim mod-q inner product Can amortize each a i over many secrets s j, but still Õ(n) work per scalar output. Cryptosystems have rather large keys:.. pk = A, b Ω(n).. } {{ } n 13 / 24

SIS/LWE are (Sort Of) Efficient. ( ai ) s + e i. = b i Z q Getting one pseudorandom scalar b i Z q requires an n-dim mod-q inner product Can amortize each a i over many secrets s j, but still Õ(n) work per scalar output. Cryptosystems have rather large keys:.. pk = A, b Ω(n).. } {{ } n Inherently n 2 time to encrypt & decrypt an n-bit message. 13 / 24

Wishful Thinking.... a i. s +. e i =. b i Zn q.... Get n pseudorandom scalars from just one (cheap) product operation? Replace Z n n q -chunks by Z n q. 14 / 24

Wishful Thinking.... a i. s +. e i =. b i Zn q.... Get n pseudorandom scalars from just one (cheap) product operation? Replace Z n n q -chunks by Z n q. Question How to define the product so that (a i, b i ) is pseudorandom? 14 / 24

Wishful Thinking.... a i. s +. e i =. b i Zn q.... Get n pseudorandom scalars from just one (cheap) product operation? Replace Z n n q -chunks by Z n q. Question How to define the product so that (a i, b i ) is pseudorandom? Careful! With small error, coordinate-wise multiplication is insecure! 14 / 24

Wishful Thinking.... a i. s +. e i =. b i Zn q.... Get n pseudorandom scalars from just one (cheap) product operation? Replace Z n n q -chunks by Z n q. Question How to define the product so that (a i, b i ) is pseudorandom? Careful! With small error, coordinate-wise multiplication is insecure! Answer = multiplication in a polynomial ring: e.g., Z q [X]/(X n + 1). Fast and practical with FFT: n log n operations mod q. 14 / 24

Wishful Thinking.... a i. s +. e i =. b i Zn q.... Get n pseudorandom scalars from just one (cheap) product operation? Replace Z n n q -chunks by Z n q. Question How to define the product so that (a i, b i ) is pseudorandom? Careful! With small error, coordinate-wise multiplication is insecure! Answer = multiplication in a polynomial ring: e.g., Z q [X]/(X n + 1). Fast and practical with FFT: n log n operations mod q. Same ring structures used in NTRU cryptosystem [HPS 98], compact one-way / CR hash functions [Mic 02,PR 06,LM 06,... ] 14 / 24

LWE Over Rings, Over Simplified Let R = Z[X]/(X n + 1) for n a power of two, and R q = R/qR 15 / 24

LWE Over Rings, Over Simplified Let R = Z[X]/(X n + 1) for n a power of two, and R q = R/qR Elements of Rq are deg < n polynomials with mod-q coefficients Operations in Rq are very efficient using FFT-like algorithms 15 / 24

LWE Over Rings, Over Simplified Let R = Z[X]/(X n + 1) for n a power of two, and R q = R/qR Elements of Rq are deg < n polynomials with mod-q coefficients Operations in Rq are very efficient using FFT-like algorithms Search: find secret ring element s(x) R q, given: a 1 R q, b 1 = s a 1 + e 1 R q a 2 R q, b 2 = s a 2 + e 2 R q a 3 R q, b 3 = s a 3 + e 3 R q (e i R are small ). 15 / 24

LWE Over Rings, Over Simplified Let R = Z[X]/(X n + 1) for n a power of two, and R q = R/qR Elements of Rq are deg < n polynomials with mod-q coefficients Operations in Rq are very efficient using FFT-like algorithms Search: find secret ring element s(x) R q, given: a 1 R q, b 1 = s a 1 + e 1 R q a 2 R q, b 2 = s a 2 + e 2 R q a 3 R q, b 3 = s a 3 + e 3 R q (e i R are small ). Decision: distinguish (a i, b i ) from uniform (a i, b i ) R q R q (with noticeable advantage) 15 / 24

Hardness of Ring-LWE [LyubashevskyPeikertRegev 10] Two main theorems (reductions): worst-case approx-svp on ideal lattices in R (quantum, any R = O K ) search R-LWE (classical, any cyclotomic R) decision R-LWE 16 / 24

Hardness of Ring-LWE [LyubashevskyPeikertRegev 10] Two main theorems (reductions): worst-case approx-svp on ideal lattices in R (quantum, any R = O K ) search R-LWE (classical, any cyclotomic R) decision R-LWE 1 If you can find s given (a i, b i ), then you can find approximately shortest vectors in any ideal lattice in R (using a quantum algorithm). 16 / 24

Hardness of Ring-LWE [LyubashevskyPeikertRegev 10] Two main theorems (reductions): worst-case approx-svp on ideal lattices in R (quantum, any R = O K ) search R-LWE (classical, any cyclotomic R) decision R-LWE 1 If you can find s given (a i, b i ), then you can find approximately shortest vectors in any ideal lattice in R (using a quantum algorithm). 2 If you can distinguish (a i, b i ) from (a i, b i ), then you can find s. 16 / 24

Hardness of Ring-LWE [LyubashevskyPeikertRegev 10] Two main theorems (reductions): worst-case approx-svp on ideal lattices in R (quantum, any R = O K ) search R-LWE (classical, any cyclotomic R) decision R-LWE Then: 1 If you can find s given (a i, b i ), then you can find approximately shortest vectors in any ideal lattice in R (using a quantum algorithm). 2 If you can distinguish (a i, b i ) from (a i, b i ), then you can find s. decision R-LWE lots of crypto 16 / 24

Hardness of Ring-LWE [LyubashevskyPeikertRegev 10] Two main theorems (reductions): worst-case approx-svp on ideal lattices in R (quantum, any R = O K ) search R-LWE (classical, any cyclotomic R) decision R-LWE Then: 1 If you can find s given (a i, b i ), then you can find approximately shortest vectors in any ideal lattice in R (using a quantum algorithm). 2 If you can distinguish (a i, b i ) from (a i, b i ), then you can find s. decision R-LWE lots of crypto If you can break the crypto, then you can distinguish (ai, b i ) from (a i, b i )... 16 / 24

Ideal Lattices Say R = Z[X]/(X n + 1) for power-of-two n. (Or R = O K.) An ideal I R is closed under + and, and under with R. 17 / 24

Ideal Lattices Say R = Z[X]/(X n + 1) for power-of-two n. (Or R = O K.) An ideal I R is closed under + and, and under with R. To get ideal lattices, embed R and its ideals into R n. How? 17 / 24

Ideal Lattices Say R = Z[X]/(X n + 1) for power-of-two n. (Or R = O K.) An ideal I R is closed under + and, and under with R. To get ideal lattices, embed R and its ideals into R n. How? 1 Obvious answer: coefficient embedding a 0 + a 1 X + + a n 1 X n 1 R (a 0,..., a n 1 ) Z n 17 / 24

Ideal Lattices Say R = Z[X]/(X n + 1) for power-of-two n. (Or R = O K.) An ideal I R is closed under + and, and under with R. To get ideal lattices, embed R and its ideals into R n. How? 1 Obvious answer: coefficient embedding a 0 + a 1 X + + a n 1 X n 1 R (a 0,..., a n 1 ) Z n + is coordinate-wise, but analyzing is cumbersome. 17 / 24

Ideal Lattices Say R = Z[X]/(X n + 1) for power-of-two n. (Or R = O K.) An ideal I R is closed under + and, and under with R. To get ideal lattices, embed R and its ideals into C n. How? 1 Obvious answer: coefficient embedding a 0 + a 1 X + + a n 1 X n 1 R (a 0,..., a n 1 ) Z n + is coordinate-wise, but analyzing is cumbersome. 2 Minkowski: canonical embedding. Let ω = exp(πi/n) C, so roots of X n + 1 are ω 1, ω 3,..., ω 2n 1. Embed: a(x) R (a(ω 1 ), a(ω 3 ),..., a(ω 2n 1 )) C n 17 / 24

Ideal Lattices Say R = Z[X]/(X n + 1) for power-of-two n. (Or R = O K.) An ideal I R is closed under + and, and under with R. To get ideal lattices, embed R and its ideals into C n. How? 1 Obvious answer: coefficient embedding a 0 + a 1 X + + a n 1 X n 1 R (a 0,..., a n 1 ) Z n + is coordinate-wise, but analyzing is cumbersome. 2 Minkowski: canonical embedding. Let ω = exp(πi/n) C, so roots of X n + 1 are ω 1, ω 3,..., ω 2n 1. Embed: a(x) R (a(ω 1 ), a(ω 3 ),..., a(ω 2n 1 )) C n Both + and are coordinate-wise. 17 / 24

Ideal Lattices Say R = Z[X]/(X n + 1) for power-of-two n. (Or R = O K.) An ideal I R is closed under + and, and under with R. To get ideal lattices, embed R and its ideals into R n. How? 1 Obvious answer: coefficient embedding a 0 + a 1 X + + a n 1 X n 1 R (a 0,..., a n 1 ) Z n + is coordinate-wise, but analyzing is cumbersome. 2 Minkowski: canonical embedding. Let ω = exp(πi/n) C, so roots of X n + 1 are ω 1, ω 3,..., ω 2n 1. Embed: a(x) R (a(ω 1 ), a(ω 3 ),..., a(ω 2n 1 )) C n Both + and are coordinate-wise. Error distribution is Gaussian in canonical embedding. 17 / 24

Ideal Lattices Say R = Z[X]/(X 2 + 1). Embeddings map X ±i. σ(x) = (i, i) σ(1) = (1, 1)

Ideal Lattices Say R = Z[X]/(X 2 + 1). Embeddings map X ±i. I = X 2, 3X + 1 is an ideal in R. σ(x) = (i, i) σ(1) = (1, 1) σ(x 2) σ( 3X + 1) 18 / 24

Ideal Lattices Say R = Z[X]/(X 2 + 1). Embeddings map X ±i. I = X 2, 3X + 1 is an ideal in R. σ(x) = (i, i) σ(1) = (1, 1) σ(x 2) σ( 3X + 1) (Approximate) Shortest Vector Problem Given (an arbitrary basis of) an arbitrary ideal I R, find a nearly shortest nonzero a I. 18 / 24

Complexity of Ideal Lattices 1 We know approx-r-svp R-LWE (quantumly). Other direction? Can we solve R-LWE using an oracle for approx-r-svp? 19 / 24

Complexity of Ideal Lattices 1 We know approx-r-svp R-LWE (quantumly). Other direction? Can we solve R-LWE using an oracle for approx-r-svp? R-LWE samples (a i, b i ) don t readily translate to ideals in R. 19 / 24

Complexity of Ideal Lattices 1 We know approx-r-svp R-LWE (quantumly). Other direction? Can we solve R-LWE using an oracle for approx-r-svp? R-LWE samples (a i, b i ) don t readily translate to ideals in R. 2 How hard/easy is poly(n)-r-svp? (In cyclotomics etc.) 19 / 24

Complexity of Ideal Lattices 1 We know approx-r-svp R-LWE (quantumly). Other direction? Can we solve R-LWE using an oracle for approx-r-svp? R-LWE samples (a i, b i ) don t readily translate to ideals in R. 2 How hard/easy is poly(n)-r-svp? (In cyclotomics etc.) Despite much ring structure (e.g., subfields, Galois), no significant improvement versus general n-dim lattices is known. 19 / 24

Complexity of Ideal Lattices 1 We know approx-r-svp R-LWE (quantumly). Other direction? Can we solve R-LWE using an oracle for approx-r-svp? R-LWE samples (a i, b i ) don t readily translate to ideals in R. 2 How hard/easy is poly(n)-r-svp? (In cyclotomics etc.) Despite much ring structure (e.g., subfields, Galois), no significant improvement versus general n-dim lattices is known. But 2 O( n log n) -SVP is quantum poly-time solvable in prime-power cyclotomics, and maybe other rings [CDPR 16,BS 16,K 16,CDW 16] 19 / 24

Complexity of Ideal Lattices 1 We know approx-r-svp R-LWE (quantumly). Other direction? Can we solve R-LWE using an oracle for approx-r-svp? R-LWE samples (a i, b i ) don t readily translate to ideals in R. 2 How hard/easy is poly(n)-r-svp? (In cyclotomics etc.) Despite much ring structure (e.g., subfields, Galois), no significant improvement versus general n-dim lattices is known. But 2 O( n log n) -SVP is quantum poly-time solvable in prime-power cyclotomics, and maybe other rings [CDPR 16,BS 16,K 16,CDW 16] There is a 2 Ω( n/ log n) barrier for the main technique. Can it be circumvented? 19 / 24

Implementations 20 / 24

Key Exchange NewHope [ADPS 15]: Ring-LWE key exchange a la [LPR 10,P 14], with many optimizations and conjectured 200-bit quantum security. 21 / 24

Key Exchange NewHope [ADPS 15]: Ring-LWE key exchange a la [LPR 10,P 14], with many optimizations and conjectured 200-bit quantum security. Comparable to or even faster than state-of-the-art ECDH w/ 128-bit (non-quantum) security. 21 / 24

Key Exchange NewHope [ADPS 15]: Ring-LWE key exchange a la [LPR 10,P 14], with many optimizations and conjectured 200-bit quantum security. Comparable to or even faster than state-of-the-art ECDH w/ 128-bit (non-quantum) security. Google has experimentally deployed NewHope+ECDH in Chrome canary and its own web servers. 21 / 24

Key Exchange NewHope [ADPS 15]: Ring-LWE key exchange a la [LPR 10,P 14], with many optimizations and conjectured 200-bit quantum security. Comparable to or even faster than state-of-the-art ECDH w/ 128-bit (non-quantum) security. Google has experimentally deployed NewHope+ECDH in Chrome canary and its own web servers. Frodo [BCDMNNRS 16]: removes the ring! Plain-LWE key exchange, with many tricks and optimizations. Conjectured 128-bit quantum security. 21 / 24

Key Exchange NewHope [ADPS 15]: Ring-LWE key exchange a la [LPR 10,P 14], with many optimizations and conjectured 200-bit quantum security. Comparable to or even faster than state-of-the-art ECDH w/ 128-bit (non-quantum) security. Google has experimentally deployed NewHope+ECDH in Chrome canary and its own web servers. Frodo [BCDMNNRS 16]: removes the ring! Plain-LWE key exchange, with many tricks and optimizations. Conjectured 128-bit quantum security. About 10x slower than NewHope, but only 2x slower than ECDH. 21 / 24

Digital Signatures Most implementations follow design from [Lyubashevsky 09/ 12,... ]. 22 / 24

Digital Signatures Most implementations follow design from [Lyubashevsky 09/ 12,... ]. BLISS [DDLL 13]: optimized implementation in this framework. 22 / 24

Digital Signatures Most implementations follow design from [Lyubashevsky 09/ 12,... ]. BLISS [DDLL 13]: optimized implementation in this framework. Compelling efficiency: System Sig (Kb) PK (Kb) KSign/sec KVer/sec RSA-4096 4.0 4.0 0.1 7.5 ECDSA-256 0.5 0.25 9.5 2.5 BLISS 5.6 7.0 8.0 33 (Conjectured 128 bits of security, openssl implementations.) 22 / 24

Other Implementations HElib [HaleviShoup]: an assembly language for fully homomorphic encryption (FHE). 23 / 24

Other Implementations HElib [HaleviShoup]: an assembly language for fully homomorphic encryption (FHE). Implements many advanced FHE features, holds most speed records 23 / 24

Other Implementations HElib [HaleviShoup]: an assembly language for fully homomorphic encryption (FHE). Implements many advanced FHE features, holds most speed records Λ λ (L O L) [CrockettPeikert 16]: a general-purpose, high-level framework aimed at advanced lattice cryptosystems. 23 / 24

Other Implementations HElib [HaleviShoup]: an assembly language for fully homomorphic encryption (FHE). Implements many advanced FHE features, holds most speed records Λ λ (L O L) [CrockettPeikert 16]: a general-purpose, high-level framework aimed at advanced lattice cryptosystems. Focuses on modularity, safety, and consistency with best theory. 23 / 24

Conclusions Lattices are a very attractive foundation for post-quantum crypto, both basic and advanced. 24 / 24

Conclusions Lattices are a very attractive foundation for post-quantum crypto, both basic and advanced. Cryptanalysis/security estimates for concrete parameters is subtle and ongoing, but maturing. 24 / 24

Conclusions Lattices are a very attractive foundation for post-quantum crypto, both basic and advanced. Cryptanalysis/security estimates for concrete parameters is subtle and ongoing, but maturing. A big success story for rigorous theory and practical engineering alike! 24 / 24

Conclusions Lattices are a very attractive foundation for post-quantum crypto, both basic and advanced. Cryptanalysis/security estimates for concrete parameters is subtle and ongoing, but maturing. A big success story for rigorous theory and practical engineering alike! Thanks! 24 / 24