+ All Categories
Home > Documents > Lattice-Based Cryptography Chris Peikert · Lattice-Based Cryptography N = p q y = g x d p me d N...

Lattice-Based Cryptography Chris Peikert · Lattice-Based Cryptography N = p q y = g x d p me d N...

Date post: 03-Jun-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
96
Lattice-Based Cryptography Chris Peikert University of Michigan Oxford Post-Quantum Cryptography Workshop 21 March 2019 1 / 22
Transcript
Page 1: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Lattice-Based Cryptography

Chris PeikertUniversity of Michigan

Oxford Post-Quantum Cryptography Workshop21 March 2019

1 / 22

Page 2: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

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 Appears to resist quantum attacks, contra [Shor’97]

I Security from mild worst-case assumptions

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

2 / 22

Page 3: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

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 Appears to resist quantum attacks, contra [Shor’97]

I Security from mild worst-case assumptions

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

2 / 22

Page 4: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

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 Appears to resist quantum attacks, contra [Shor’97]

I Security from mild worst-case assumptions

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

2 / 22

Page 5: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

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 Appears to resist quantum attacks, contra [Shor’97]

I Security from mild worst-case assumptions

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

2 / 22

Page 6: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

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 Appears to resist quantum attacks, contra [Shor’97]

I Security from mild worst-case assumptions

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

2 / 22

Page 7: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

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 Appears to resist quantum attacks, contra [Shor’97]

I Security from mild worst-case assumptions

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

2 / 22

Page 8: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

This Talk

1 Historical and mathematical background

2 Framework for lattice-based encryption/key exchange

3 Cryptanalysis, parameters, and NIST candidates

3 / 22

Page 9: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Part 1:

Background

4 / 22

Page 10: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Brief History

1978– Rise and fall of ‘knapsack’ cryptosystems

1996-7 Ajtai’s worst-case/average-case reduction, one-way function& (with Dwork) public-key encryption (very inefficient)

1996 NTRU efficient ring-based encryption (heuristic security)

2002 Micciancio’s ring-based one-way functionwith worst-case hardness (no encryption)

2005 Regev’s LWE: encryption with worst-case hardness(efficient-ish)

2010– Ring/Module-LWE: efficient encryption, worst-case hardness

2015– Practical implementations of (Ring/Module-)LWE encryption

5 / 22

Page 11: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Brief History

1978– Rise and fall of ‘knapsack’ cryptosystems

1996-7 Ajtai’s worst-case/average-case reduction, one-way function& (with Dwork) public-key encryption (very inefficient)

1996 NTRU efficient ring-based encryption (heuristic security)

2002 Micciancio’s ring-based one-way functionwith worst-case hardness (no encryption)

2005 Regev’s LWE: encryption with worst-case hardness(efficient-ish)

2010– Ring/Module-LWE: efficient encryption, worst-case hardness

2015– Practical implementations of (Ring/Module-)LWE encryption

5 / 22

Page 12: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Brief History

1978– Rise and fall of ‘knapsack’ cryptosystems

1996-7 Ajtai’s worst-case/average-case reduction, one-way function& (with Dwork) public-key encryption (very inefficient)

1996 NTRU efficient ring-based encryption (heuristic security)

2002 Micciancio’s ring-based one-way functionwith worst-case hardness (no encryption)

2005 Regev’s LWE: encryption with worst-case hardness(efficient-ish)

2010– Ring/Module-LWE: efficient encryption, worst-case hardness

2015– Practical implementations of (Ring/Module-)LWE encryption

5 / 22

Page 13: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Brief History

1978– Rise and fall of ‘knapsack’ cryptosystems

1996-7 Ajtai’s worst-case/average-case reduction, one-way function& (with Dwork) public-key encryption (very inefficient)

1996 NTRU efficient ring-based encryption (heuristic security)

2002 Micciancio’s ring-based one-way functionwith worst-case hardness (no encryption)

2005 Regev’s LWE: encryption with worst-case hardness(efficient-ish)

2010– Ring/Module-LWE: efficient encryption, worst-case hardness

2015– Practical implementations of (Ring/Module-)LWE encryption

5 / 22

Page 14: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Brief History

1978– Rise and fall of ‘knapsack’ cryptosystems

1996-7 Ajtai’s worst-case/average-case reduction, one-way function& (with Dwork) public-key encryption (very inefficient)

1996 NTRU efficient ring-based encryption (heuristic security)

2002 Micciancio’s ring-based one-way functionwith worst-case hardness (no encryption)

2005 Regev’s LWE: encryption with worst-case hardness(efficient-ish)

2010– Ring/Module-LWE: efficient encryption, worst-case hardness

2015– Practical implementations of (Ring/Module-)LWE encryption

5 / 22

Page 15: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Brief History

1978– Rise and fall of ‘knapsack’ cryptosystems

1996-7 Ajtai’s worst-case/average-case reduction, one-way function& (with Dwork) public-key encryption (very inefficient)

1996 NTRU efficient ring-based encryption (heuristic security)

2002 Micciancio’s ring-based one-way functionwith worst-case hardness (no encryption)

2005 Regev’s LWE: encryption with worst-case hardness(efficient-ish)

2010– Ring/Module-LWE: efficient encryption, worst-case hardness

2015– Practical implementations of (Ring/Module-)LWE encryption

5 / 22

Page 16: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Brief History

1978– Rise and fall of ‘knapsack’ cryptosystems

1996-7 Ajtai’s worst-case/average-case reduction, one-way function& (with Dwork) public-key encryption (very inefficient)

1996 NTRU efficient ring-based encryption (heuristic security)

2002 Micciancio’s ring-based one-way functionwith worst-case hardness (no encryption)

2005 Regev’s LWE: encryption with worst-case hardness(efficient-ish)

2010– Ring/Module-LWE: efficient encryption, worst-case hardness

2015– Practical implementations of (Ring/Module-)LWE encryption

5 / 22

Page 17: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

What’s a Lattice?

I A periodic ‘grid’ in (subgroup of) Zm.

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

L =m∑i=1

(Z · bi)

(Other representations as well. . . )

O

Hard Lattice ProblemsI ‘Find/detect short’ nonzero lattice vectors.

