public-key cryptosystems from the worst-case …cpeikert/pubs/slides-svp...public-key cryptosystems...

73
Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI Georgia Tech Impagliazzo’s World Workshop 1 / 16

Upload: others

Post on 28-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Public-Key Cryptosystemsfrom the

Worst-Case Shortest Vector Problem

Chris PeikertSRI→ Georgia Tech

Impagliazzo’s World Workshop

1 / 16

Page 2: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

This Talk

1 State of Lattice-Based Cryptography

2 Main Result: Public-Key Encryption based on GapSVP

3 Proof & Future Work

2 / 16

Page 3: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Shortest Vector Problem(s)

A lattice L ⊂ Rn having basis B = {b1, . . . ,bn} is:

L =n∑

i=1

(Z · bi)

λ

b1

b2

Shortest Vector Problem (γ-GapSVP)I Given B, decide: λ ≤ 1 or λ > γ ?

Unique SVP (γ-uSVP)I Given B with ‘γ-unique’ shortest vector, find it.

3 / 16

Page 4: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Shortest Vector Problem(s)

A lattice L ⊂ Rn having basis B = {b1, . . . ,bn} is:

L =n∑

i=1

(Z · bi)

λ

b1

b2

Shortest Vector Problem (γ-GapSVP)I Given B, decide: λ ≤ 1 or λ > γ ?

Unique SVP (γ-uSVP)I Given B with ‘γ-unique’ shortest vector, find it.

3 / 16

Page 5: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Shortest Vector Problem(s)

A lattice L ⊂ Rn having basis B = {b1, . . . ,bn} is:

L =n∑

i=1

(Z · bi) λ

b1

b2

Shortest Vector Problem (γ-GapSVP)I Given B, decide: λ ≤ 1 or λ > γ ?

Unique SVP (γ-uSVP)I Given B with ‘γ-unique’ shortest vector, find it.

3 / 16

Page 6: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Shortest Vector Problem(s)

A lattice L ⊂ Rn having basis B = {b1, . . . ,bn} is:

L =n∑

i=1

(Z · bi)

γ · λλ

b1

b2

Shortest Vector Problem (γ-GapSVP)I Given B, decide: λ ≤ 1 or λ > γ ?

Unique SVP (γ-uSVP)I Given B with ‘γ-unique’ shortest vector, find it.

3 / 16

Page 7: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Worst-Case Complexity

GapSVP

γ = 2(log n)1−ε

NP-hard∗

[Ajt98,. . . ,HR07]

√n

∈ coNP[GG98,AR05]

n

(some) crypto[Ajt96,. . . ,

MR04,Reg05]

2∼n

∈ P[LLL82,Sch87]

I For γ = poly(n), best algorithm is 2n time & space [AKS01]

uSVP

γ = ??

NP-hard

4√

n

∈ coAM[Cai98]

n1.5

crypto[AD97/07,Reg03]

4 / 16

Page 8: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Worst-Case Complexity

GapSVP

γ = 2(log n)1−ε

NP-hard∗

[Ajt98,. . . ,HR07]

√n

∈ coNP[GG98,AR05]

n

(some) crypto[Ajt96,. . . ,

MR04,Reg05]

2∼n

∈ P[LLL82,Sch87]

I For γ = poly(n), best algorithm is 2n time & space [AKS01]

uSVP

γ = ??

NP-hard

4√

n

∈ coAM[Cai98]

n1.5

crypto[AD97/07,Reg03]

4 / 16

Page 9: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Worst-Case Complexity

GapSVP

γ = 2(log n)1−ε

NP-hard∗

[Ajt98,. . . ,HR07]

√n

∈ coNP[GG98,AR05]

n

(some) crypto[Ajt96,. . . ,

MR04,Reg05]

2∼n

∈ P[LLL82,Sch87]

I For γ = poly(n), best algorithm is 2n time & space [AKS01]

uSVP

γ = ??

NP-hard

4√

n

∈ coAM[Cai98]

n1.5

crypto[AD97/07,Reg03]

4 / 16

Page 10: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Taxonomy of Lattice-Based Crypto‘minicrypt’

OWF [Ajt96,. . . ]

ID schemes[MV03,Lyu08]

Sigs[LM08,GPV08]

‘CRYPTOMANIA’

PKE [AD97,Reg03,Reg05]

CCA [PW08]

ID-based [GPV08]

(Obl. tran. [PVW08], leakage [AGV09],

homom [G09], KDM [ACPS09], HIBE [P09])

+ GapSVP etc. hard + uSVP hard

+ GapSVP etc. quantum-hard

5 / 16

Page 11: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Taxonomy of Lattice-Based Crypto‘minicrypt’

OWF [Ajt96,. . . ]

ID schemes[MV03,Lyu08]

Sigs[LM08,GPV08]

‘CRYPTOMANIA’

PKE [AD97,Reg03,Reg05]

CCA [PW08]

ID-based [GPV08]

