Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N...

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

Transcript of Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N...

Page 1: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Lattice-Based Cryptography

Chris PeikertUniversity of Michigan

QCrypt 2016

1 / 24

Page 2: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

Page 3: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Foundations

3 / 24

Page 4: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

(Images courtesy xkcd.org)

Why?

I Efficient: linear, embarrassingly parallel operations

I Resists quantum attacks (so far)

I Security from mild worst-case assumptions

I Solutions to ‘holy grail’ problems in crypto: FHE and related

4 / 24

Page 5: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

(Images courtesy xkcd.org)

Why?

I Efficient: linear, embarrassingly parallel operations

I Resists quantum attacks (so far)

I Security from mild worst-case assumptions

I Solutions to ‘holy grail’ problems in crypto: FHE and related

4 / 24

Page 6: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

(Images courtesy xkcd.org)

Why?

I Efficient: linear, embarrassingly parallel operations

I Resists quantum attacks (so far)

I Security from mild worst-case assumptions

I Solutions to ‘holy grail’ problems in crypto: FHE and related

4 / 24

Page 7: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

(Images courtesy xkcd.org)

Why?

I Efficient: linear, embarrassingly parallel operations

I Resists quantum attacks (so far)

I Security from mild worst-case assumptions

I Solutions to ‘holy grail’ problems in crypto: FHE and related

4 / 24

Page 8: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

(Images courtesy xkcd.org)

Why?

I Efficient: linear, embarrassingly parallel operations

I Resists quantum attacks (so far)

I Security from mild worst-case assumptions

I Solutions to ‘holy grail’ problems in crypto: FHE and related

4 / 24

Page 9: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

(Images courtesy xkcd.org)

Why?

I Efficient: linear, embarrassingly parallel operations

I Resists quantum attacks (so far)

I Security from mild worst-case assumptions

I Solutions to ‘holy grail’ problems in crypto: FHE and related

4 / 24

Page 10: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

What’s a Lattice?

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

I Basis B = b1, . . . ,bm :

L =

m∑i=1

(Z · bi)

(Other representations too . . . )

O

Hard Lattice ProblemsI Find/detect ‘short’ nonzero lattice vectors: (Gap)SVPγ , SIVPγ

I For γ = poly(m), solving appears to require 2Ω(m) time (and space).

5 / 24

Page 11: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

What’s a Lattice?

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

I Basis B = b1, . . . ,bm :

L =

m∑i=1

(Z · bi)

(Other representations too . . . )

O

b1

b2

Hard Lattice ProblemsI Find/detect ‘short’ nonzero lattice vectors: (Gap)SVPγ , SIVPγ

I For γ = poly(m), solving appears to require 2Ω(m) time (and space).

5 / 24

Page 12: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

What’s a Lattice?

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

I Basis B = b1, . . . ,bm :

L =

m∑i=1

(Z · bi)

(Other representations too . . . )

O

b1

b2

Hard Lattice ProblemsI Find/detect ‘short’ nonzero lattice vectors: (Gap)SVPγ , SIVPγ

I For γ = poly(m), solving appears to require 2Ω(m) time (and space).

5 / 24

Page 13: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

What’s a Lattice?

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

I Basis B = b1, . . . ,bm :

L =

m∑i=1

(Z · bi)

(Other representations too . . . ) O

b1

b2

Hard Lattice ProblemsI Find/detect ‘short’ nonzero lattice vectors: (Gap)SVPγ , SIVPγ

I For γ = poly(m), solving appears to require 2Ω(m) time (and space).

5 / 24

Page 14: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

What’s a Lattice?

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

I Basis B = b1, . . . ,bm :

L =

m∑i=1

(Z · bi)

(Other representations too . . . ) O

b1

b2

Hard Lattice ProblemsI Find/detect ‘short’ nonzero lattice vectors: (Gap)SVPγ , SIVPγ

I For γ = poly(m), solving appears to require 2Ω(m) time (and space).

5 / 24

Page 15: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I Znq = n-dimensional integer vectors modulo q

I Goal: find nontrivial z ∈ 0,±1m such that:

Collision-Resistant Hash Function

I Set m > n log2 q. Define ‘shrinking’ fA : 0, 1m → Znq

fA(x) = Ax

