Lattice-Based Cryptography Chris Peikert University of Michigan - - PowerPoint PPT Presentation

lattice based cryptography chris peikert
SMART_READER_LITE
LIVE PREVIEW

Lattice-Based Cryptography Chris Peikert University of Michigan - - PowerPoint PPT Presentation

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:


slide-1
SLIDE 1

Lattice-Based Cryptography Chris Peikert

University of Michigan QCrypt 2016

1 / 24

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Foundations

3 / 24

slide-4
SLIDE 4

Lattice-Based Cryptography

N = p · q

y = g

x

m

  • d

p

me mod N

e(ga, gb)

= ⇒

(Images courtesy xkcd.org) 4 / 24

slide-5
SLIDE 5

Lattice-Based Cryptography

= ⇒

(Images courtesy xkcd.org) 4 / 24

slide-6
SLIDE 6

Lattice-Based Cryptography

= ⇒

(Images courtesy xkcd.org)

Why?

◮ Efficient: linear, embarrassingly parallel operations

4 / 24

slide-7
SLIDE 7

Lattice-Based Cryptography

= ⇒

(Images courtesy xkcd.org)

Why?

◮ Efficient: linear, embarrassingly parallel operations ◮ Resists quantum attacks (so far)

4 / 24

slide-8
SLIDE 8

Lattice-Based Cryptography

= ⇒

(Images courtesy xkcd.org)

Why?

◮ Efficient: linear, embarrassingly parallel operations ◮ Resists quantum attacks (so far) ◮ Security from mild worst-case assumptions

4 / 24

slide-9
SLIDE 9

Lattice-Based Cryptography

= ⇒

(Images courtesy xkcd.org)

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

4 / 24

slide-10
SLIDE 10

What’s a Lattice?

◮ A periodic ‘grid’ in Zm. (Formally: full-rank additive subgroup.)

O 5 / 24

slide-11
SLIDE 11

What’s a Lattice?

◮ A periodic ‘grid’ in Zm. (Formally: full-rank additive subgroup.) ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

O b1 b2 5 / 24

slide-12
SLIDE 12

What’s a Lattice?

◮ A periodic ‘grid’ in Zm. (Formally: full-rank additive subgroup.) ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

O b1 b2 5 / 24

slide-13
SLIDE 13

What’s a Lattice?

◮ A periodic ‘grid’ in Zm. (Formally: full-rank additive subgroup.) ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

(Other representations too . . . )

O b1 b2 5 / 24

slide-14
SLIDE 14

What’s a Lattice?

◮ A periodic ‘grid’ in Zm. (Formally: full-rank additive subgroup.) ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

(Other representations too . . . )

O b1 b2

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

slide-15
SLIDE 15

A Hard Problem: Short Integer Solution [Ajtai’96]

◮ Zn

q = n-dimensional integer vectors modulo q

6 / 24

slide-16
SLIDE 16

A Hard Problem: Short Integer Solution [Ajtai’96]

◮ Zn

q = n-dimensional integer vectors modulo q

  | a1 |     | a2 |   · · ·   | am |   ∈ Zn

q

6 / 24

slide-17
SLIDE 17

A Hard Problem: Short Integer Solution [Ajtai’96]

◮ Zn

q = n-dimensional integer vectors modulo q

◮ Goal: find nontrivial z1, . . . , zm ∈ {0, ±1} such that: z1 ·   | a1 |   + z2 ·   | a2 |   + · · · + zm ·   | am |   =   | |   ∈ Zn

q

6 / 24

slide-18
SLIDE 18

A Hard Problem: Short Integer Solution [Ajtai’96]

◮ Zn

q = n-dimensional integer vectors modulo q

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

6 / 24

slide-19
SLIDE 19

A Hard Problem: Short Integer Solution [Ajtai’96]

◮ Zn

q = n-dimensional integer vectors modulo q

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

Collision-Resistant Hash Function

◮ Set m > n log2 q. Define ‘shrinking’ fA : {0, 1}m → Zn