(Obl. tran. [PVW08], leakage [AGV09],

homom [G09], KDM [ACPS09], HIBE [P09])

+ GapSVP etc. hard

+ uSVP hard

+ GapSVP etc. quantum-hard

5 / 16

Page 12: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Taxonomy of Lattice-Based Crypto‘minicrypt’

OWF [Ajt96,. . . ]

ID schemes[MV03,Lyu08]

Sigs[LM08,GPV08]

‘CRYPTOMANIA’

PKE [AD97,Reg03,Reg05]

CCA [PW08]

ID-based [GPV08]

(Obl. tran. [PVW08], leakage [AGV09],

homom [G09], KDM [ACPS09], HIBE [P09])

+ GapSVP etc. hard

+ uSVP hard

+ GapSVP etc. quantum-hard

5 / 16

Page 13: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Taxonomy of Lattice-Based Crypto‘minicrypt’

OWF [Ajt96,. . . ]

ID schemes[MV03,Lyu08]

Sigs[LM08,GPV08]

‘CRYPTOMANIA’

PKE [AD97,Reg03,Reg05]

CCA [PW08]

ID-based [GPV08]

(Obl. tran. [PVW08], leakage [AGV09],

homom [G09], KDM [ACPS09], HIBE [P09])

+ GapSVP etc. hard

+ uSVP hard

+ GapSVP etc. quantum-hard

5 / 16

Page 14: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Taxonomy of Lattice-Based Crypto‘minicrypt’

OWF [Ajt96,. . . ]

ID schemes[MV03,Lyu08]

Sigs[LM08,GPV08]

‘CRYPTOMANIA’

PKE [AD97,Reg03,Reg05]

CCA [PW08]

ID-based [GPV08]

(Obl. tran. [PVW08], leakage [AGV09],

homom [G09], KDM [ACPS09], HIBE [P09])

+ GapSVP etc. hard + uSVP hard

+ GapSVP etc. quantum-hard5 / 16

Page 15: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Learning With ErrorsI Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2

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

a1 , b1 = 〈a1 , s〉+ x1 mod q

a2 , b2 = 〈a2 , s〉+ x2 mod q...

Uniform ai ∈ Znq , Gaussian errors xi

α · q ≥√

nI Decision: distinguish from uniform (ai , bi)

State of the Art

(n/α)-GapSVP etc. ≤

quantum[Reg05]

search-LWE ≤

prime q = poly(n)[BFKL94,R05]

decision-LWE ≤

[R05,PW08,GPV08,PVW08,AGV09,ACPS09,. . . ]

crypto

6 / 16

Page 16: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Learning With ErrorsI Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2

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

a1 , b1 ≈ 〈a1 , s〉 mod q

a2 , b2 ≈ 〈a2 , s〉 mod q...

Uniform ai ∈ Znq , Gaussian errors xi

α · q ≥√

nI Decision: distinguish from uniform (ai , bi)

State of the Art

(n/α)-GapSVP etc. ≤

quantum[Reg05]

search-LWE ≤

prime q = poly(n)[BFKL94,R05]

decision-LWE ≤

[R05,PW08,GPV08,PVW08,AGV09,ACPS09,. . . ]

crypto

6 / 16

Page 17: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Learning With ErrorsI Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2

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

a1 , b1 = 〈a1 , s〉+ x1 mod q

a2 , b2 = 〈a2 , s〉+ x2 mod q...

Uniform ai ∈ Znq , Gaussian errors xi

α · q ≥√

n

I Decision: distinguish from uniform (ai , bi)

State of the Art

(n/α)-GapSVP etc. ≤

quantum[Reg05]

search-LWE ≤

prime q = poly(n)[BFKL94,R05]

decision-LWE ≤

[R05,PW08,GPV08,PVW08,AGV09,ACPS09,. . . ]

crypto

6 / 16

Page 18: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Learning With ErrorsI Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2

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

a1 , b1 = 〈a1 , s〉+ x1 mod q

a2 , b2 = 〈a2 , s〉+ x2 mod q...

Uniform ai ∈ Znq , Gaussian errors xi

α · q ≥√

nI Decision: distinguish from uniform (ai , bi)

State of the Art

(n/α)-GapSVP etc. ≤

quantum[Reg05]

search-LWE ≤

prime q = poly(n)[BFKL94,R05]

decision-LWE ≤

[R05,PW08,GPV08,PVW08,AGV09,ACPS09,. . . ]

crypto

6 / 16

Page 19: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Learning With ErrorsI Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2

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

a1 , b1 = 〈a1 , s〉+ x1 mod q

a2 , b2 = 〈a2 , s〉+ x2 mod q...

Uniform ai ∈ Znq , Gaussian errors xi

α · q ≥√

nI Decision: distinguish from uniform (ai , bi)

State of the Art

(n/α)-GapSVP etc. ≤

quantum[Reg05]

search-LWE ≤

prime q = poly(n)[BFKL94,R05]

decision-LWE ≤