I Collision x,x′ ∈ 0, 1m where Ax = Ax′ . . .

. . . yields solution z = x− x′ ∈ 0,±1m.

6 / 24

Page 16: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I Znq = n-dimensional integer vectors modulo q

I Goal: find nontrivial z ∈ 0,±1m such that:

z1 ·

|a1

|

+ z2 ·

|a2

|

+

· · ·

+ zm ·

|am|

=

|0|

∈ Znq

Collision-Resistant Hash Function

I Set m > n log2 q. Define ‘shrinking’ fA : 0, 1m → Znq

fA(x) = Ax

I Collision x,x′ ∈ 0, 1m where Ax = Ax′ . . .

. . . yields solution z = x− x′ ∈ 0,±1m.

6 / 24

Page 17: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I Znq = n-dimensional integer vectors modulo q

I Goal: find nontrivial z1, . . . , zm ∈ 0,±1 such that:

z1 ·

|a1

|

+ z2 ·

|a2

|

+ · · · + zm ·

|am|

=

|0|

∈ Znq

Collision-Resistant Hash Function

I Set m > n log2 q. Define ‘shrinking’ fA : 0, 1m → Znq

fA(x) = Ax

I Collision x,x′ ∈ 0, 1m where Ax = Ax′ . . .

. . . yields solution z = x− x′ ∈ 0,±1m.

6 / 24

Page 18: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I Znq = n-dimensional integer vectors modulo q

I Goal: find nontrivial z ∈ 0,±1m such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

Collision-Resistant Hash Function

I Set m > n log2 q. Define ‘shrinking’ fA : 0, 1m → Znq

fA(x) = Ax

I Collision x,x′ ∈ 0, 1m where Ax = Ax′ . . .

. . . yields solution z = x− x′ ∈ 0,±1m.

6 / 24

Page 19: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I Znq = n-dimensional integer vectors modulo q

I Goal: find nontrivial z ∈ 0,±1m such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

Collision-Resistant Hash FunctionI Set m > n log2 q. Define ‘shrinking’ fA : 0, 1m → Znq

fA(x) = Ax

I Collision x,x′ ∈ 0, 1m where Ax = Ax′ . . .

. . . yields solution z = x− x′ ∈ 0,±1m.

6 / 24

Page 20: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I Znq = n-dimensional integer vectors modulo q

I Goal: find nontrivial z ∈ 0,±1m such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

Collision-Resistant Hash FunctionI Set m > n log2 q. Define ‘shrinking’ fA : 0, 1m → Znq

fA(x) = Ax

I Collision x,x′ ∈ 0, 1m where Ax = Ax′ . . .

. . . yields solution z = x− x′ ∈ 0,±1m.

6 / 24

Page 21: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I Znq = n-dimensional integer vectors modulo q

I Goal: find nontrivial z ∈ 0,±1m such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

Collision-Resistant Hash FunctionI Set m > n log2 q. Define ‘shrinking’ fA : 0, 1m → Znq

fA(x) = Ax

I Collision x,x′ ∈ 0, 1m where Ax = Ax′ . . .

. . . yields solution z = x− x′ ∈ 0,±1m.

6 / 24

Page 22: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I A ∈ Zn×mq defines a ‘q-ary’ lattice:

L⊥(A) = z ∈ Zm : Az = 0

I ‘Short’ solutions z lie inO

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

Page 23: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I A ∈ Zn×mq defines a ‘q-ary’ lattice:

L⊥(A) = z ∈ Zm : Az = 0

I ‘Short’ solutions z lie in

O

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

Page 24: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I A ∈ Zn×mq defines a ‘q-ary’ lattice:

L⊥(A) = z ∈ Zm : Az = 0

I ‘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

Page 25: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I A ∈ Zn×mq defines a ‘q-ary’ lattice:

L⊥(A) = z ∈ Zm : Az = 0

I ‘Short’ solutions z lie inO