I Decode a point ‘somewhat near to’ the lattice.

I Both seem to require 2Ω(m) time (and space).

6 / 22

Page 18: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

What’s a Lattice?

I A periodic ‘grid’ in (subgroup of) Zm.

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

L =

m∑i=1

(Z · bi)

(Other representations as well. . . )

O

b1

b2

Hard Lattice ProblemsI ‘Find/detect short’ nonzero lattice vectors.

I Decode a point ‘somewhat near to’ the lattice.

I Both seem to require 2Ω(m) time (and space).

6 / 22

Page 19: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

What’s a Lattice?

I A periodic ‘grid’ in (subgroup of) Zm.

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

L =

m∑i=1

(Z · bi)

(Other representations as well. . . )

O

b1

b2

Hard Lattice ProblemsI ‘Find/detect short’ nonzero lattice vectors.

I Decode a point ‘somewhat near to’ the lattice.

I Both seem to require 2Ω(m) time (and space).

6 / 22

Page 20: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

What’s a Lattice?

I A periodic ‘grid’ in (subgroup of) Zm.

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

L =

m∑i=1

(Z · bi)

(Other representations as well. . . ) O

b1

b2

Hard Lattice ProblemsI ‘Find/detect short’ nonzero lattice vectors.

I Decode a point ‘somewhat near to’ the lattice.

I Both seem to require 2Ω(m) time (and space).

6 / 22

Page 21: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

What’s a Lattice?

I A periodic ‘grid’ in (subgroup of) Zm.

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

L =

m∑i=1

(Z · bi)

(Other representations as well. . . ) O

b1

b2

Hard Lattice ProblemsI ‘Find/detect short’ nonzero lattice vectors.

I Decode a point ‘somewhat near to’ the lattice.

I Both seem to require 2Ω(m) time (and space).

6 / 22

Page 22: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

What’s a Lattice?

I A periodic ‘grid’ in (subgroup of) Zm.

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

L =

m∑i=1

(Z · bi)

(Other representations as well. . . )

t

O

b1

b2

Hard Lattice ProblemsI ‘Find/detect short’ nonzero lattice vectors.

I Decode a point ‘somewhat near to’ the lattice.

I Both seem to require 2Ω(m) time (and space).

6 / 22

Page 23: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

What’s a Lattice?

I A periodic ‘grid’ in (subgroup of) Zm.

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

L =

m∑i=1

(Z · bi)

(Other representations as well. . . )

t

O

b1

b2

Hard Lattice ProblemsI ‘Find/detect short’ nonzero lattice vectors.

I Decode a point ‘somewhat near to’ the lattice.

I Both seem to require 2Ω(m) time (and space).6 / 22

Page 24: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Shortest Vector Problem: SVPγ and GapSVPγ

Approximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).

Decision: given basis B and real d, decide whether

λ1(L) ≤ d OR λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Minkowski: mini‖bi‖ ≤ λ1(L) ≤

√n · det(L)1/n, but usually very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

7 / 22

Page 25: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Shortest Vector Problem: SVPγ and GapSVPγ

Approximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).Decision: given basis B and real d, decide whether

λ1(L) ≤ d OR λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Minkowski: mini‖bi‖ ≤ λ1(L) ≤

√n · det(L)1/n, but usually very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

7 / 22

Page 26: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Shortest Vector Problem: SVPγ and GapSVPγ

Approximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).Decision: given basis B and real d, decide whether

λ1(L) ≤ d OR λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Minkowski: mini‖bi‖ ≤ λ1(L) ≤

√n · det(L)1/n, but usually very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

7 / 22

Page 27: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Shortest Vector Problem: SVPγ and GapSVPγ

Approximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).Decision: given basis B and real d, decide whether

λ1(L) ≤ d OR λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Minkowski: mini‖bi‖ ≤ λ1(L) ≤

√n · det(L)1/n, but usually very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

7 / 22

Page 28: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Bounded-Distance Decoding (BDD)

Search: given basis B, point t, and real d < λ1/2 s.t. dist(t,L) ≤ d,find the (unique) v ∈ L closest to t.

Decision: given basis B, point t, and real d, decide whether

dist(t,L) ≤ d OR > γ · d.

tb1

b2

8 / 22

Page 29: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Bounded-Distance Decoding (BDD)

Search: given basis B, point t, and real d < λ1/2 s.t. dist(t,L) ≤ d,find the (unique) v ∈ L closest to t.

Decision: given basis B, point t, and real d, decide whether

dist(t,L) ≤ d OR > γ · d.

tb1

b2

8 / 22

Page 30: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Bounded-Distance Decoding (BDD)

Search: given basis B, point t, and real d < λ1/2 s.t. dist(t,L) ≤ d,find the (unique) v ∈ L closest to t.

Decision: given basis B, point t, and real d, decide whether

dist(t,L) ≤ d OR > γ · d.

tb1

b2

8 / 22

Page 31: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Central Hard Problem: Learning With Errors [Regev’05]

I Parameters: dimension n, modulus q, error distribution χ

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

e.g. width√n q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caseGapSVP etc.

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Classical reductions for alt. problems & params [Peikert’09,BLPRS’13]

9 / 22

Page 32: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Central Hard Problem: Learning With Errors [Regev’05]

I Parameters: dimension n, modulus q, 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

...

am ← Znq , bm ≈ 〈s , am〉 mod q

e.g. width√n q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caseGapSVP etc.

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Classical reductions for alt. problems & params [Peikert’09,BLPRS’13]

9 / 22

Page 33: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Central Hard Problem: Learning With Errors [Regev’05]

I Parameters: dimension n, modulus q, 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

...

am ← Znq , bm = 〈s , am〉+ em ∈ Zqe.g. width

√n q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caseGapSVP etc.

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Classical reductions for alt. problems & params [Peikert’09,BLPRS’13]

9 / 22

Page 34: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Central Hard Problem: Learning With Errors [Regev’05]

I Parameters: dimension n, modulus q, error distribution χ

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

︸ ︷︷ ︸

m

,(· · · bt · · ·

)= stA+ et

e.g. width√n q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caseGapSVP etc.

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Classical reductions for alt. problems & params [Peikert’09,BLPRS’13]