[R05,PW08,GPV08,PVW08,AGV09,ACPS09,. . . ]

crypto

6 / 16

Page 20: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP ≤ Learning With Errors

F Standard (n/α)-GapSVP: large LWE modulus q ≥ 2n

F ‘Improve ζ to (n/α)’-GapSVP: q ≈ ζ [ = poly(n) ]

2 LWE search = decision for large q [ � poly(n) ]

⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ]

3 New LWE-based chosen ciphertext-secure encryption

F Much simpler, milder assumption than prior CCA [PW08]

7 / 16

Page 21: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP ≤ Learning With Errors

F Standard (n/α)-GapSVP: large LWE modulus q ≥ 2n

F ‘Improve ζ to (n/α)’-GapSVP: q ≈ ζ [ = poly(n) ]

2 LWE search = decision for large q [ � poly(n) ]

⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ]

3 New LWE-based chosen ciphertext-secure encryption

F Much simpler, milder assumption than prior CCA [PW08]

7 / 16

Page 22: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP ≤ Learning With Errors

F Standard (n/α)-GapSVP: large LWE modulus q ≥ 2n

F ‘Improve ζ to (n/α)’-GapSVP: q ≈ ζ [ = poly(n) ]

2 LWE search = decision for large q [ � poly(n) ]

⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ]

3 New LWE-based chosen ciphertext-secure encryption

F Much simpler, milder assumption than prior CCA [PW08]

7 / 16

Page 23: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP ≤ Learning With Errors

F Standard (n/α)-GapSVP: large LWE modulus q ≥ 2n

F ‘Improve ζ to (n/α)’-GapSVP: q ≈ ζ [ = poly(n) ]

2 LWE search = decision for large q [ � poly(n) ]

⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ]

3 New LWE-based chosen ciphertext-secure encryption

F Much simpler, milder assumption than prior CCA [PW08]

7 / 16

Page 24: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP ≤ Learning With Errors

F Standard (n/α)-GapSVP: large LWE modulus q ≥ 2n

F ‘Improve ζ to (n/α)’-GapSVP: q ≈ ζ [ = poly(n) ]

2 LWE search = decision for large q [ � poly(n) ]

⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ]

3 New LWE-based chosen ciphertext-secure encryption

F Much simpler, milder assumption than prior CCA [PW08]

7 / 16

Page 25: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP ≤ Learning With Errors

F Standard (n/α)-GapSVP: large LWE modulus q ≥ 2n

F ‘Improve ζ to (n/α)’-GapSVP: q ≈ ζ [ = poly(n) ]

2 LWE search = decision for large q [ � poly(n) ]

⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ]

3 New LWE-based chosen ciphertext-secure encryption

F Much simpler, milder assumption than prior CCA [PW08]

7 / 16

Page 26: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

[Regev05] Reduction to LWE

BDD

LWE

LWE

BDD on L:d � λ/2

L∗

classical8 / 16

Page 27: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

[Regev05] Reduction to LWE

BDD BDD

LWE LWE

BDD on L:d � λ/2

L∗ L∗

quantum

classical

classical

8 / 16

Page 28: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

[Regev05] Reduction to LWE

BDD BDD

LWE LWE

BDD on L:d � λ/2

L∗ L∗

quantum

quantum

classical

classical

8 / 16

Page 29: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

[Regev05] Reduction to LWE

BDD BDD

LWE LWE

BDD on L:d � λ/2

L∗ L∗

quantum

quantum

classical

classical

GapSVPSIVP

8 / 16

Page 30: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Why Quantum?I “Obvious” answer: iterative step

BDDon L

L∗quantum FT

I Another answer: to make use of BDD/LWE oracle

1 Choose some x ∈ L

2 Perturb to y ≈ x

3 Invoke oracle on y

4 Returns x —we already knew that!

4 Quantum can“uncompute” x

x y BDD(LWE)

y

x

9 / 16

Page 31: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Why Quantum?I “Obvious” answer: iterative step

BDDon L

L∗quantum FT

I Another answer: to make use of BDD/LWE oracle

1 Choose some x ∈ L

2 Perturb to y ≈ x

3 Invoke oracle on y

4 Returns x —we already knew that!

4 Quantum can“uncompute” x

x y BDD(LWE)

y

x

9 / 16

Page 32: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Why Quantum?I “Obvious” answer: iterative step

BDDon L

L∗quantum FT

I Another answer: to make use of BDD/LWE oracle

1 Choose some x ∈ L

2 Perturb to y ≈ x

3 Invoke oracle on y

4 Returns x —we already knew that!

4 Quantum can“uncompute” x

x y BDD(LWE)

y

x

9 / 16

Page 33: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Why Quantum?I “Obvious” answer: iterative step

BDDon L

L∗quantum FT

I Another answer: to make use of BDD/LWE oracle

1 Choose some x ∈ L

2 Perturb to y ≈ x

3 Invoke oracle on y

4 Returns x —we already knew that!

4 Quantum can“uncompute” x