(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

Page 26: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

I A ∈ Zn×mq defines a ‘q-ary’ lattice:

L⊥(A) = z ∈ Zm : Az = 0

I ‘Short’ solutions z lie inO

(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

Page 27: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

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

I Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Znq .

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

I Verify(A, µ, z): check that Az = H(µ) and z is sufficiently short.

I Security: forging a signature for a new message µ∗ requires findingshort z∗ s.t. Az∗ = H(µ∗). This is SIS: hard!

8 / 24

Page 28: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

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

I Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Znq .

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

I Verify(A, µ, z): check that Az = H(µ) and z is sufficiently short.

I Security: forging a signature for a new message µ∗ requires findingshort z∗ s.t. Az∗ = H(µ∗). This is SIS: hard!

8 / 24

Page 29: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

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

I Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Znq .

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

I Verify(A, µ, z): check that Az = H(µ) and z is sufficiently short.

I Security: forging a signature for a new message µ∗ requires findingshort z∗ s.t. Az∗ = H(µ∗). This is SIS: hard!

8 / 24

Page 30: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

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

I Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Znq .

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

I Verify(A, µ, z): check that Az = H(µ) and z is sufficiently short.

I Security: forging a signature for a new message µ∗ requires findingshort z∗ s.t. Az∗ = H(µ∗). This is SIS: hard!

8 / 24

Page 31: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Application: Digital Signatures [GentryPeikertVaikuntanathan’08]

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

I Sign(T, µ): use T to sample a short z ∈ Zm s.t. Az = H(µ) ∈ Znq .

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

I Verify(A, µ, z): check that Az = H(µ) and z is sufficiently short.

I Security: forging a signature for a new message µ∗ requires findingshort z∗ s.t. Az∗ = H(µ∗). This is SIS: hard!

8 / 24

Page 32: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Another Hard Problem: Learning With Errors [Regev’05]

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

I Search: find secret s ∈ Znq given many ‘noisy inner products’

√n ≤ error q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caselattice problems

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

Page 33: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Another Hard Problem: Learning With Errors [Regev’05]

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

I Search: find secret s ∈ Znq given many ‘noisy inner products’

a1 ← Znq , b1 ≈ 〈s , a1〉 mod q

a2 ← Znq , b2 ≈ 〈s , a2〉 mod q

...

√n ≤ error q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caselattice problems

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

Page 34: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Another Hard Problem: Learning With Errors [Regev’05]

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

I Search: find secret s ∈ Znq given many ‘noisy inner products’

a1 ← Znq , b1 = 〈s , a1〉+ e1 ∈ Zqa2 ← Znq , b2 = 〈s , a2〉+ e2 ∈ Zq

... √n ≤ error q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caselattice problems

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

Page 35: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Another Hard Problem: Learning With Errors [Regev’05]

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

I Search: find secret s ∈ Znq given many ‘noisy inner products’· · · A · · ·

,(· · · bt · · ·

)= stA + et

√n ≤ error q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caselattice problems

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

Page 36: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Another Hard Problem: Learning With Errors [Regev’05]

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

I Search: find secret s ∈ Znq given many ‘noisy inner products’· · · A · · ·

,(· · · bt · · ·

)= stA + et

√n ≤ error q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caselattice problems

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

Page 37: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Another Hard Problem: Learning With Errors [Regev’05]

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

I Search: find secret s ∈ Znq given many ‘noisy inner products’· · · A · · ·

,(· · · bt · · ·

)= stA + et

√n ≤ error q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caselattice problems

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

Page 38: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Another Hard Problem: Learning With Errors [Regev’05]

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

I Search: find secret s ∈ Znq given many ‘noisy inner products’· · · A · · ·

,(· · · bt · · ·

)= stA + et

√n ≤ error q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caselattice problems

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Also fully classical reductions, for worse params [Peikert’09,BLPRS’13]

9 / 24

Page 39: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE is Versatile

What kinds of crypto can we do with LWE?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Actively Secure Encryption (w/o random oracles)

4 Block Ciphers, PRFs

44 Identity-Based Encryption (w/ RO)

44 Hierarchical ID-Based Encryption (w/o RO)

!!! Fully Homomorphic Encryption

!!! Attribute-Based Encryption for arbitrary policies

and much, much more. . .

10 / 24

Page 40: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE is Versatile

What kinds of crypto can we do with LWE?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Actively Secure Encryption (w/o random oracles)

4 Block Ciphers, PRFs

44 Identity-Based Encryption (w/ RO)

44 Hierarchical ID-Based Encryption (w/o RO)

!!! Fully Homomorphic Encryption

!!! Attribute-Based Encryption for arbitrary policies

and much, much more. . .

10 / 24

Page 41: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE is Versatile

What kinds of crypto can we do with LWE?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Actively Secure Encryption (w/o random oracles)

4 Block Ciphers, PRFs

44 Identity-Based Encryption (w/ RO)

44 Hierarchical ID-Based Encryption (w/o RO)

!!! Fully Homomorphic Encryption

!!! Attribute-Based Encryption for arbitrary policies

and much, much more. . .

10 / 24

Page 42: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE is Versatile

What kinds of crypto can we do with LWE?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Actively Secure Encryption (w/o random oracles)

4 Block Ciphers, PRFs

44 Identity-Based Encryption (w/ RO)

44 Hierarchical ID-Based Encryption (w/o RO)

!!! Fully Homomorphic Encryption

!!! Attribute-Based Encryption for arbitrary policies

and much, much more. . .

10 / 24

Page 43: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

r← Zn (error) A← Zn×nq s← Zn (error)

ut ≈ rt ·A ∈ Znq

v ≈ A · s ∈ Znq

(A,u,v, k)

by decision-LWE

11 / 24

Page 44: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

r← Zn (error) A← Zn×nq s← Zn (error)

ut ≈ rt ·A ∈ Znq

v ≈ A · s ∈ Znq

(A,u,v, k)

by decision-LWE

11 / 24

Page 45: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

r← Zn (error) A← Zn×nq s← Zn (error)

ut ≈ rt ·A ∈ Znq

v ≈ A · s ∈ Znq

(A,u,v, k)

by decision-LWE

11 / 24

Page 46: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

r← Zn (error) A← Zn×nq s← Zn (error)

ut ≈ rt ·A ∈ Znq

v ≈ A · s ∈ Znq

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

(A,u,v, k)

by decision-LWE

11 / 24

Page 47: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

r← Zn (error) A← Zn×nq s← Zn (error)

ut ≈ rt ·A ∈ Znq

v ≈ A · s ∈ Znq

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

(A,u,v, k)

by decision-LWE

11 / 24

Page 48: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

r← Zn (error) A← Zn×nq s← Zn (error)

ut ≈ rt ·A ∈ Znq

v ≈ A · s ∈ Znq

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

(A,u,v, k)by decision-LWE

11 / 24

Page 49: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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

r← Zn (error) A← Zn×nq s← Zn (error)

ut ≈ rt ·A ∈ Znq

v ≈ A · s ∈ Znq

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

(A,u,v, k)by decision-LWE

11 / 24

Page 50: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Efficiency from Rings

12 / 24

Page 51: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

SIS/LWE are (Sort Of) Efficient

(· · · ai · · ·

)...s...

+ ei = bi ∈ Zq

I Getting one pseudorandomscalar bi ∈ Zq requires an n-dimmod-q inner product

I Can amortize each ai over manysecrets sj , but still O(n) workper scalar output.

I Cryptosystems have rather large keys:

pk =

...A...

︸ ︷︷ ︸

n

,

...b...

Ω(n)

I Inherently ≥ n2 time to encrypt & decrypt an n-bit message.

13 / 24

Page 52: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

SIS/LWE are (Sort Of) Efficient

(· · · ai · · ·

)...s...

+ ei = bi ∈ Zq

I Getting one pseudorandomscalar bi ∈ Zq requires an n-dimmod-q inner product

I Can amortize each ai over manysecrets sj , but still O(n) workper scalar output.

I Cryptosystems have rather large keys:

pk =

...A...

︸ ︷︷ ︸

n

,

...b...

Ω(n)

I Inherently ≥ n2 time to encrypt & decrypt an n-bit message.

13 / 24

Page 53: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

SIS/LWE are (Sort Of) Efficient

(· · · ai · · ·

)...s...

+ ei = bi ∈ Zq

I Getting one pseudorandomscalar bi ∈ Zq requires an n-dimmod-q inner product

I Can amortize each ai over manysecrets sj , but still O(n) workper scalar output.

I Cryptosystems have rather large keys:

pk =

...A...

︸ ︷︷ ︸

n

,

...b...

Ω(n)

I Inherently ≥ n2 time to encrypt & decrypt an n-bit message.

13 / 24

Page 54: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

SIS/LWE are (Sort Of) Efficient

(· · · ai · · ·

)...s...

+ ei = bi ∈ Zq

I Getting one pseudorandomscalar bi ∈ Zq requires an n-dimmod-q inner product

I Can amortize each ai over manysecrets sj , but still O(n) workper scalar output.

I Cryptosystems have rather large keys:

pk =

...A...

︸ ︷︷ ︸

n

,

...b...

Ω(n)

I Inherently ≥ n2 time to encrypt & decrypt an n-bit message.

13 / 24

Page 55: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Wishful Thinking. . .

...ai...

?

...s...

+

...ei...

=

...bi...

∈ Znq

I Get n pseudorandom scalarsfrom just one (cheap)product operation?

I Replace Zn×nq -chunks by Znq .

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

I Careful! With small error, coordinate-wise multiplication is insecure!

AnswerI ‘?’ = multiplication in a polynomial ring: e.g., Zq[X]/(Xn + 1).

Fast and practical with FFT: n log n operations mod q.

I Same ring structures used in NTRU cryptosystem [HPS’98],

compact one-way / CR hash functions [Mic’02,PR’06,LM’06,. . . ]

14 / 24

Page 56: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Wishful Thinking. . .

...ai...

?

...s...

+

...ei...

=

...bi...

∈ Znq

I Get n pseudorandom scalarsfrom just one (cheap)product operation?

I Replace Zn×nq -chunks by Znq .

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

I Careful! With small error, coordinate-wise multiplication is insecure!

AnswerI ‘?’ = multiplication in a polynomial ring: e.g., Zq[X]/(Xn + 1).

Fast and practical with FFT: n log n operations mod q.

I Same ring structures used in NTRU cryptosystem [HPS’98],

compact one-way / CR hash functions [Mic’02,PR’06,LM’06,. . . ]

14 / 24

Page 57: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Wishful Thinking. . .

...ai...

?

...s...

+

...ei...

=

...bi...

∈ Znq

I Get n pseudorandom scalarsfrom just one (cheap)product operation?

I Replace Zn×nq -chunks by Znq .

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

I Careful! With small error, coordinate-wise multiplication is insecure!

AnswerI ‘?’ = multiplication in a polynomial ring: e.g., Zq[X]/(Xn + 1).

Fast and practical with FFT: n log n operations mod q.

I Same ring structures used in NTRU cryptosystem [HPS’98],

compact one-way / CR hash functions [Mic’02,PR’06,LM’06,. . . ]

14 / 24

Page 58: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Wishful Thinking. . .

...ai...

?

...s...

+

...ei...

=

...bi...

∈ Znq

I Get n pseudorandom scalarsfrom just one (cheap)product operation?

I Replace Zn×nq -chunks by Znq .

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

I Careful! With small error, coordinate-wise multiplication is insecure!

AnswerI ‘?’ = multiplication in a polynomial ring: e.g., Zq[X]/(Xn + 1).

Fast and practical with FFT: n log n operations mod q.

I Same ring structures used in NTRU cryptosystem [HPS’98],

compact one-way / CR hash functions [Mic’02,PR’06,LM’06,. . . ]

14 / 24

Page 59: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Wishful Thinking. . .

...ai...

?

...s...

+

...ei...

=

...bi...

∈ Znq

I Get n pseudorandom scalarsfrom just one (cheap)product operation?

I Replace Zn×nq -chunks by Znq .

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

I Careful! With small error, coordinate-wise multiplication is insecure!

AnswerI ‘?’ = multiplication in a polynomial ring: e.g., Zq[X]/(Xn + 1).

Fast and practical with FFT: n log n operations mod q.

I Same ring structures used in NTRU cryptosystem [HPS’98],

compact one-way / CR hash functions [Mic’02,PR’06,LM’06,. . . ]

14 / 24

Page 60: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE Over Rings, Over Simplified

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

F Elements of Rq are deg < n polynomials with mod-q coefficients

F Operations in Rq are very efficient using FFT-like algorithms

I Search: find secret ring element s(X) ∈ Rq, given:

a1 ← Rq , b1 = s · a1 + e1 ∈ Rqa2 ← Rq , b2 = s · a2 + e2 ∈ Rqa3 ← Rq , b3 = s · a3 + e3 ∈ Rq

...

(ei ∈ R are ‘small’)

I Decision: distinguish (ai , bi) from uniform (ai , bi) ∈ Rq ×Rq(with noticeable advantage)

15 / 24

Page 61: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE Over Rings, Over Simplified

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

F Elements of Rq are deg < n polynomials with mod-q coefficients

F Operations in Rq are very efficient using FFT-like algorithms

I Search: find secret ring element s(X) ∈ Rq, given:

a1 ← Rq , b1 = s · a1 + e1 ∈ Rqa2 ← Rq , b2 = s · a2 + e2 ∈ Rqa3 ← Rq , b3 = s · a3 + e3 ∈ Rq

...

(ei ∈ R are ‘small’)

I Decision: distinguish (ai , bi) from uniform (ai , bi) ∈ Rq ×Rq(with noticeable advantage)

15 / 24

Page 62: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE Over Rings, Over Simplified

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

F Elements of Rq are deg < n polynomials with mod-q coefficients

F Operations in Rq are very efficient using FFT-like algorithms

I Search: find secret ring element s(X) ∈ Rq, given:

a1 ← Rq , b1 = s · a1 + e1 ∈ Rqa2 ← Rq , b2 = s · a2 + e2 ∈ Rqa3 ← Rq , b3 = s · a3 + e3 ∈ Rq

...

(ei ∈ R are ‘small’)

I Decision: distinguish (ai , bi) from uniform (ai , bi) ∈ Rq ×Rq(with noticeable advantage)

15 / 24

Page 63: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

LWE Over Rings, Over Simplified

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

F Elements of Rq are deg < n polynomials with mod-q coefficients

F Operations in Rq are very efficient using FFT-like algorithms

I Search: find secret ring element s(X) ∈ Rq, given:

a1 ← Rq , b1 = s · a1 + e1 ∈ Rqa2 ← Rq , b2 = s · a2 + e2 ∈ Rqa3 ← Rq , b3 = s · a3 + e3 ∈ Rq

...

(ei ∈ R are ‘small’)

I Decision: distinguish (ai , bi) from uniform (ai , bi) ∈ Rq ×Rq(with noticeable advantage)

15 / 24

Page 64: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Hardness of Ring-LWE [LyubashevskyPeikertRegev’10]

I Two main theorems (reductions):

worst-case approx-SVPon 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 approximatelyshortest 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.

I Then:

decision R-LWE ≤ lots of crypto

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

16 / 24

Page 65: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Hardness of Ring-LWE [LyubashevskyPeikertRegev’10]

I Two main theorems (reductions):

worst-case approx-SVPon 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 approximatelyshortest 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.

I Then:

decision R-LWE ≤ lots of crypto

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

16 / 24

Page 66: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Hardness of Ring-LWE [LyubashevskyPeikertRegev’10]

I Two main theorems (reductions):

worst-case approx-SVPon 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 approximatelyshortest 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.

I Then:

decision R-LWE ≤ lots of crypto

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

16 / 24

Page 67: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Hardness of Ring-LWE [LyubashevskyPeikertRegev’10]

I Two main theorems (reductions):

worst-case approx-SVPon 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 approximatelyshortest 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.

I Then:

decision R-LWE ≤ lots of crypto

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

16 / 24

Page 68: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Hardness of Ring-LWE [LyubashevskyPeikertRegev’10]

I Two main theorems (reductions):

worst-case approx-SVPon 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 approximatelyshortest 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.

I Then:

decision R-LWE ≤ lots of crypto

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

16 / 24

Page 69: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

I 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 7→ (a0, . . . , an−1) ∈ Zn

+ is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so rootsof Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

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

Both + and · are coordinate-wise.

Error distribution is Gaussian in canonical embedding.

17 / 24

Page 70: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

I 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 7→ (a0, . . . , an−1) ∈ Zn

+ is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so rootsof Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

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

Both + and · are coordinate-wise.

Error distribution is Gaussian in canonical embedding.

17 / 24

Page 71: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

I 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 7→ (a0, . . . , an−1) ∈ Zn

+ is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so rootsof Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

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

Both + and · are coordinate-wise.

Error distribution is Gaussian in canonical embedding.

17 / 24

Page 72: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

I 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 7→ (a0, . . . , an−1) ∈ Zn

+ is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so rootsof Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

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

Both + and · are coordinate-wise.

Error distribution is Gaussian in canonical embedding.

17 / 24

Page 73: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

I 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 7→ (a0, . . . , an−1) ∈ Zn

+ is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so rootsof Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

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

Both + and · are coordinate-wise.

Error distribution is Gaussian in canonical embedding.

17 / 24

Page 74: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

I 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 7→ (a0, . . . , an−1) ∈ Zn

+ is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so rootsof Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

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

Both + and · are coordinate-wise.

Error distribution is Gaussian in canonical embedding.

17 / 24

Page 75: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

I 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 7→ (a0, . . . , an−1) ∈ Zn

+ is coordinate-wise, but analyzing · is cumbersome.

2 Minkowski: ‘canonical embedding.’ Let ω = exp(πi/n) ∈ C, so rootsof Xn + 1 are ω1, ω3, . . . , ω2n−1. Embed:

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

Both + and · are coordinate-wise.

Error distribution is Gaussian in canonical embedding.17 / 24

Page 76: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

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

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

I Given (an arbitrary basis of) an arbitrary ideal I ⊆ R,find a nearly shortest nonzero a ∈ I.

18 / 24

Page 77: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

I Say R = Z[X]/(X2 + 1). Embeddings map X 7→ ±i.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

I Given (an arbitrary basis of) an arbitrary ideal I ⊆ R,find a nearly shortest nonzero a ∈ I.

18 / 24

Page 78: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Ideal Lattices

I Say R = Z[X]/(X2 + 1). Embeddings map X 7→ ±i.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

I Given (an arbitrary basis of) an arbitrary ideal I ⊆ R,find a nearly shortest nonzero a ∈ I.

18 / 24

Page 79: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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.)

F Despite much ring structure (e.g., subfields, Galois), no significantimprovement versus general n-dim lattices is known.

F 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]