9 / 22

Page 35: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Central Hard Problem: Learning With Errors [Regev’05]

I Parameters: dimension n, modulus q, error distribution χ

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

︸ ︷︷ ︸

m

,(· · · bt · · ·

)= stA+ et

e.g. width√n q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caseGapSVP etc.

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Classical reductions for alt. problems & params [Peikert’09,BLPRS’13]

9 / 22

Page 36: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Central Hard Problem: Learning With Errors [Regev’05]

I Parameters: dimension n, modulus q, error distribution χ

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

︸ ︷︷ ︸

m

,(· · · bt · · ·

)= stA+ et

e.g. width√n q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caseGapSVP etc.

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Classical reductions for alt. problems & params [Peikert’09,BLPRS’13]

9 / 22

Page 37: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

A Central Hard Problem: Learning With Errors [Regev’05]

I Parameters: dimension n, modulus q, error distribution χ

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

︸ ︷︷ ︸

m

,(· · · bt · · ·

)= stA+ et

e.g. width√n q, ‘rate’ α

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

LWE is Hard

(n/α)-approx worst caseGapSVP etc.

(quantum [R’05])

search-LWE ≤

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

decision-LWE ≤ crypto

I Classical reductions for alt. problems & params [Peikert’09,BLPRS’13]

9 / 22

Page 38: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE as a Lattice Problem

· · · · A · · · ·

︸ ︷︷ ︸

m

∈ Zn×mq , bt = stA+ et OR b← Zmq

I Lattice interpretation:

L(A) = zt ≡ stA mod q

Finding s, e: BDD on L(A).

Distinguishing b from b: decision-BDD.

I WLOG, ‘normal form’ short s← χn withentries from error distribution [ACPS’09]

b

b

10 / 22

Page 39: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE as a Lattice Problem

· · · · A · · · ·

︸ ︷︷ ︸

m

∈ Zn×mq , bt = stA+ et OR b← Zmq

I Lattice interpretation:

L(A) = zt ≡ stA mod q

Finding s, e: BDD on L(A).

Distinguishing b from b: decision-BDD.

I WLOG, ‘normal form’ short s← χn withentries from error distribution [ACPS’09]

b

b

10 / 22

Page 40: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE as a Lattice Problem

· · · · A · · · ·

︸ ︷︷ ︸

m

∈ Zn×mq , bt = stA+ et OR b← Zmq

I Lattice interpretation:

L(A) = zt ≡ stA mod q

Finding s, e: BDD on L(A).

Distinguishing b from b: decision-BDD.

I WLOG, ‘normal form’ short s← χn withentries from error distribution [ACPS’09]

b

b

10 / 22

Page 41: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Learning With Rounding [BanerjeePeikertRosen’12]

I Generate errors deterministically by rounding Zq toa “sparser” subset (e.g., a subgroup).

Let p < q and define bxep = b(p/q) · xe mod p.

0

1

2

34

5678

9

10

11

12

13

14

1516

17 18 1920

21

22

23

01

2

I Decision-LWR problem: for secret s ∈ Znq , distinguish m pairs

ai ← Znq , b〈s,ai〉ep ∈ Znq × Zp from uniform.

LWE conceals low-order bits of 〈s,ai〉 by adding small random error.LWR just discards those bits instead.

I [BPR’12,AKPW’13] proves that LWE ≤ LWR for q ≥ p · poly(m) . . .

. . . but LWR appears hard for more aggressive parameters.

How aggressive? Not well understood.

11 / 22

Page 42: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Learning With Rounding [BanerjeePeikertRosen’12]

I Generate errors deterministically by rounding Zq toa “sparser” subset (e.g., a subgroup).

Let p < q and define bxep = b(p/q) · xe mod p.

0

1

2

34

5678

9

10

11

12

13

14

1516

17 18 1920

21

22

23

01

2

I Decision-LWR problem: for secret s ∈ Znq , distinguish m pairs

ai ← Znq , b〈s,ai〉ep ∈ Znq × Zp from uniform.

LWE conceals low-order bits of 〈s,ai〉 by adding small random error.LWR just discards those bits instead.

I [BPR’12,AKPW’13] proves that LWE ≤ LWR for q ≥ p · poly(m) . . .

. . . but LWR appears hard for more aggressive parameters.

How aggressive? Not well understood.

11 / 22

Page 43: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Learning With Rounding [BanerjeePeikertRosen’12]

I Generate errors deterministically by rounding Zq toa “sparser” subset (e.g., a subgroup).

Let p < q and define bxep = b(p/q) · xe mod p.

0

1

2

34

5678

9

10

11

12

13

14

1516

17 18 1920

21

22

23

01

2

I Decision-LWR problem: for secret s ∈ Znq , distinguish m pairs

ai ← Znq , b〈s,ai〉ep ∈ Znq × Zp from uniform.

LWE conceals low-order bits of 〈s,ai〉 by adding small random error.LWR just discards those bits instead.

I [BPR’12,AKPW’13] proves that LWE ≤ LWR for q ≥ p · poly(m) . . .

. . . but LWR appears hard for more aggressive parameters.

How aggressive? Not well understood.

11 / 22

Page 44: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Learning With Rounding [BanerjeePeikertRosen’12]

I Generate errors deterministically by rounding Zq toa “sparser” subset (e.g., a subgroup).

Let p < q and define bxep = b(p/q) · xe mod p.

0

1

2

34

5678

9

10

11

12

13

14

1516

17 18 1920

21

22

23

01

2

I Decision-LWR problem: for secret s ∈ Znq , distinguish m pairs

ai ← Znq , b〈s,ai〉ep ∈ Znq × Zp from uniform.

LWE conceals low-order bits of 〈s,ai〉 by adding small random error.LWR just discards those bits instead.

I [BPR’12,AKPW’13] proves that LWE ≤ LWR for q ≥ p · poly(m) . . .

. . . but LWR appears hard for more aggressive parameters.

How aggressive? Not well understood.

11 / 22

Page 45: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Learning With Rounding [BanerjeePeikertRosen’12]

I Generate errors deterministically by rounding Zq toa “sparser” subset (e.g., a subgroup).