x y BDD(LWE)

y

x

9 / 16

Page 34: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our ApproachNew way of solving GapSVP in a reduction

“The Usual”

x y

BDD(LWE)

x

y

IMAGINE

x y

BDD(LWE)

??

y

Illegal BDD instance⇓

Incorrect (& unknown!)LWE distribution

SO WHAT!

When λ� d,oracle cannot guess x

⇓Distinguishes large λ

from small

I View as [GoldGold98] AM proof between reduction and oracle

10 / 16

Page 35: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our ApproachNew way of solving GapSVP in a reduction

“The Usual”

x y

BDD(LWE)

x

y

IMAGINE

x y

BDD(LWE)

??

y

Illegal BDD instance⇓

Incorrect (& unknown!)LWE distribution

SO WHAT!

When λ� d,oracle cannot guess x

⇓Distinguishes large λ

from small

I View as [GoldGold98] AM proof between reduction and oracle

10 / 16

Page 36: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our ApproachNew way of solving GapSVP in a reduction

“The Usual”

x y

BDD(LWE)

x

y

IMAGINE

x y

BDD(LWE)

??

y

Illegal BDD instance⇓

Incorrect (& unknown!)LWE distribution

SO WHAT!

When λ� d,oracle cannot guess x

⇓Distinguishes large λ

from small

I View as [GoldGold98] AM proof between reduction and oracle

10 / 16

Page 37: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our ApproachNew way of solving GapSVP in a reduction

“The Usual”

x y

BDD(LWE)

x

y

IMAGINE

x y

BDD(LWE)

??

y

Illegal BDD instance⇓

Incorrect (& unknown!)LWE distribution

SO WHAT!

When λ� d,oracle cannot guess x

⇓Distinguishes large λ

from small

I View as [GoldGold98] AM proof between reduction and oracle

10 / 16

Page 38: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our ApproachNew way of solving GapSVP in a reduction

“The Usual”

x y

BDD(LWE)

x

y

IMAGINE

x y

BDD(LWE)

??

y

Illegal BDD instance⇓

Incorrect (& unknown!)LWE distribution

SO WHAT!

When λ� d,oracle cannot guess x

⇓Distinguishes large λ

from small

I View as [GoldGold98] AM proof between reduction and oracle

10 / 16

Page 39: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Our ApproachNew way of solving GapSVP in a reduction

“The Usual”

x y

BDD(LWE)

x

y

IMAGINE

x y

BDD(LWE)

??

y

Illegal BDD instance⇓

Incorrect (& unknown!)LWE distribution

SO WHAT!

When λ� d,oracle cannot guess x

⇓Distinguishes large λ

from small

I View as [GoldGold98] AM proof between reduction and oracle

10 / 16

Page 40: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Technical Obstacles

1 What about in BDD → LWE reduction?(No quantum allowed!)

F Use [GPV08] sampling algorithm with ‘best available’ basis for L∗.

‘ζ-good’ basis⇒ LWE modulus q ≈ ζ.

(LLL-reduced basis is 2n-good.)

F ‘One shot’ (non-iterative) reduction

2 LWE search / decision equivalence?(Normally requires prime q = poly(n). . . )

Option 1: crypto directly based on search-LWE

Option 2: search = decision for ‘smooth’ q and Gaussian error

11 / 16

Page 41: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Technical Obstacles

1 What about in BDD → LWE reduction?(No quantum allowed!)

F Use [GPV08] sampling algorithm with ‘best available’ basis for L∗.

‘ζ-good’ basis⇒ LWE modulus q ≈ ζ.

(LLL-reduced basis is 2n-good.)

F ‘One shot’ (non-iterative) reduction

2 LWE search / decision equivalence?(Normally requires prime q = poly(n). . . )

Option 1: crypto directly based on search-LWE

Option 2: search = decision for ‘smooth’ q and Gaussian error

11 / 16

Page 42: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Technical Obstacles

1 What about in BDD → LWE reduction?(No quantum allowed!)

F Use [GPV08] sampling algorithm with ‘best available’ basis for L∗.

‘ζ-good’ basis⇒ LWE modulus q ≈ ζ.

(LLL-reduced basis is 2n-good.)

F ‘One shot’ (non-iterative) reduction

2 LWE search / decision equivalence?(Normally requires prime q = poly(n). . . )

Option 1: crypto directly based on search-LWE

Option 2: search = decision for ‘smooth’ q and Gaussian error

11 / 16

Page 43: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Technical Obstacles

1 What about in BDD → LWE reduction?(No quantum allowed!)

F Use [GPV08] sampling algorithm with ‘best available’ basis for L∗.

‘ζ-good’ basis⇒ LWE modulus q ≈ ζ.

(LLL-reduced basis is 2n-good.)

F ‘One shot’ (non-iterative) reduction

2 LWE search / decision equivalence?(Normally requires prime q = poly(n). . . )

Option 1: crypto directly based on search-LWE