F There is a 2Ω(√n/ log n) barrier for the main technique. Can it be

circumvented?

19 / 24

Page 80: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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.)

F Despite much ring structure (e.g., subfields, Galois), no significantimprovement versus general n-dim lattices is known.

F 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]

F There is a 2Ω(√n/ log n) barrier for the main technique. Can it be

circumvented?

19 / 24

Page 81: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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.)

F Despite much ring structure (e.g., subfields, Galois), no significantimprovement versus general n-dim lattices is known.

F 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]

F There is a 2Ω(√n/ log n) barrier for the main technique. Can it be

circumvented?

19 / 24

Page 82: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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.)

F Despite much ring structure (e.g., subfields, Galois), no significantimprovement versus general n-dim lattices is known.

F 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]

F There is a 2Ω(√n/ log n) barrier for the main technique. Can it be

circumvented?

19 / 24

Page 83: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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.)

F Despite much ring structure (e.g., subfields, Galois), no significantimprovement versus general n-dim lattices is known.

F 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]

F There is a 2Ω(√n/ log n) barrier for the main technique. Can it be

circumvented?

19 / 24

Page 84: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

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.)

F Despite much ring structure (e.g., subfields, Galois), no significantimprovement versus general n-dim lattices is known.

F 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]

F There is a 2Ω(√n/ log n) barrier for the main technique. Can it be