Let p < q and define bxep = b(p/q) · xe mod p.

0

1

2

34

5678

9

10

11

12

13

14

1516

17 18 1920

21

22

23

01

2

I Decision-LWR problem: for secret s ∈ Znq , distinguish m pairs

ai ← Znq , b〈s,ai〉ep ∈ Znq × Zp from uniform.

LWE conceals low-order bits of 〈s,ai〉 by adding small random error.LWR just discards those bits instead.

I [BPR’12,AKPW’13] proves that LWE ≤ LWR for q ≥ p · poly(m) . . .

. . . but LWR appears hard for more aggressive parameters.

How aggressive? Not well understood.

11 / 22

Page 46: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE/LWR are (Extremely) Versatile

What kinds of crypto can we do with LWE/LWR?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Chosen Ciphertext-Secure Encryption (w/o random oracles)

4 Symmetric Crypto: (Constrained & Key-Homomorphic) PRFs

44 Identity-Based Encryption (w/o RO)

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

44 NIZK for any NP language

!!! Fully Homomorphic Encryption

!!! Attribute-Based & Predicate Encryption for arbitrary policies

and much, much more. . .

12 / 22

Page 47: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE/LWR are (Extremely) Versatile

What kinds of crypto can we do with LWE/LWR?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Chosen Ciphertext-Secure Encryption (w/o random oracles)

4 Symmetric Crypto: (Constrained & Key-Homomorphic) PRFs

44 Identity-Based Encryption (w/o RO)

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

44 NIZK for any NP language

!!! Fully Homomorphic Encryption

!!! Attribute-Based & Predicate Encryption for arbitrary policies

and much, much more. . .

12 / 22

Page 48: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE/LWR are (Extremely) Versatile

What kinds of crypto can we do with LWE/LWR?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Chosen Ciphertext-Secure Encryption (w/o random oracles)

4 Symmetric Crypto: (Constrained & Key-Homomorphic) PRFs

44 Identity-Based Encryption (w/o RO)

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

44 NIZK for any NP language

!!! Fully Homomorphic Encryption

!!! Attribute-Based & Predicate Encryption for arbitrary policies

and much, much more. . .

12 / 22

Page 49: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE/LWR are (Extremely) Versatile

What kinds of crypto can we do with LWE/LWR?

4 Key Exchange, Public Key Encryption

4 Oblivious Transfer

4 Chosen Ciphertext-Secure Encryption (w/o random oracles)

4 Symmetric Crypto: (Constrained & Key-Homomorphic) PRFs

44 Identity-Based Encryption (w/o RO)

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

44 NIZK for any NP language

!!! Fully Homomorphic Encryption

!!! Attribute-Based & Predicate Encryption for arbitrary policies

and much, much more. . .

12 / 22

Page 50: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Part 2:

Framework for Lattice-Based Encryption

13 / 22

Page 51: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE-Based Encryption/Key Ex [Regev’05,PVW’08,LPS’10,LP’11,. . . ]

A← Zn×nq

(can be shared and/orexpanded from a seed)

short R← χk×nU ≈ RA

(public key)

V ≈ AS

(ciphertext ‘preamble’)

short S← χn×`

msg M ∈ Zk×`p

C ≈ US+ qp ·M

(ciphertext ‘payload’)

(A,U,V,C)

by decision-LWE

14 / 22

Page 52: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE-Based Encryption/Key Ex [Regev’05,PVW’08,LPS’10,LP’11,. . . ]

A← Zn×nq

(can be shared and/orexpanded from a seed)

short R← χk×nU ≈ RA

(public key)

V ≈ AS

(ciphertext ‘preamble’)

short S← χn×`

msg M ∈ Zk×`p

C ≈ US+ qp ·M

(ciphertext ‘payload’)

(A,U,V,C)

by decision-LWE

14 / 22

Page 53: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE-Based Encryption/Key Ex [Regev’05,PVW’08,LPS’10,LP’11,. . . ]

A← Zn×nq

(can be shared and/orexpanded from a seed)

short R← χk×nU ≈ RA

(public key)

V ≈ AS

(ciphertext ‘preamble’)

short S← χn×`

msg M ∈ Zk×`p

RV ≈ RASC ≈ US+ q

p ·M

(ciphertext ‘payload’)US ≈ RAS ∈ Zk×`q

(A,U,V,C)

by decision-LWE

14 / 22

Page 54: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE-Based Encryption/Key Ex [Regev’05,PVW’08,LPS’10,LP’11,. . . ]

A← Zn×nq

(can be shared and/orexpanded from a seed)

short R← χk×nU ≈ RA

(public key)

V ≈ AS

(ciphertext ‘preamble’)

short S← χn×`

msg M ∈ Zk×`p

RV ≈ RASC ≈ US+ q

p ·M

(ciphertext ‘payload’)US ≈ RAS ∈ Zk×`q

(A,U,V,C)

by decision-LWE

14 / 22

Page 55: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE-Based Encryption/Key Ex [Regev’05,PVW’08,LPS’10,LP’11,. . . ]

A← Zn×nq

(can be shared and/orexpanded from a seed)

short R← χk×nU ≈ RA

(public key)

V ≈ AS

(ciphertext ‘preamble’)

short S← χn×`

msg M ∈ Zk×`p

RV ≈ RASC ≈ US+ q

p ·M

(ciphertext ‘payload’)US ≈ RAS ∈ Zk×`q

(A,U,V,C)

by decision-LWE14 / 22

Page 56: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

LWE-Based Encryption/Key Ex [Regev’05,PVW’08,LPS’10,LP’11,. . . ]

A← Zn×nq

(can be shared and/orexpanded from a seed)

short R← χk×nU ≈ RA

(public key)

V ≈ AS

(ciphertext ‘preamble’)

short S← χn×`

msg M ∈ Zk×`p

RV ≈ RASC ≈ US+ q

p ·M

(ciphertext ‘payload’)US ≈ RAS ∈ Zk×`q

(A,U,V,C)

by decision-LWE14 / 22

Page 57: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?

F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 58: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?

F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 59: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?

F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 60: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?

F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 61: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?

F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 62: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?

F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 63: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?F All else being equal, larger |errors|/q =⇒ more security.