Option 2: search = decision for ‘smooth’ q and Gaussian error

11 / 16

Page 44: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Technical Obstacles

1 What about in BDD → LWE reduction?(No quantum allowed!)

F Use [GPV08] sampling algorithm with ‘best available’ basis for L∗.

‘ζ-good’ basis⇒ LWE modulus q ≈ ζ.

(LLL-reduced basis is 2n-good.)

F ‘One shot’ (non-iterative) reduction

2 LWE search / decision equivalence?(Normally requires prime q = poly(n). . . )

Option 1: crypto directly based on search-LWE

Option 2: search = decision for ‘smooth’ q and Gaussian error

11 / 16

Page 45: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Technical Obstacles

1 What about in BDD → LWE reduction?(No quantum allowed!)

F Use [GPV08] sampling algorithm with ‘best available’ basis for L∗.

‘ζ-good’ basis⇒ LWE modulus q ≈ ζ.

(LLL-reduced basis is 2n-good.)

F ‘One shot’ (non-iterative) reduction

2 LWE search / decision equivalence?(Normally requires prime q = poly(n). . . )

Option 1: crypto directly based on search-LWE

Option 2: search = decision for ‘smooth’ q and Gaussian error

11 / 16

Page 46: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Details of ReductionGiven any (“ζ-good”) B:

1 Choose e←√

n · Bn

2 Let y = e mod B3 (Get some x ∈ L from LWE oracle somehow. . . )4 If y− x = e, output “large,” else output “small”

e

Analysis for λ ≤ 1:

Let 0 6= v ∈ L be shortest.

(√

n · Bn) ∩ (v +√

n · Bn) is a noticeablefraction of

√n · Bn.

⇒ Step 3 (no matter what it is!)can’t guess original e.

12 / 16

Page 47: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Details of ReductionGiven any (“ζ-good”) B:

1 Choose e←√

n · Bn

2 Let y = e mod B

3 (Get some x ∈ L from LWE oracle somehow. . . )4 If y− x = e, output “large,” else output “small”

ey

Analysis for λ ≤ 1:

Let 0 6= v ∈ L be shortest.

(√

n · Bn) ∩ (v +√

n · Bn) is a noticeablefraction of

√n · Bn.

⇒ Step 3 (no matter what it is!)can’t guess original e.

12 / 16

Page 48: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Details of ReductionGiven any (“ζ-good”) B:

1 Choose e←√

n · Bn

2 Let y = e mod B3 (Get some x ∈ L from LWE oracle somehow. . . )

4 If y− x = e, output “large,” else output “small”

ey

Analysis for λ ≤ 1:

Let 0 6= v ∈ L be shortest.

(√

n · Bn) ∩ (v +√

n · Bn) is a noticeablefraction of

√n · Bn.

⇒ Step 3 (no matter what it is!)can’t guess original e.

12 / 16

Page 49: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Details of ReductionGiven any (“ζ-good”) B:

1 Choose e←√

n · Bn

2 Let y = e mod B3 (Get some x ∈ L from LWE oracle somehow. . . )4 If y− x = e, output “large,” else output “small”

ey

Analysis for λ ≤ 1:

Let 0 6= v ∈ L be shortest.

(√

n · Bn) ∩ (v +√

n · Bn) is a noticeablefraction of

√n · Bn.

⇒ Step 3 (no matter what it is!)can’t guess original e.

12 / 16

Page 50: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Details of ReductionGiven any (“ζ-good”) B:

1 Choose e←√

n · Bn

2 Let y = e mod B3 (Get some x ∈ L from LWE oracle somehow. . . )4 If y− x = e, output “large,” else output “small”

ey

Analysis for λ ≤ 1:

Let 0 6= v ∈ L be shortest.

(√

n · Bn) ∩ (v +√

n · Bn) is a noticeablefraction of

√n · Bn.

⇒ Step 3 (no matter what it is!)can’t guess original e.

12 / 16

Page 51: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Details of ReductionGiven any (“ζ-good”) B:

1 Choose e←√

n · Bn

2 Let y = e mod B3 (Get some x ∈ L from LWE oracle somehow. . . )4 If y− x = e, output “large,” else output “small”

ey

Analysis for λ ≤ 1:

Let 0 6= v ∈ L be shortest.

(√

n · Bn) ∩ (v +√

n · Bn) is a noticeablefraction of

√n · Bn.

⇒ Step 3 (no matter what it is!)can’t guess original e.

12 / 16

Page 52: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Details of ReductionGiven any (“ζ-good”) B:

1 Choose e←√

n · Bn

2 Let y = e mod B3 (Get some x ∈ L from LWE oracle somehow. . . )4 If y− x = e, output “large,” else output “small”

ey

Analysis for λ ≤ 1:

Let 0 6= v ∈ L be shortest.

(√

n · Bn) ∩ (v +√

n · Bn) is a noticeablefraction of

√n · Bn.

⇒ Step 3 (no matter what it is!)can’t guess original e.

12 / 16