q

fA(x) = Ax

6 / 24

slide-20
SLIDE 20

A Hard Problem: Short Integer Solution [Ajtai’96]

◮ Zn

q = n-dimensional integer vectors modulo q

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

Collision-Resistant Hash Function

◮ Set m > n log2 q. Define ‘shrinking’ fA : {0, 1}m → Zn

q

fA(x) = Ax ◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . .

6 / 24

slide-21
SLIDE 21

A Hard Problem: Short Integer Solution [Ajtai’96]

◮ Zn

q = n-dimensional integer vectors modulo q

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

Collision-Resistant Hash Function

◮ Set m > n log2 q. Define ‘shrinking’ fA : {0, 1}m → Zn

q

fA(x) = Ax ◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . . . . . yields solution z = x − x′ ∈ {0, ±1}m.

6 / 24

slide-22
SLIDE 22

Cool!

(But what does this have to do with lattices?)

7 / 24

slide-23
SLIDE 23

Cool!

(But what does this have to do with lattices?)

◮ A ∈ Zn×m

q

defines a ‘q-ary’ lattice: L⊥(A) = {z ∈ Zm : Az = 0}

O 7 / 24

slide-24
SLIDE 24

Cool!

(But what does this have to do with lattices?)

◮ A ∈ Zn×m

q

defines a ‘q-ary’ lattice: L⊥(A) = {z ∈ Zm : Az = 0}

O (0, q) (q, 0) 7 / 24

slide-25
SLIDE 25

Cool!

(But what does this have to do with lattices?)

◮ A ∈ Zn×m

q

defines a ‘q-ary’ lattice: L⊥(A) = {z ∈ Zm : Az = 0} ◮ ‘Short’ solutions z lie in

O (0, q) (q, 0) 7 / 24

slide-26
SLIDE 26

Cool!

(But what does this have to do with lattices?)

◮ A ∈ Zn×m

q

defines a ‘q-ary’ lattice: L⊥(A) = {z ∈ Zm : Az = 0} ◮ ‘Short’ solutions z lie in

O (0, q) (q, 0)

Worst-Case to Average-Case Reduction [Ajtai’96,. . . ]

Finding ‘short’ (z ≤ β ≪ q) nonzero z ∈ L⊥(A)

(for uniformly random A ∈ Zn×m

q

) ⇓ solving GapSVPβ√n, SIVPβ√n on any n-dim lattice

7 / 24

slide-27
SLIDE 27

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

◮ Generate uniform vk = A with secret ‘trapdoor’ sk = T.

8 / 24

slide-28
SLIDE 28

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

◮ Generate uniform vk = A with secret ‘trapdoor’ sk = T. ◮ Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Zn

q .

8 / 24

slide-29
SLIDE 29

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

◮ Generate uniform vk = A with secret ‘trapdoor’ sk = T. ◮ Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Zn

q .

Draw z from a distribution that reveals nothing about secret key:

8 / 24

slide-30
SLIDE 30

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

◮ Generate uniform vk = A with secret ‘trapdoor’ sk = T. ◮ Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Zn

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

slide-31
SLIDE 31

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

◮ Generate uniform vk = A with secret ‘trapdoor’ sk = T. ◮ Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Zn

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

slide-32
SLIDE 32

Another Hard Problem: Learning With Errors

[Regev’05]

◮ Parameters: dimension n, modulus q = poly(n), error distribution

9 / 24

slide-33
SLIDE 33

Another Hard Problem: Learning With Errors

[Regev’05]

◮ Parameters: dimension n, modulus q = poly(n), error distribution ◮ Search: find secret s ∈ Zn

q given many ‘noisy inner products’

a1 ← Zn

q

, b1 ≈ s , a1 mod q a2 ← Zn

q

, b2 ≈ s , a2 mod q . . .

9 / 24

slide-34
SLIDE 34

Another Hard Problem: Learning With Errors

[Regev’05]

◮ Parameters: dimension n, modulus q = poly(n), error distribution ◮ Search: find secret s ∈ Zn