F But need entries ofRE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 64: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 65: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].

15 / 22

Page 66: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Design Considerations

1 System as shown is only CPA secure. Good for ephemeral key-ex, butneeds a Fujisaki–Okamoto-like transform for CCA-secure KEM.

An active area of research; mostly orthogonal to other design aspects.

2 Share A across many public keys?

May allow (expensive) preprocessing, making it easier to break manypublic keys at once.

3 Use random errors, or deterministic rounding?

Rounding makes keys/ciphertexts smaller; security is less understood.

4 How large can/should errors be?F All else being equal, larger |errors|/q =⇒ more security.F But need entries of

RE−E′S+E′′

to have magnitudes < q2p , with high probability. So q > p|errors|2.

5 What is an acceptable decryption failure probability?

Failures can leak secret; address ‘large-error’ ciphertexts [DVV’18].15 / 22

Page 67: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Rings for Efficiency

I Matrices A ∈ Zn×nq ,R,S etc. were over the mod-q integer ring Zq.So sizes and computations grow quadratically (at least).

I A la NTRU, instead use lower-dim matrices over a polynomial ring Rq.

E.g., Rq = Zq[X]/(Xd +1) for power-of-two d (the 2dth cyclotomic).

I Extreme n = 1 is Ring-LWE/LWR [LPR’10]: for secret s ∈ Rq, pairs

ai ← Rq , bi ≈ s · ai ∈ Rq.

I Intermediate n ≥ 2 is Module-LWE/LWR [BGV’12,LS’15]. E.g., forsecret s = (s1, s2) ∈ R2

q ,

A =

(a1,1 a1,2

a2,1 a2,2

)∈ R2×2

q , b ≈ sA ∈ R2q from uniform.

I Sizes and computations can now grow only (quasi-)linearly in totaldimension, thanks to FFT-like techniques.

Also (weaker) worst-case hardness theorems based on ideal lattices.

16 / 22

Page 68: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Rings for Efficiency

I Matrices A ∈ Zn×nq ,R,S etc. were over the mod-q integer ring Zq.So sizes and computations grow quadratically (at least).

I A la NTRU, instead use lower-dim matrices over a polynomial ring Rq.

E.g., Rq = Zq[X]/(Xd +1) for power-of-two d (the 2dth cyclotomic).

I Extreme n = 1 is Ring-LWE/LWR [LPR’10]: for secret s ∈ Rq, pairs

ai ← Rq , bi ≈ s · ai ∈ Rq.

I Intermediate n ≥ 2 is Module-LWE/LWR [BGV’12,LS’15]. E.g., forsecret s = (s1, s2) ∈ R2

q ,

A =

(a1,1 a1,2

a2,1 a2,2

)∈ R2×2

q , b ≈ sA ∈ R2q from uniform.

I Sizes and computations can now grow only (quasi-)linearly in totaldimension, thanks to FFT-like techniques.

Also (weaker) worst-case hardness theorems based on ideal lattices.

16 / 22

Page 69: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Rings for Efficiency

I Matrices A ∈ Zn×nq ,R,S etc. were over the mod-q integer ring Zq.So sizes and computations grow quadratically (at least).

I A la NTRU, instead use lower-dim matrices over a polynomial ring Rq.

E.g., Rq = Zq[X]/(Xd +1) for power-of-two d (the 2dth cyclotomic).

I Extreme n = 1 is Ring-LWE/LWR [LPR’10]: for secret s ∈ Rq, pairs

ai ← Rq , bi ≈ s · ai ∈ Rq.

I Intermediate n ≥ 2 is Module-LWE/LWR [BGV’12,LS’15]. E.g., forsecret s = (s1, s2) ∈ R2

q ,

A =

(a1,1 a1,2

a2,1 a2,2

)∈ R2×2

q , b ≈ sA ∈ R2q from uniform.

I Sizes and computations can now grow only (quasi-)linearly in totaldimension, thanks to FFT-like techniques.

Also (weaker) worst-case hardness theorems based on ideal lattices.

16 / 22

Page 70: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Rings for Efficiency

I Matrices A ∈ Zn×nq ,R,S etc. were over the mod-q integer ring Zq.So sizes and computations grow quadratically (at least).

I A la NTRU, instead use lower-dim matrices over a polynomial ring Rq.

E.g., Rq = Zq[X]/(Xd +1) for power-of-two d (the 2dth cyclotomic).

I Extreme n = 1 is Ring-LWE/LWR [LPR’10]: for secret s ∈ Rq, pairs

ai ← Rq , bi ≈ s · ai ∈ Rq.

I Intermediate n ≥ 2 is Module-LWE/LWR [BGV’12,LS’15]. E.g., forsecret s = (s1, s2) ∈ R2

q ,

A =

(a1,1 a1,2

a2,1 a2,2

)∈ R2×2

q , b ≈ sA ∈ R2q from uniform.

I Sizes and computations can now grow only (quasi-)linearly in totaldimension, thanks to FFT-like techniques.

Also (weaker) worst-case hardness theorems based on ideal lattices.

16 / 22

Page 71: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Rings for Efficiency

I Matrices A ∈ Zn×nq ,R,S etc. were over the mod-q integer ring Zq.So sizes and computations grow quadratically (at least).

I A la NTRU, instead use lower-dim matrices over a polynomial ring Rq.

E.g., Rq = Zq[X]/(Xd +1) for power-of-two d (the 2dth cyclotomic).

I Extreme n = 1 is Ring-LWE/LWR [LPR’10]: for secret s ∈ Rq, pairs

ai ← Rq , bi ≈ s · ai ∈ Rq.

I Intermediate n ≥ 2 is Module-LWE/LWR [BGV’12,LS’15]. E.g., forsecret s = (s1, s2) ∈ R2

q ,

A =

(a1,1 a1,2

a2,1 a2,2

)∈ R2×2

q , b ≈ sA ∈ R2q from uniform.

I Sizes and computations can now grow only (quasi-)linearly in totaldimension, thanks to FFT-like techniques.

Also (weaker) worst-case hardness theorems based on ideal lattices.

16 / 22

Page 72: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Rings for Efficiency