Page 53: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reduction: Step 3

Given “ζ-good” B and y = x + e for x = Bc ∈ L and ‖e‖ ≤√

n.

To generate sample (a, b) from As,α for s = c mod q and q = ζ · (√

n/α):

i Using B∗ = B−t, sample z← DL∗,ζ using [GPV08]

ii Write v = B∗z for z ∈ Zn. Outputa = z mod q and b ' 〈v, y〉 mod q

yx

Analysis for λ > n/α:

I ζ ≥ q · (√

n/λ) ⇒ uniform a ∈ Znq. [MR04]

I Condition on a. Then b = 〈v, x + e〉

= 〈B∗z,Bc〉+ 〈v, e〉 ' 〈a, s〉+ Dζ·‖e‖ mod q.

Finally, ζ · ‖e‖ ≤ α · q.

13 / 16

Page 54: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reduction: Step 3

Given “ζ-good” B and y = x + e for x = Bc ∈ L and ‖e‖ ≤√

n.

To generate sample (a, b) from As,α for s = c mod q and q = ζ · (√

n/α):

i Using B∗ = B−t, sample z← DL∗,ζ using [GPV08]

ii Write v = B∗z for z ∈ Zn. Outputa = z mod q and b ' 〈v, y〉 mod q

yx

Analysis for λ > n/α:

I ζ ≥ q · (√

n/λ) ⇒ uniform a ∈ Znq. [MR04]

I Condition on a. Then b = 〈v, x + e〉

= 〈B∗z,Bc〉+ 〈v, e〉 ' 〈a, s〉+ Dζ·‖e‖ mod q.

Finally, ζ · ‖e‖ ≤ α · q.

13 / 16

Page 55: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reduction: Step 3

Given “ζ-good” B and y = x + e for x = Bc ∈ L and ‖e‖ ≤√

n.

To generate sample (a, b) from As,α for s = c mod q and q = ζ · (√

n/α):

i Using B∗ = B−t, sample z← DL∗,ζ using [GPV08]

ii Write v = B∗z for z ∈ Zn. Outputa = z mod q and b ' 〈v, y〉 mod q

yx

Analysis for λ > n/α:

I ζ ≥ q · (√

n/λ) ⇒ uniform a ∈ Znq. [MR04]

I Condition on a. Then b = 〈v, x + e〉

= 〈B∗z,Bc〉+ 〈v, e〉 ' 〈a, s〉+ Dζ·‖e‖ mod q.

Finally, ζ · ‖e‖ ≤ α · q.

13 / 16

Page 56: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reduction: Step 3

Given “ζ-good” B and y = x + e for x = Bc ∈ L and ‖e‖ ≤√

n.

To generate sample (a, b) from As,α for s = c mod q and q = ζ · (√

n/α):

i Using B∗ = B−t, sample z← DL∗,ζ using [GPV08]

ii Write v = B∗z for z ∈ Zn. Outputa = z mod q and b ' 〈v, y〉 mod q

yx

Analysis for λ > n/α:

I ζ ≥ q · (√

n/λ) ⇒ uniform a ∈ Znq. [MR04]

I Condition on a. Then b = 〈v, x + e〉

= 〈B∗z,Bc〉+ 〈v, e〉 ' 〈a, s〉+ Dζ·‖e‖ mod q.

Finally, ζ · ‖e‖ ≤ α · q.

13 / 16

Page 57: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reduction: Step 3

Given “ζ-good” B and y = x + e for x = Bc ∈ L and ‖e‖ ≤√

n.

To generate sample (a, b) from As,α for s = c mod q and q = ζ · (√

n/α):

i Using B∗ = B−t, sample z← DL∗,ζ using [GPV08]

ii Write v = B∗z for z ∈ Zn. Outputa = z mod q and b ' 〈v, y〉 mod q

yx

Analysis for λ > n/α:

I ζ ≥ q · (√

n/λ) ⇒ uniform a ∈ Znq. [MR04]

I Condition on a. Then b = 〈v, x + e〉

= 〈B∗z,Bc〉+ 〈v, e〉 ' 〈a, s〉+ Dζ·‖e‖ mod q.

Finally, ζ · ‖e‖ ≤ α · q.

13 / 16

Page 58: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reduction: Step 3

Given “ζ-good” B and y = x + e for x = Bc ∈ L and ‖e‖ ≤√

n.

To generate sample (a, b) from As,α for s = c mod q and q = ζ · (√

n/α):

i Using B∗ = B−t, sample z← DL∗,ζ using [GPV08]

ii Write v = B∗z for z ∈ Zn. Outputa = z mod q and b ' 〈v, y〉 mod q

yx

Analysis for λ > n/α:

I ζ ≥ q · (√

n/λ) ⇒ uniform a ∈ Znq. [MR04]

I Condition on a. Then b = 〈v, x + e〉

= 〈B∗z,Bc〉+ 〈v, e〉 ' 〈a, s〉+ Dζ·‖e‖ mod q.