circumvented?

19 / 24

Page 85: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Implementations

20 / 24

Page 86: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Key Exchange

I 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 Chromecanary and its own web servers.

I Frodo [BCDMNNRS’16]: removes the ring! Plain-LWE key exchange,with many tricks and optimizations. Conjectured ≥ 128-bit quantumsecurity.

About 10x slower than NewHope, but only ≈2x slower than ECDH.

21 / 24

Page 87: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Key Exchange

I 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 Chromecanary and its own web servers.

I Frodo [BCDMNNRS’16]: removes the ring! Plain-LWE key exchange,with many tricks and optimizations. Conjectured ≥ 128-bit quantumsecurity.

About 10x slower than NewHope, but only ≈2x slower than ECDH.

21 / 24

Page 88: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Key Exchange

I 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 Chromecanary and its own web servers.

I Frodo [BCDMNNRS’16]: removes the ring! Plain-LWE key exchange,with many tricks and optimizations. Conjectured ≥ 128-bit quantumsecurity.

About 10x slower than NewHope, but only ≈2x slower than ECDH.

21 / 24

Page 89: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Key Exchange

I 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 Chromecanary and its own web servers.

I Frodo [BCDMNNRS’16]: removes the ring! Plain-LWE key exchange,with many tricks and optimizations. Conjectured ≥ 128-bit quantumsecurity.