q given many ‘noisy inner products’

a1 ← Zn

q

, b1 = s , a1 + e1 ∈ Zq a2 ← Zn

q

, b2 = s , a2 + e2 ∈ Zq . . .

√n ≤ error ≪ q, ‘rate’ α

9 / 24

slide-35
SLIDE 35

Another Hard Problem: Learning With Errors

[Regev’05]

◮ Parameters: dimension n, modulus q = poly(n), error distribution ◮ Search: find secret s ∈ Zn

q given many ‘noisy inner products’

 · · · A · · ·   ,

  • · · ·

bt · · ·

  • = stA + et

√n ≤ error ≪ q, ‘rate’ α

9 / 24

slide-36
SLIDE 36

Another Hard Problem: Learning With Errors

[Regev’05]

◮ Parameters: dimension n, modulus q = poly(n), error distribution ◮ Search: find secret s ∈ Zn

q given many ‘noisy inner products’

 · · · A · · ·   ,

  • · · ·

bt · · ·

  • = stA + et

√n ≤ error ≪ q, ‘rate’ α

◮ Decision: distinguish (A , b) from uniform (A , b)

9 / 24

slide-37
SLIDE 37

Another Hard Problem: Learning With Errors

[Regev’05]

◮ Parameters: dimension n, modulus q = poly(n), error distribution ◮ Search: find secret s ∈ Zn

q given many ‘noisy inner products’

 · · · A · · ·   ,

  • · · ·

bt · · ·

  • = stA + et

√n ≤ error ≪ q, ‘rate’ α

◮ Decision: distinguish (A , b) from uniform (A , b)

LWE is Hard

(n/α)-approx worst case lattice problems ≤

(quantum [R’05])

search-LWE ≤

[BFKL’93,R’05,. . . ]

decision-LWE ≤ crypto

9 / 24

slide-38
SLIDE 38

Another Hard Problem: Learning With Errors

[Regev’05]

◮ Parameters: dimension n, modulus q = poly(n), error distribution ◮ Search: find secret s ∈ Zn

q given many ‘noisy inner products’

 · · · A · · ·   ,

  • · · ·

bt · · ·

  • = stA + et

√n ≤ error ≪ q, ‘rate’ α

◮ Decision: distinguish (A , b) from uniform (A , b)

LWE is Hard

(n/α)-approx worst case lattice problems ≤

(quantum [R’05])

search-LWE ≤

[BFKL’93,R’05,. . . ]

decision-LWE ≤ crypto ◮ Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

slide-39
SLIDE 39

LWE is Versatile

What kinds of crypto can we do with LWE?

10 / 24

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

Key Exchange from LWE [Regev’05,LP’11]

r ← Zn (error) A ← Zn×n

q

s ← Zn (error)

11 / 24

slide-44
SLIDE 44

Key Exchange from LWE [Regev’05,LP’11]

r ← Zn (error) A ← Zn×n

q

s ← Zn (error) ut ≈ rt · A ∈ Zn

q

11 / 24

slide-45
SLIDE 45

Key Exchange from LWE [Regev’05,LP’11]

r ← Zn (error) A ← Zn×n

q

s ← Zn (error) ut ≈ rt · A ∈ Zn

q

v ≈ A · s ∈ Zn

q

11 / 24

slide-46
SLIDE 46

Key Exchange from LWE [Regev’05,LP’11]

r ← Zn (error) A ← Zn×n

q

s ← Zn (error) ut ≈ rt · A ∈ Zn

q

v ≈ A · s ∈ Zn

q

rt · v ≈ rtAs k ≈ ut · s ≈ rtAs

11 / 24

slide-47
SLIDE 47

Key Exchange from LWE [Regev’05,LP’11]

r ← Zn (error) A ← Zn×n

q

s ← Zn (error) ut ≈ rt · A ∈ Zn

q

v ≈ A · s ∈ Zn

q