I Matrices A ∈ Zn×nq ,R,S etc. were over the mod-q integer ring Zq.So sizes and computations grow quadratically (at least).

I A la NTRU, instead use lower-dim matrices over a polynomial ring Rq.

E.g., Rq = Zq[X]/(Xd +1) for power-of-two d (the 2dth cyclotomic).

I Extreme n = 1 is Ring-LWE/LWR [LPR’10]: for secret s ∈ Rq, pairs

ai ← Rq , bi ≈ s · ai ∈ Rq.

I Intermediate n ≥ 2 is Module-LWE/LWR [BGV’12,LS’15]. E.g., forsecret s = (s1, s2) ∈ R2

q ,

A =

(a1,1 a1,2

a2,1 a2,2

)∈ R2×2

q , b ≈ sA ∈ R2q from uniform.

I Sizes and computations can now grow only (quasi-)linearly in totaldimension, thanks to FFT-like techniques.

Also (weaker) worst-case hardness theorems based on ideal lattices.

16 / 22

Page 73: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU [HoffsteinPipherSilverman’96,. . . ]

I Ring-LWE public keys (a, b) satisfy the inhomogeneous relation

a · s− b ≈ 0 ∈ Rq.

I NTRU is more extreme: public key a = r · s−1 ∈ Rq for short r, s,satisfying the homogeneous relation

a · s ≈ 0.

I Encryption is similar: choose short t and send c ≈ t · a+ qp ·m ∈ Rq.

(Just one ring element!)

Decryption:c · s ≈ t · a · s+ q

p ·m · s ≈qp ·m · s,

from which we can recover m.

17 / 22

Page 74: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU [HoffsteinPipherSilverman’96,. . . ]

I Ring-LWE public keys (a, b) satisfy the inhomogeneous relation

a · s− b ≈ 0 ∈ Rq.

I NTRU is more extreme: public key a = r · s−1 ∈ Rq for short r, s,satisfying the homogeneous relation

a · s ≈ 0.

I Encryption is similar: choose short t and send c ≈ t · a+ qp ·m ∈ Rq.

(Just one ring element!)

Decryption:c · s ≈ t · a · s+ q

p ·m · s ≈qp ·m · s,

from which we can recover m.

17 / 22

Page 75: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU [HoffsteinPipherSilverman’96,. . . ]

I Ring-LWE public keys (a, b) satisfy the inhomogeneous relation

a · s− b ≈ 0 ∈ Rq.

I NTRU is more extreme: public key a = r · s−1 ∈ Rq for short r, s,satisfying the homogeneous relation

a · s ≈ 0.

I Encryption is similar: choose short t and send c ≈ t · a+ qp ·m ∈ Rq.

(Just one ring element!)

Decryption:c · s ≈ t · a · s+ q

p ·m · s ≈qp ·m · s,

from which we can recover m.

17 / 22

Page 76: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Part 3:

Cryptanalysis, Parameters, andNIST Candidates

18 / 22

Page 77: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Lattice Attacks

I Standard approach: given [A | b = As+ e], find the (unique mod ±)‘unusually short’ vector (s, e, 1) in the lattice

L = x : [A | −I | −b] · x = 0.

Core-SVP Methodology

I Use Block Korkin-Zolotarev (BKZ) with large enough block size b tosucceed. Conservatively lower-bound the cost by a single exact-SVPcomputations in dimension b. (BKZ actually makes several SVP calls.)

I E.g., best known classical SVP runtime is heuristically 20.292b+o(b),with significant o(b) term and 2Ω(b) memory (which are ignored).

Exploit Ring Structure?

I To date, we have only trivial O(d)-factor speedups forRing/Module-LWE over d-dimensional rings. (NTRU? Stay tuned. . . )

19 / 22

Page 78: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Lattice Attacks

I Standard approach: given [A | b = As+ e], find the (unique mod ±)‘unusually short’ vector (s, e, 1) in the lattice

L = x : [A | −I | −b] · x = 0.

Core-SVP Methodology

I Use Block Korkin-Zolotarev (BKZ) with large enough block size b tosucceed. Conservatively lower-bound the cost by a single exact-SVPcomputations in dimension b. (BKZ actually makes several SVP calls.)

I E.g., best known classical SVP runtime is heuristically 20.292b+o(b),with significant o(b) term and 2Ω(b) memory (which are ignored).

Exploit Ring Structure?

I To date, we have only trivial O(d)-factor speedups forRing/Module-LWE over d-dimensional rings. (NTRU? Stay tuned. . . )

19 / 22

Page 79: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Lattice Attacks

I Standard approach: given [A | b = As+ e], find the (unique mod ±)‘unusually short’ vector (s, e, 1) in the lattice

L = x : [A | −I | −b] · x = 0.

Core-SVP Methodology

I Use Block Korkin-Zolotarev (BKZ) with large enough block size b tosucceed. Conservatively lower-bound the cost by a single exact-SVPcomputations in dimension b. (BKZ actually makes several SVP calls.)

I E.g., best known classical SVP runtime is heuristically 20.292b+o(b),with significant o(b) term and 2Ω(b) memory (which are ignored).

Exploit Ring Structure?

I To date, we have only trivial O(d)-factor speedups forRing/Module-LWE over d-dimensional rings. (NTRU? Stay tuned. . . )

19 / 22

Page 80: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Lattice Attacks

I Standard approach: given [A | b = As+ e], find the (unique mod ±)‘unusually short’ vector (s, e, 1) in the lattice

L = x : [A | −I | −b] · x = 0.

Core-SVP Methodology

I Use Block Korkin-Zolotarev (BKZ) with large enough block size b tosucceed. Conservatively lower-bound the cost by a single exact-SVPcomputations in dimension b. (BKZ actually makes several SVP calls.)

I E.g., best known classical SVP runtime is heuristically 20.292b+o(b),with significant o(b) term and 2Ω(b) memory (which are ignored).

Exploit Ring Structure?

I To date, we have only trivial O(d)-factor speedups forRing/Module-LWE over d-dimensional rings. (NTRU? Stay tuned. . . )

19 / 22

Page 81: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Combinatorial/Algebraic Attacks

Arora-Ge’11