About 10x slower than NewHope, but only ≈2x slower than ECDH.

21 / 24

Page 90: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Key Exchange

I 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 Chromecanary and its own web servers.

I Frodo [BCDMNNRS’16]: removes the ring! Plain-LWE key exchange,with many tricks and optimizations. Conjectured ≥ 128-bit quantumsecurity.

About 10x slower than NewHope, but only ≈2x slower than ECDH.

21 / 24

Page 91: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Digital Signatures

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

I BLISS [DDLL’13]: optimized implementation in this framework.

I Compelling efficiency:

System Sig (Kb) PK (Kb) KSign/sec KVer/sec

RSA-4096 4.0 4.0 0.1 7.5ECDSA-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

Page 92: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Digital Signatures

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

I BLISS [DDLL’13]: optimized implementation in this framework.

I Compelling efficiency:

System Sig (Kb) PK (Kb) KSign/sec KVer/sec

RSA-4096 4.0 4.0 0.1 7.5ECDSA-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

Page 93: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Digital Signatures

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

I BLISS [DDLL’13]: optimized implementation in this framework.

I Compelling efficiency:

System Sig (Kb) PK (Kb) KSign/sec KVer/sec

RSA-4096 4.0 4.0 0.1 7.5ECDSA-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

Page 94: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Other Implementations