rt · v ≈ rtAs k ≈ ut · s ≈ rtAs (A, u, v, k)

11 / 24

slide-48
SLIDE 48

Key Exchange from LWE [Regev’05,LP’11]

r ← Zn (error) A ← Zn×n

q

s ← Zn (error) ut ≈ rt · A ∈ Zn

q

v ≈ A · s ∈ Zn

q

rt · v ≈ rtAs k ≈ ut · s ≈ rtAs (A, u, v, k)

by decision-LWE

11 / 24

slide-49
SLIDE 49

Key Exchange from LWE [Regev’05,LP’11]

r ← Zn (error) A ← Zn×n

q

s ← Zn (error) ut ≈ rt · A ∈ Zn

q

v ≈ A · s ∈ Zn

q

rt · v ≈ rtAs k ≈ ut · s ≈ rtAs (A, u, v, k)

by decision-LWE

11 / 24

slide-50
SLIDE 50

Efficiency from Rings

12 / 24

slide-51
SLIDE 51

SIS/LWE are (Sort Of) Efficient

  • · · · ai · · ·

   . . . s . . .     + ei = bi ∈ Zq ◮ Getting one pseudorandom scalar bi ∈ Zq requires an n-dim mod-q inner product

13 / 24

slide-52
SLIDE 52

SIS/LWE are (Sort Of) Efficient

  • · · · ai · · ·

   . . . s . . .     + ei = bi ∈ Zq ◮ Getting one pseudorandom scalar bi ∈ Zq requires an n-dim mod-q inner product ◮ Can amortize each ai over many secrets sj, but still ˜ O(n) work per scalar output.

13 / 24

slide-53
SLIDE 53

SIS/LWE are (Sort Of) Efficient

  • · · · ai · · ·

   . . . s . . .     + ei = bi ∈ Zq ◮ Getting one pseudorandom scalar bi ∈ Zq requires an n-dim mod-q inner product ◮ Can amortize each ai over many secrets sj, but still ˜ O(n) work per scalar output. ◮ Cryptosystems have rather large keys: pk =     . . . A . . .    

  • n

,     . . . b . . .            Ω(n)

13 / 24

slide-54
SLIDE 54

SIS/LWE are (Sort Of) Efficient

  • · · · ai · · ·

   . . . s . . .     + ei = bi ∈ Zq ◮ Getting one pseudorandom scalar bi ∈ Zq requires an n-dim mod-q inner product ◮ Can amortize each ai over many secrets sj, but still ˜ O(n) work per scalar output. ◮ Cryptosystems have rather large keys: pk =     . . . A . . .    

  • n

,     . . . b . . .            Ω(n) ◮ Inherently ≥ n2 time to encrypt & decrypt an n-bit message.

13 / 24

slide-55
SLIDE 55

Wishful Thinking. . .

    . . . ai . . .    ⋆     . . . s . . .    +     . . . ei . . .     =     . . . bi . . .     ∈ Zn

q

◮ Get n pseudorandom scalars from just one (cheap) product operation? ◮ Replace Zn×n

q

  • chunks by Zn

q .

14 / 24

slide-56
SLIDE 56

Wishful Thinking. . .

    . . . ai . . .    ⋆     . . . s . . .    +     . . . ei . . .     =     . . . bi . . .     ∈ Zn

q

◮ Get n pseudorandom scalars from just one (cheap) product operation? ◮ Replace Zn×n

q

  • chunks by Zn

q .

Question

◮ How to define the product ‘⋆’ so that (ai, bi) is pseudorandom?

14 / 24

slide-57
SLIDE 57

Wishful Thinking. . .

    . . . ai . . .    ⋆     . . . s . . .    +     . . . ei . . .     =     . . . bi . . .     ∈ Zn

q

◮ Get n pseudorandom scalars from just one (cheap) product operation? ◮ Replace Zn×n

q

  • chunks by Zn

q .

Question

◮ How to define the product ‘⋆’ so that (ai, bi) is pseudorandom? ◮ Careful! With small error, coordinate-wise multiplication is insecure!