Finally, ζ · ‖e‖ ≤ α · q.

13 / 16

Page 59: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reducing Search to Decision

I Suppose D distinguishes (a ∈ Znq , b ≈ 〈a, s〉)← As,α from uniform.

I Let q = q1 · · · qt [ � poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n).

Find s: Chinese remaindering & “smoothing”I To test if s1 = 0 mod qi :

(a , b) 7→ (a + r · e1 , b) for r ← (q/qi) · Zqi

I If yes, maps As,α to itself. If not, maps As,α to uniform ?

Gaussians of width αq ≥ (q/qi) separated by (q/qi)

⇒ uniform∗ by smoothing bounds [MicReg04]

I (NB: for general error dists, hybrid argument over qi’s fails.)

14 / 16

Page 60: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reducing Search to Decision

I Suppose D distinguishes (a ∈ Znq , b ≈ 〈a, s〉)← As,α from uniform.

I Let q = q1 · · · qt [ � poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n).

Find s: Chinese remaindering & “smoothing”I To test if s1 = 0 mod qi :

(a , b) 7→ (a + r · e1 , b) for r ← (q/qi) · Zqi

I If yes, maps As,α to itself. If not, maps As,α to uniform ?

Gaussians of width αq ≥ (q/qi) separated by (q/qi)

⇒ uniform∗ by smoothing bounds [MicReg04]

I (NB: for general error dists, hybrid argument over qi’s fails.)

14 / 16

Page 61: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reducing Search to Decision

I Suppose D distinguishes (a ∈ Znq , b ≈ 〈a, s〉)← As,α from uniform.

I Let q = q1 · · · qt [ � poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n).

Find s: Chinese remaindering & “smoothing”I To test if s1 = 0 mod qi :

(a , b) 7→ (a + r · e1 , b) for r ← (q/qi) · Zqi

I If yes, maps As,α to itself. If not, maps As,α to uniform ?

Gaussians of width αq ≥ (q/qi) separated by (q/qi)

⇒ uniform∗ by smoothing bounds [MicReg04]

I (NB: for general error dists, hybrid argument over qi’s fails.)

14 / 16

Page 62: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reducing Search to Decision

I Suppose D distinguishes (a ∈ Znq , b ≈ 〈a, s〉)← As,α from uniform.

I Let q = q1 · · · qt [ � poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n).

Find s: Chinese remaindering & “smoothing”I To test if s1 = 0 mod qi :

(a , b) 7→ (a + r · e1 , b) for r ← (q/qi) · Zqi

I If yes, maps As,α to itself. If not, maps As,α to uniform ?

Gaussians of width αq ≥ (q/qi) separated by (q/qi)

⇒ uniform∗ by smoothing bounds [MicReg04]

I (NB: for general error dists, hybrid argument over qi’s fails.)

14 / 16

Page 63: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reducing Search to Decision

I Suppose D distinguishes (a ∈ Znq , b ≈ 〈a, s〉)← As,α from uniform.

I Let q = q1 · · · qt [ � poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n).

Find s: Chinese remaindering & “smoothing”I To test if s1 = 0 mod qi :

(a , b) 7→ (a + r · e1 , b) for r ← (q/qi) · Zqi

I If yes, maps As,α to itself. If not, maps As,α to uniform !

Gaussians of width αq ≥ (q/qi) separated by (q/qi)

⇒ uniform∗ by smoothing bounds [MicReg04]

I (NB: for general error dists, hybrid argument over qi’s fails.)

14 / 16

Page 64: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Reducing Search to Decision

I Suppose D distinguishes (a ∈ Znq , b ≈ 〈a, s〉)← As,α from uniform.

I Let q = q1 · · · qt [ � poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n).

Find s: Chinese remaindering & “smoothing”I To test if s1 = 0 mod qi :

(a , b) 7→ (a + r · e1 , b) for r ← (q/qi) · Zqi

I If yes, maps As,α to itself. If not, maps As,α to uniform !

Gaussians of width αq ≥ (q/qi) separated by (q/qi)

⇒ uniform∗ by smoothing bounds [MicReg04]

I (NB: for general error dists, hybrid argument over qi’s fails.)

14 / 16

Page 65: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95]

I Encryption conceals message, even given decryption oracle

Elementary Construction

I Follows “witness-recovering decryption” approach [PW08].

I Define gA(s, x) = Ats + x.Can generate A with “trapdoor” for g−1

A [GGH97,Ajt99,AP09]

I Distinguish gA1(s, x1), . . . , gAk(s, xk) [same s!] ⇐⇒ solve LWESo gA1 , . . . , gAk pseudorandom under ‘correlated inputs’ [RS09]

I Correlation-secure injective TDF⇒ CCA-secure encryptionBut much care needed to make gA “chosen-output secure.”

15 / 16

Page 66: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95]

I Encryption conceals message, even given decryption oracle

Elementary ConstructionI Follows “witness-recovering decryption” approach [PW08].