I HElib [HaleviShoup]: an ‘assembly language’ for fully homomorphicencryption (FHE).

Implements many advanced FHE features, holds most speed records

I Λλ (L O L) [CrockettPeikert’16]: a general-purpose, high-levelframework aimed at advanced lattice cryptosystems.

Focuses on modularity, safety, and consistency with best theory.

23 / 24

Page 95: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Other Implementations

I HElib [HaleviShoup]: an ‘assembly language’ for fully homomorphicencryption (FHE).

Implements many advanced FHE features, holds most speed records

I Λλ (L O L) [CrockettPeikert’16]: a general-purpose, high-levelframework aimed at advanced lattice cryptosystems.

Focuses on modularity, safety, and consistency with best theory.

23 / 24

Page 96: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Other Implementations

I HElib [HaleviShoup]: an ‘assembly language’ for fully homomorphicencryption (FHE).

Implements many advanced FHE features, holds most speed records

I Λλ (L O L) [CrockettPeikert’16]: a general-purpose, high-levelframework aimed at advanced lattice cryptosystems.

Focuses on modularity, safety, and consistency with best theory.

23 / 24

Page 97: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Other Implementations

I HElib [HaleviShoup]: an ‘assembly language’ for fully homomorphicencryption (FHE).

Implements many advanced FHE features, holds most speed records

I Λλ (L O L) [CrockettPeikert’16]: a general-purpose, high-levelframework aimed at advanced lattice cryptosystems.

Focuses on modularity, safety, and consistency with best theory.

23 / 24

Page 98: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Conclusions

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

I Cryptanalysis/security estimates for concrete parameters is subtle andongoing, but maturing.

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

Thanks!

24 / 24

Page 99: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Conclusions

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

I Cryptanalysis/security estimates for concrete parameters is subtle andongoing, but maturing.

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

Thanks!

24 / 24

Page 100: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Conclusions

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

I Cryptanalysis/security estimates for concrete parameters is subtle andongoing, but maturing.

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

Thanks!

24 / 24

Page 101: Lattice-Based Cryptography Chris Peikertcpeikert/pubs/slides-qcrypt.pdfLattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb) (Images courtesy xkcd.org) Why? I E cient: linear,

Conclusions

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

I Cryptanalysis/security estimates for concrete parameters is subtle andongoing, but maturing.

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

Thanks!

24 / 24