14 / 24

slide-58
SLIDE 58

Wishful Thinking. . .

    . . . ai . . .    ⋆     . . . s . . .    +     . . . ei . . .     =     . . . bi . . .     ∈ Zn

q

◮ Get n pseudorandom scalars from just one (cheap) product operation? ◮ Replace Zn×n

q

  • chunks by Zn

q .

Question

◮ How to define the product ‘⋆’ so that (ai, bi) is pseudorandom? ◮ Careful! With small error, coordinate-wise multiplication is insecure!

Answer

◮ ‘⋆’ = multiplication in a polynomial ring: e.g., Zq[X]/(Xn + 1). Fast and practical with FFT: n log n operations mod q.

14 / 24

slide-59
SLIDE 59

Wishful Thinking. . .

    . . . ai . . .    ⋆     . . . s . . .    +     . . . ei . . .     =     . . . bi . . .     ∈ Zn

q

◮ Get n pseudorandom scalars from just one (cheap) product operation? ◮ Replace Zn×n

q

  • chunks by Zn

q .

Question

◮ How to define the product ‘⋆’ so that (ai, bi) is pseudorandom? ◮ Careful! With small error, coordinate-wise multiplication is insecure!

Answer

◮ ‘⋆’ = multiplication in a polynomial ring: e.g., Zq[X]/(Xn + 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

slide-60
SLIDE 60

LWE Over Rings, Over Simplified

◮ Let R = Z[X]/(Xn + 1) for n a power of two, and Rq = R/qR

15 / 24

slide-61
SLIDE 61

LWE Over Rings, Over Simplified

◮ Let R = Z[X]/(Xn + 1) for n a power of two, and Rq = 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

slide-62
SLIDE 62

LWE Over Rings, Over Simplified

◮ Let R = Z[X]/(Xn + 1) for n a power of two, and Rq = 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) ∈ Rq, given: a1 ← Rq , b1 = s · a1 + e1 ∈ Rq a2 ← Rq , b2 = s · a2 + e2 ∈ Rq a3 ← Rq , b3 = s · a3 + e3 ∈ Rq . . . (ei ∈ R are ‘small’)

15 / 24

slide-63
SLIDE 63

LWE Over Rings, Over Simplified

◮ Let R = Z[X]/(Xn + 1) for n a power of two, and Rq = 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) ∈ Rq, given: a1 ← Rq , b1 = s · a1 + e1 ∈ Rq a2 ← Rq , b2 = s · a2 + e2 ∈ Rq a3 ← Rq , b3 = s · a3 + e3 ∈ Rq . . . (ei ∈ R are ‘small’) ◮ Decision: distinguish (ai , bi) from uniform (ai , bi) ∈ Rq × Rq

(with noticeable advantage)

15 / 24

slide-64
SLIDE 64

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices in R

(quantum, any R = OK)

search R-LWE ≤

(classical, any cyclotomic R)

decision R-LWE

16 / 24

slide-65
SLIDE 65

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices in R

(quantum, any R = OK)

search R-LWE ≤

(classical, any cyclotomic R)

decision R-LWE

1 If you can find s given (ai , bi), then you can find approximately

shortest vectors in any ideal lattice in R (using a quantum algorithm).

16 / 24

slide-66
SLIDE 66

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices in R

(quantum, any R = OK)

search R-LWE ≤

(classical, any cyclotomic R)

decision R-LWE

1 If you can find s given (ai , bi), then you can find approximately

shortest vectors in any ideal lattice in R (using a quantum algorithm).

2 If you can distinguish (ai , bi) from (ai , bi), then you can find s.

16 / 24

slide-67
SLIDE 67

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices in R

(quantum, any R = OK)

search R-LWE ≤

(classical, any cyclotomic R)

decision R-LWE

1 If you can find s given (ai , bi), then you can find approximately

shortest vectors in any ideal lattice in R (using a quantum algorithm).