I Solves LWE in ≈ nSω time given ≈ nS pairs, where S = |Support(χ)|is the number of possible integer error values.

(For Ring-LWE/NTRU, the needed number is only ≈ nS−1.)

Number was reduced somewhat using Grobner bases [ACFP’14].

I This suggests a potential risk of very small (rounding) errors, e.g.,0,±1 as in NTRU, NTRU Prime, LAC, ThreeBears—although theyprovide few pairs.

(Small errors are the source of their relatively small keys/ciphertexts.)

I FrodoKEM, Kyber, NewHope, SABER use relatively larger errors, atthe cost of larger keys/ciphertexts.

(Indeed, FrodoKEM’s error distributions even conform to a nontrivialworst-case/average-case reduction.)

20 / 22

Page 82: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Combinatorial/Algebraic Attacks

Arora-Ge’11

I Solves LWE in ≈ nSω time given ≈ nS pairs, where S = |Support(χ)|is the number of possible integer error values.

(For Ring-LWE/NTRU, the needed number is only ≈ nS−1.)

Number was reduced somewhat using Grobner bases [ACFP’14].

I This suggests a potential risk of very small (rounding) errors, e.g.,0,±1 as in NTRU, NTRU Prime, LAC, ThreeBears—although theyprovide few pairs.

(Small errors are the source of their relatively small keys/ciphertexts.)

I FrodoKEM, Kyber, NewHope, SABER use relatively larger errors, atthe cost of larger keys/ciphertexts.

(Indeed, FrodoKEM’s error distributions even conform to a nontrivialworst-case/average-case reduction.)

20 / 22

Page 83: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Combinatorial/Algebraic Attacks

Arora-Ge’11

I Solves LWE in ≈ nSω time given ≈ nS pairs, where S = |Support(χ)|is the number of possible integer error values.

(For Ring-LWE/NTRU, the needed number is only ≈ nS−1.)

Number was reduced somewhat using Grobner bases [ACFP’14].

I This suggests a potential risk of very small (rounding) errors, e.g.,0,±1 as in NTRU, NTRU Prime, LAC, ThreeBears—although theyprovide few pairs.

(Small errors are the source of their relatively small keys/ciphertexts.)

I FrodoKEM, Kyber, NewHope, SABER use relatively larger errors, atthe cost of larger keys/ciphertexts.

(Indeed, FrodoKEM’s error distributions even conform to a nontrivialworst-case/average-case reduction.)

20 / 22

Page 84: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Combinatorial/Algebraic Attacks

Arora-Ge’11

I Solves LWE in ≈ nSω time given ≈ nS pairs, where S = |Support(χ)|is the number of possible integer error values.

(For Ring-LWE/NTRU, the needed number is only ≈ nS−1.)

Number was reduced somewhat using Grobner bases [ACFP’14].

I This suggests a potential risk of very small (rounding) errors, e.g.,0,±1 as in NTRU, NTRU Prime, LAC, ThreeBears—although theyprovide few pairs.

(Small errors are the source of their relatively small keys/ciphertexts.)

I FrodoKEM, Kyber, NewHope, SABER use relatively larger errors, atthe cost of larger keys/ciphertexts.

(Indeed, FrodoKEM’s error distributions even conform to a nontrivialworst-case/average-case reduction.)

20 / 22

Page 85: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Combinatorial/Algebraic Attacks

Arora-Ge’11

I Solves LWE in ≈ nSω time given ≈ nS pairs, where S = |Support(χ)|is the number of possible integer error values.

(For Ring-LWE/NTRU, the needed number is only ≈ nS−1.)

Number was reduced somewhat using Grobner bases [ACFP’14].

I This suggests a potential risk of very small (rounding) errors, e.g.,0,±1 as in NTRU, NTRU Prime, LAC, ThreeBears—although theyprovide few pairs.

(Small errors are the source of their relatively small keys/ciphertexts.)

I FrodoKEM, Kyber, NewHope, SABER use relatively larger errors, atthe cost of larger keys/ciphertexts.

(Indeed, FrodoKEM’s error distributions even conform to a nontrivialworst-case/average-case reduction.)

20 / 22

Page 86: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Combinatorial/Algebraic Attacks

Arora-Ge’11

I Solves LWE in ≈ nSω time given ≈ nS pairs, where S = |Support(χ)|is the number of possible integer error values.

(For Ring-LWE/NTRU, the needed number is only ≈ nS−1.)

Number was reduced somewhat using Grobner bases [ACFP’14].

I This suggests a potential risk of very small (rounding) errors, e.g.,0,±1 as in NTRU, NTRU Prime, LAC, ThreeBears—although theyprovide few pairs.

(Small errors are the source of their relatively small keys/ciphertexts.)

I FrodoKEM, Kyber, NewHope, SABER use relatively larger errors, atthe cost of larger keys/ciphertexts.

(Indeed, FrodoKEM’s error distributions even conform to a nontrivialworst-case/average-case reduction.)

20 / 22

Page 87: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Combinatorial/Algebraic Attacks

Arora-Ge’11

I Solves LWE in ≈ nSω time given ≈ nS pairs, where S = |Support(χ)|is the number of possible integer error values.

(For Ring-LWE/NTRU, the needed number is only ≈ nS−1.)

Number was reduced somewhat using Grobner bases [ACFP’14].

I This suggests a potential risk of very small (rounding) errors, e.g.,0,±1 as in NTRU, NTRU Prime, LAC, ThreeBears—although theyprovide few pairs.

(Small errors are the source of their relatively small keys/ciphertexts.)

I FrodoKEM, Kyber, NewHope, SABER use relatively larger errors, atthe cost of larger keys/ciphertexts.

(Indeed, FrodoKEM’s error distributions even conform to a nontrivialworst-case/average-case reduction.)

20 / 22

Page 88: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU Lattice Attacks

I For NTRU key a = r · s−1 ∈ Rq, homogeneous relation a · s ≈ 0 ∈ Rqmeans there are d ‘unusually short’ planted vectors (r ·Xi, s ·Xi) inthe 2d-dimensional NTRU lattice.

I [KirchnerFouque’16] noticed that this structure can significantly speedup standard lattice attacks, based on the size of the ‘unusual’ gap.