I Define gA(s, x) = Ats + x.Can generate A with “trapdoor” for g−1

A [GGH97,Ajt99,AP09]

I Distinguish gA1(s, x1), . . . , gAk(s, xk) [same s!] ⇐⇒ solve LWESo gA1 , . . . , gAk pseudorandom under ‘correlated inputs’ [RS09]

I Correlation-secure injective TDF⇒ CCA-secure encryptionBut much care needed to make gA “chosen-output secure.”

15 / 16

Page 67: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95]

I Encryption conceals message, even given decryption oracle

Elementary ConstructionI Follows “witness-recovering decryption” approach [PW08].

I Define gA(s, x) = Ats + x.Can generate A with “trapdoor” for g−1

A [GGH97,Ajt99,AP09]

I Distinguish gA1(s, x1), . . . , gAk(s, xk) [same s!] ⇐⇒ solve LWESo gA1 , . . . , gAk pseudorandom under ‘correlated inputs’ [RS09]

I Correlation-secure injective TDF⇒ CCA-secure encryptionBut much care needed to make gA “chosen-output secure.”

15 / 16

Page 68: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95]

I Encryption conceals message, even given decryption oracle

Elementary ConstructionI Follows “witness-recovering decryption” approach [PW08].

I Define gA(s, x) = Ats + x.Can generate A with “trapdoor” for g−1

A [GGH97,Ajt99,AP09]

I Distinguish gA1(s, x1), . . . , gAk(s, xk) [same s!] ⇐⇒ solve LWESo gA1 , . . . , gAk pseudorandom under ‘correlated inputs’ [RS09]

I Correlation-secure injective TDF⇒ CCA-secure encryptionBut much care needed to make gA “chosen-output secure.”

15 / 16

Page 69: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95]

I Encryption conceals message, even given decryption oracle

Elementary ConstructionI Follows “witness-recovering decryption” approach [PW08].

I Define gA(s, x) = Ats + x.Can generate A with “trapdoor” for g−1

A [GGH97,Ajt99,AP09]

I Distinguish gA1(s, x1), . . . , gAk(s, xk) [same s!] ⇐⇒ solve LWESo gA1 , . . . , gAk pseudorandom under ‘correlated inputs’ [RS09]

I Correlation-secure injective TDF⇒ CCA-secure encryptionBut much care needed to make gA “chosen-output secure.”

15 / 16

Page 70: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Epilogue

1 Using our main approach & other ideas, [LyuMic09] showed

(γ√

n)-GapSVP ≤ γ-uSVP ≤ crypto [AjtaiDwork97,Regev03]

“Unifies” two styles of cryptosystems [AD97,Reg03] and [Reg05,. . . ]under (almost) same assumption.

2 Open: classical, iterative reduction to LWE

Ought to solve GapSVP, SIVP, etc. for small q = poly(n)

3 Open: complexity of ‘Improve ζ to γ’-GapSVP?

NP-hard for nontrivial ζ? Better algorithms?

16 / 16

Page 71: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Epilogue

1 Using our main approach & other ideas, [LyuMic09] showed

(γ√

n)-GapSVP ≤ γ-uSVP ≤ crypto [AjtaiDwork97,Regev03]

“Unifies” two styles of cryptosystems [AD97,Reg03] and [Reg05,. . . ]under (almost) same assumption.

2 Open: classical, iterative reduction to LWE

Ought to solve GapSVP, SIVP, etc. for small q = poly(n)

3 Open: complexity of ‘Improve ζ to γ’-GapSVP?

NP-hard for nontrivial ζ? Better algorithms?

16 / 16

Page 72: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Epilogue

1 Using our main approach & other ideas, [LyuMic09] showed

(γ√

n)-GapSVP ≤ γ-uSVP ≤ crypto [AjtaiDwork97,Regev03]

“Unifies” two styles of cryptosystems [AD97,Reg03] and [Reg05,. . . ]under (almost) same assumption.

2 Open: classical, iterative reduction to LWE

Ought to solve GapSVP, SIVP, etc. for small q = poly(n)

3 Open: complexity of ‘Improve ζ to γ’-GapSVP?

NP-hard for nontrivial ζ? Better algorithms?

16 / 16

Page 73: Public-Key Cryptosystems from the Worst-Case …cpeikert/pubs/slides-svp...Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI !Georgia Tech Impagliazzo’s

Epilogue

1 Using our main approach & other ideas, [LyuMic09] showed

(γ√

n)-GapSVP ≤ γ-uSVP ≤ crypto [AjtaiDwork97,Regev03]

“Unifies” two styles of cryptosystems [AD97,Reg03] and [Reg05,. . . ]under (almost) same assumption.

2 Open: classical, iterative reduction to LWE

Ought to solve GapSVP, SIVP, etc. for small q = poly(n)

3 Open: complexity of ‘Improve ζ to γ’-GapSVP?

NP-hard for nontrivial ζ? Better algorithms?

16 / 16