2 If you can distinguish (ai , bi) from (ai , bi), then you can find s.

◮ Then: decision R-LWE ≤ lots of crypto

16 / 24

slide-68
SLIDE 68

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices in R

(quantum, any R = OK)

search R-LWE ≤

(classical, any cyclotomic R)

decision R-LWE

1 If you can find s given (ai , bi), then you can find approximately

shortest vectors in any ideal lattice in R (using a quantum algorithm).

2 If you can distinguish (ai , bi) from (ai , bi), then you can find s.

◮ Then: decision R-LWE ≤ lots of crypto

⋆ If you can break the crypto, then you can distinguish (ai , bi) from

(ai , bi). . .

16 / 24

slide-69
SLIDE 69

Ideal Lattices

◮ Say R = Z[X]/(Xn + 1) for power-of-two n.

(Or R = OK.)

◮ An ideal I ⊆ R is closed under + and −, and under · with R.

17 / 24

slide-70
SLIDE 70

Ideal Lattices

◮ Say R = Z[X]/(Xn + 1) for power-of-two n.

(Or R = OK.)

◮ An ideal I ⊆ R is closed under + and −, and under · with R. To get ideal lattices, embed R and its ideals into Rn. How?

17 / 24

slide-71
SLIDE 71

Ideal Lattices

◮ Say R = Z[X]/(Xn + 1) for power-of-two n.

(Or R = OK.)

◮ An ideal I ⊆ R is closed under + and −, and under · with R. To get ideal lattices, embed R and its ideals into Rn. How?

1 Obvious answer: ‘coefficient embedding’

a0 + a1X + · · · + an−1Xn−1 ∈ R → (a0, . . . , an−1) ∈ Zn

17 / 24

slide-72
SLIDE 72

Ideal Lattices

◮ Say R = Z[X]/(Xn + 1) for power-of-two n.

(Or R = OK.)

◮ An ideal I ⊆ R is closed under + and −, and under · with R. To get ideal lattices, embed R and its ideals into Rn. How?

1 Obvious answer: ‘coefficient embedding’

a0 + a1X + · · · + an−1Xn−1 ∈ R → (a0, . . . , an−1) ∈ Zn + is coordinate-wise, but analyzing · is cumbersome.

17 / 24

slide-73
SLIDE 73

Ideal Lattices

◮ Say R = Z[X]/(Xn + 1) for power-of-two n.

(Or R = OK.)

◮ An ideal I ⊆ R is closed under + and −, and under · with R. To get ideal lattices, embed R and its ideals into Cn. How?

1 Obvious answer: ‘coefficient embedding’

a0 + a1X + · · · + an−1Xn−1 ∈ R → (a0, . . . , an−1) ∈ Zn + is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so roots

  • f Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

a(X) ∈ R → (a(ω1) , a(ω3) , . . . , a(ω2n−1)) ∈ Cn

17 / 24

slide-74
SLIDE 74

Ideal Lattices

◮ Say R = Z[X]/(Xn + 1) for power-of-two n.

(Or R = OK.)

◮ An ideal I ⊆ R is closed under + and −, and under · with R. To get ideal lattices, embed R and its ideals into Cn. How?

1 Obvious answer: ‘coefficient embedding’

a0 + a1X + · · · + an−1Xn−1 ∈ R → (a0, . . . , an−1) ∈ Zn + is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so roots

  • f Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

a(X) ∈ R → (a(ω1) , a(ω3) , . . . , a(ω2n−1)) ∈ Cn Both + and · are coordinate-wise.

17 / 24

slide-75
SLIDE 75

Ideal Lattices

◮ Say R = Z[X]/(Xn + 1) for power-of-two n.

(Or R = OK.)

◮ An ideal I ⊆ R is closed under + and −, and under · with R. To get ideal lattices, embed R and its ideals into Rn. How?

1 Obvious answer: ‘coefficient embedding’

a0 + a1X + · · · + an−1Xn−1 ∈ R → (a0, . . . , an−1) ∈ Zn + is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so roots

  • f Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