E.g., they easily broke proposed ‘stretched’ FHE parameters, but‘ordinary’ parameters are so far unaffected.

I These (standard) attacks subsumed all prior ones against NTRUwhose effectiveness had been attributed to the existence ofsubrings/homomorphisms.

I This suggests a potential risk of homogeneity and NTRUlattices—regardless of choice of ring.

I By contrast, BDD problems like (Ring-/Module-)LWE plant a uniqueshortest vector, which [KirchnerFouque’16] explicitly recommend.

21 / 22

Page 89: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU Lattice Attacks

I For NTRU key a = r · s−1 ∈ Rq, homogeneous relation a · s ≈ 0 ∈ Rqmeans there are d ‘unusually short’ planted vectors (r ·Xi, s ·Xi) inthe 2d-dimensional NTRU lattice.

I [KirchnerFouque’16] noticed that this structure can significantly speedup standard lattice attacks, based on the size of the ‘unusual’ gap.

E.g., they easily broke proposed ‘stretched’ FHE parameters, but‘ordinary’ parameters are so far unaffected.

I These (standard) attacks subsumed all prior ones against NTRUwhose effectiveness had been attributed to the existence ofsubrings/homomorphisms.

I This suggests a potential risk of homogeneity and NTRUlattices—regardless of choice of ring.

I By contrast, BDD problems like (Ring-/Module-)LWE plant a uniqueshortest vector, which [KirchnerFouque’16] explicitly recommend.

21 / 22

Page 90: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU Lattice Attacks

I For NTRU key a = r · s−1 ∈ Rq, homogeneous relation a · s ≈ 0 ∈ Rqmeans there are d ‘unusually short’ planted vectors (r ·Xi, s ·Xi) inthe 2d-dimensional NTRU lattice.

I [KirchnerFouque’16] noticed that this structure can significantly speedup standard lattice attacks, based on the size of the ‘unusual’ gap.

E.g., they easily broke proposed ‘stretched’ FHE parameters, but‘ordinary’ parameters are so far unaffected.

I These (standard) attacks subsumed all prior ones against NTRUwhose effectiveness had been attributed to the existence ofsubrings/homomorphisms.

I This suggests a potential risk of homogeneity and NTRUlattices—regardless of choice of ring.

I By contrast, BDD problems like (Ring-/Module-)LWE plant a uniqueshortest vector, which [KirchnerFouque’16] explicitly recommend.

21 / 22

Page 91: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU Lattice Attacks

I For NTRU key a = r · s−1 ∈ Rq, homogeneous relation a · s ≈ 0 ∈ Rqmeans there are d ‘unusually short’ planted vectors (r ·Xi, s ·Xi) inthe 2d-dimensional NTRU lattice.

I [KirchnerFouque’16] noticed that this structure can significantly speedup standard lattice attacks, based on the size of the ‘unusual’ gap.

E.g., they easily broke proposed ‘stretched’ FHE parameters, but‘ordinary’ parameters are so far unaffected.

I These (standard) attacks subsumed all prior ones against NTRUwhose effectiveness had been attributed to the existence ofsubrings/homomorphisms.

I This suggests a potential risk of homogeneity and NTRUlattices—regardless of choice of ring.

I By contrast, BDD problems like (Ring-/Module-)LWE plant a uniqueshortest vector, which [KirchnerFouque’16] explicitly recommend.

21 / 22

Page 92: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

NTRU Lattice Attacks

I For NTRU key a = r · s−1 ∈ Rq, homogeneous relation a · s ≈ 0 ∈ Rqmeans there are d ‘unusually short’ planted vectors (r ·Xi, s ·Xi) inthe 2d-dimensional NTRU lattice.

I [KirchnerFouque’16] noticed that this structure can significantly speedup standard lattice attacks, based on the size of the ‘unusual’ gap.

E.g., they easily broke proposed ‘stretched’ FHE parameters, but‘ordinary’ parameters are so far unaffected.

I These (standard) attacks subsumed all prior ones against NTRUwhose effectiveness had been attributed to the existence ofsubrings/homomorphisms.

I This suggests a potential risk of homogeneity and NTRUlattices—regardless of choice of ring.

I By contrast, BDD problems like (Ring-/Module-)LWE plant a uniqueshortest vector, which [KirchnerFouque’16] explicitly recommend.

21 / 22

Page 93: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Conclusions

I Lattice-based PKE/KEM all work very similarly at heart, but there isa huge space of design choices and trade-offs.

I Key issues: balance the risk/efficiency trade-offs inherent in:F randomized versus deterministic rounding,F size of errors,F decryption failures,F ring structure and problem rank over the ring,F BDD/LWE versus non-unique-SVP/NTRU,F and much more.

I There are many great questions to investigate!

Thanks!

22 / 22

Page 94: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Conclusions

I Lattice-based PKE/KEM all work very similarly at heart, but there isa huge space of design choices and trade-offs.

I Key issues: balance the risk/efficiency trade-offs inherent in:F randomized versus deterministic rounding,F size of errors,F decryption failures,F ring structure and problem rank over the ring,F BDD/LWE versus non-unique-SVP/NTRU,F and much more.

I There are many great questions to investigate!

Thanks!

22 / 22

Page 95: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Conclusions

I Lattice-based PKE/KEM all work very similarly at heart, but there isa huge space of design choices and trade-offs.

I Key issues: balance the risk/efficiency trade-offs inherent in:F randomized versus deterministic rounding,F size of errors,F decryption failures,F ring structure and problem rank over the ring,F BDD/LWE versus non-unique-SVP/NTRU,F and much more.

I There are many great questions to investigate!

Thanks!

22 / 22

Page 96: Lattice-Based Cryptography Chris Peikert · Lattice-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, embarrassingly parallel

Conclusions

I Lattice-based PKE/KEM all work very similarly at heart, but there isa huge space of design choices and trade-offs.

I Key issues: balance the risk/efficiency trade-offs inherent in:F randomized versus deterministic rounding,F size of errors,F decryption failures,F ring structure and problem rank over the ring,F BDD/LWE versus non-unique-SVP/NTRU,F and much more.

I There are many great questions to investigate!

Thanks!

22 / 22


Recommended