a(X) ∈ R → (a(ω1) , a(ω3) , . . . , a(ω2n−1)) ∈ Cn Both + and · are coordinate-wise. Error distribution is Gaussian in canonical embedding.

17 / 24

slide-76
SLIDE 76

Ideal Lattices

◮ Say R = Z[X]/(X2 + 1). Embeddings map X → ±i.

σ(1) = (1, 1) σ(X) = (i, −i)

slide-77
SLIDE 77

Ideal Lattices

◮ Say R = Z[X]/(X2 + 1). Embeddings map X → ±i. ◮ I = X − 2, −3X + 1 is an ideal in R.

σ(1) = (1, 1) σ(X) = (i, −i) σ(X − 2) σ(−3X + 1)

18 / 24

slide-78
SLIDE 78

Ideal Lattices

◮ Say R = Z[X]/(X2 + 1). Embeddings map X → ±i. ◮ I = X − 2, −3X + 1 is an ideal in R.

σ(1) = (1, 1) σ(X) = (i, −i) σ(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

slide-79
SLIDE 79

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

slide-80
SLIDE 80

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 (ai, bi) don’t readily translate to ideals in R.

19 / 24

slide-81
SLIDE 81

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 (ai, bi) don’t readily translate to ideals in R.

2 How hard/easy is poly(n)-R-SVP? (In cyclotomics etc.)

19 / 24

slide-82
SLIDE 82

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 (ai, bi) 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

slide-83
SLIDE 83

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 (ai, bi) 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 2O(√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

slide-84
SLIDE 84

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 (ai, bi) 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 2O(√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

slide-85
SLIDE 85

Implementations

20 / 24

slide-86
SLIDE 86

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

slide-87
SLIDE 87

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

slide-88
SLIDE 88

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

slide-89
SLIDE 89

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

slide-90
SLIDE 90

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

slide-91
SLIDE 91

Digital Signatures

◮ Most implementations follow design from [Lyubashevsky’09/’12,. . . ].

22 / 24

slide-92
SLIDE 92

Digital Signatures

◮ Most implementations follow design from [Lyubashevsky’09/’12,. . . ]. ◮ BLISS [DDLL’13]: optimized implementation in this framework.

22 / 24

slide-93
SLIDE 93

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

slide-94
SLIDE 94

Other Implementations

◮ HElib [HaleviShoup]: an ‘assembly language’ for fully homomorphic encryption (FHE).

23 / 24

slide-95
SLIDE 95

Other Implementations

◮ HElib [HaleviShoup]: an ‘assembly language’ for fully homomorphic encryption (FHE). Implements many advanced FHE features, holds most speed records

23 / 24

slide-96
SLIDE 96

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

slide-97
SLIDE 97

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

slide-98
SLIDE 98

Conclusions

◮ Lattices are a very attractive foundation for ‘post-quantum’ crypto, both ‘basic’ and ‘advanced.’

24 / 24

slide-99
SLIDE 99

Conclusions

◮ Lattices are a very attractive foundation for ‘post-quantum’ crypto, both ‘basic’ and ‘advanced.’ ◮ Cryptanalysis/security estimates for concrete parameters is subtle and

  • ngoing, but maturing.

24 / 24

slide-100
SLIDE 100

Conclusions

◮ Lattices are a very attractive foundation for ‘post-quantum’ crypto, both ‘basic’ and ‘advanced.’ ◮ Cryptanalysis/security estimates for concrete parameters is subtle and

  • ngoing, but maturing.

◮ A big success story for rigorous theory and practical engineering alike!

24 / 24

slide-101
SLIDE 101

Conclusions

◮ Lattices are a very attractive foundation for ‘post-quantum’ crypto, both ‘basic’ and ‘advanced.’ ◮ Cryptanalysis/security estimates for concrete parameters is subtle and

  • ngoing, but maturing.

◮ A big success story for rigorous theory and practical engineering alike!

Thanks!

24 / 24