Public-Key Cryptosystems from the Worst-Case Shortest Vector - - PowerPoint PPT Presentation

public key cryptosystems from the worst case shortest
SMART_READER_LITE
LIVE PREVIEW

Public-Key Cryptosystems from the Worst-Case Shortest Vector - - PowerPoint PPT Presentation

Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI Georgia Tech Impagliazzos World Workshop 1 / 16 This Talk 1 State of Lattice-Based Cryptography 2 Main Result: Public-Key Encryption based on GapSVP


slide-1
SLIDE 1

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

SRI → Georgia Tech Impagliazzo’s World Workshop

1 / 16

slide-2
SLIDE 2

This Talk

1 State of Lattice-Based Cryptography 2 Main Result: Public-Key Encryption based on GapSVP 3 Proof & Future Work

2 / 16

slide-3
SLIDE 3

Shortest Vector Problem(s)

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

n

  • i=1

(Z · bi)

λ

b1 b2 3 / 16

slide-4
SLIDE 4

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) ◮ Given B, decide: λ ≤ 1

  • r

λ > γ ?

3 / 16

slide-5
SLIDE 5

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) ◮ Given B, decide: λ ≤ 1

  • r

λ > γ ?

3 / 16

slide-6
SLIDE 6

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) ◮ Given B, decide: λ ≤ 1

  • r

λ > γ ? Unique SVP (γ-uSVP) ◮ Given B with ‘γ-unique’ shortest vector, find it.

3 / 16

slide-7
SLIDE 7

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]

4 / 16

slide-8
SLIDE 8

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]

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

4 / 16

slide-9
SLIDE 9

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]

◮ 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

slide-10
SLIDE 10

Taxonomy of Lattice-Based Crypto

‘minicrypt’ OWF [Ajt96,. . . ] ID schemes [MV03,Lyu08] Sigs [LM08,GPV08]

5 / 16

slide-11
SLIDE 11

Taxonomy of Lattice-Based Crypto

‘minicrypt’ OWF [Ajt96,. . . ] ID schemes [MV03,Lyu08] Sigs [LM08,GPV08]

☞ GapSVP etc. hard

5 / 16

slide-12
SLIDE 12

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]

☞ GapSVP etc. hard

5 / 16

slide-13
SLIDE 13

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

5 / 16

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Learning With Errors

◮ Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2

6 / 16

slide-16
SLIDE 16

Learning With Errors

◮ Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

a1 , b1 ≈ a1 , s mod q a2 , b2 ≈ a2 , s mod q . . .

6 / 16

slide-17
SLIDE 17

Learning With Errors

◮ Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

a1 , b1 = a1 , s + x1 mod q a2 , b2 = a2 , s + x2 mod q . . . Uniform ai ∈ Zn

q , Gaussian errors xi

α · q ≥ √n

6 / 16

slide-18
SLIDE 18

Learning With Errors

◮ Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

a1 , b1 = a1 , s + x1 mod q a2 , b2 = a2 , s + x2 mod q . . . Uniform ai ∈ Zn

q , Gaussian errors xi

α · q ≥ √n ◮ Decision: distinguish from uniform (ai , bi)

6 / 16

slide-19
SLIDE 19

Learning With Errors

◮ Generalizes ‘learning parity with noise’: dim n, modulus q ≥ 2 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

a1 , b1 = a1 , s + x1 mod q a2 , b2 = a2 , s + x2 mod q . . . Uniform ai ∈ Zn

q , Gaussian errors xi

α · q ≥ √n ◮ 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

slide-20
SLIDE 20

Our Results

First public-key encryption based on classical GapSVP hardness

7 / 16

slide-21
SLIDE 21

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP

≤ Learning With Errors

7 / 16

slide-22
SLIDE 22

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP

≤ Learning With Errors

⋆ Standard (n/α)-GapSVP:

large LWE modulus q ≥ 2n

7 / 16

slide-23
SLIDE 23

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP

≤ Learning With Errors

⋆ Standard (n/α)-GapSVP:

large LWE modulus q ≥ 2n

⋆ ‘Improve ζ to (n/α)’-GapSVP:

q ≈ ζ

[ = poly(n) ]

7 / 16

slide-24
SLIDE 24

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP

≤ Learning With Errors

⋆ Standard (n/α)-GapSVP:

large LWE modulus q ≥ 2n

⋆ ‘Improve ζ to (n/α)’-GapSVP:

q ≈ ζ

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

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

7 / 16

slide-25
SLIDE 25

Our Results

First public-key encryption based on classical GapSVP hardness

1 Classical reduction: GapSVP

≤ Learning With Errors

⋆ Standard (n/α)-GapSVP:

large LWE modulus q ≥ 2n

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

⋆ Much simpler, milder assumption than prior CCA [PW08] 7 / 16

slide-26
SLIDE 26

[Regev05] Reduction to LWE

BDD LWE

BDD on L: d ≪ λ/2 L∗ classical

8 / 16

slide-27
SLIDE 27

[Regev05] Reduction to LWE

BDD BDD LWE LWE

BDD on L: d ≪ λ/2 L∗ L∗

q u a n t u m

classical classical

8 / 16

slide-28
SLIDE 28

[Regev05] Reduction to LWE

BDD BDD LWE LWE

BDD on L: d ≪ λ/2 L∗ L∗

q u a n t u m q u a n t u m

classical classical

8 / 16

slide-29
SLIDE 29

[Regev05] Reduction to LWE

BDD BDD LWE LWE

BDD on L: d ≪ λ/2 L∗ L∗

q u a n t u m q u a n t u m

classical classical

GapSVP SIVP

8 / 16

slide-30
SLIDE 30

Why Quantum?

◮ “Obvious” answer: iterative step

BDD

  • n L

L∗ quantum FT

9 / 16

slide-31
SLIDE 31

Why Quantum?

◮ “Obvious” answer: iterative step

BDD

  • n L

L∗ quantum FT

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

1 Choose some x ∈ L 2 Perturb to y ≈ x 3 Invoke oracle on y

x y

BDD (LWE) y

9 / 16

slide-32
SLIDE 32

Why Quantum?

◮ “Obvious” answer: iterative step

BDD

  • n L

L∗ quantum FT

◮ 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!

x y

BDD (LWE) y x

9 / 16

slide-33
SLIDE 33

Why Quantum?

◮ “Obvious” answer: iterative step

BDD

  • n L

L∗ quantum FT

◮ 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! ✔ Quantum can “uncompute” x

x y

BDD (LWE) y x

9 / 16

slide-34
SLIDE 34

Our Approach

New way of solving GapSVP in a reduction

10 / 16

slide-35
SLIDE 35

Our Approach

New way of solving GapSVP in a reduction “The Usual”

x y

BDD (LWE) x y

10 / 16

slide-36
SLIDE 36

Our Approach

New way of solving GapSVP in a reduction “The Usual”

x y

BDD (LWE) x y IMAGINE

x y

BDD (LWE) ?? y

10 / 16

slide-37
SLIDE 37

Our Approach

New 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

10 / 16

slide-38
SLIDE 38

Our Approach

New 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,

  • racle cannot guess x

⇓ Distinguishes large λ from small

10 / 16

slide-39
SLIDE 39

Our Approach

New 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,

  • racle cannot guess x

⇓ Distinguishes large λ from small ◮ View as [GoldGold98] AM proof between reduction and oracle

10 / 16

slide-40
SLIDE 40

Technical Obstacles

1 What about

in BDD → LWE reduction?

(No quantum allowed!)

11 / 16

slide-41
SLIDE 41

Technical Obstacles

1 What about

in BDD → LWE reduction?

(No quantum allowed!)

⋆ Use [GPV08] sampling algorithm with ‘best available’ basis for L∗. 11 / 16

slide-42
SLIDE 42

Technical Obstacles

1 What about

in BDD → LWE reduction?

(No quantum allowed!)

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

‘ζ-good’ basis ⇒ LWE modulus q ≈ ζ. (LLL-reduced basis is 2n-good.)

11 / 16

slide-43
SLIDE 43

Technical Obstacles

1 What about

in BDD → LWE reduction?

(No quantum allowed!)

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

‘ζ-good’ basis ⇒ LWE modulus q ≈ ζ. (LLL-reduced basis is 2n-good.)

⋆ ‘One shot’ (non-iterative) reduction 11 / 16

slide-44
SLIDE 44

Technical Obstacles

1 What about

in BDD → LWE reduction?

(No quantum allowed!)

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

‘ζ-good’ basis ⇒ LWE modulus q ≈ ζ. (LLL-reduced basis is 2n-good.)

⋆ ‘One shot’ (non-iterative) reduction

2 LWE search / decision equivalence?

(Normally requires prime q = poly(n). . . )

11 / 16

slide-45
SLIDE 45

Technical Obstacles

1 What about

in BDD → LWE reduction?

(No quantum allowed!)

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

‘ζ-good’ basis ⇒ LWE modulus q ≈ ζ. (LLL-reduced basis is 2n-good.)

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

slide-46
SLIDE 46

Details of Reduction

Given any (“ζ-good”) B:

1 Choose e ← √n · Bn

e 12 / 16

slide-47
SLIDE 47

Details of Reduction

Given any (“ζ-good”) B:

1 Choose e ← √n · Bn 2 Let y = e mod B

e y 12 / 16

slide-48
SLIDE 48

Details of Reduction

Given any (“ζ-good”) B:

1 Choose e ← √n · Bn 2 Let y = e mod B 3 (Get some x ∈ L from LWE oracle somehow. . . )

e y 12 / 16

slide-49
SLIDE 49

Details of Reduction

Given 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”

e y 12 / 16

slide-50
SLIDE 50

Details of Reduction

Given 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”

e y

Analysis for λ ≤ 1: Let 0 = v ∈ L be shortest.

12 / 16

slide-51
SLIDE 51

Details of Reduction

Given 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”

e y

Analysis for λ ≤ 1: Let 0 = v ∈ L be shortest. (√n · Bn) ∩ (v + √n · Bn) is a noticeable fraction of √n · Bn.

12 / 16

slide-52
SLIDE 52

Details of Reduction

Given 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”

e y

Analysis for λ ≤ 1: Let 0 = v ∈ L be shortest. (√n · Bn) ∩ (v + √n · Bn) is a noticeable fraction of √n · Bn. ⇒ Step 3 (no matter what it is!) can’t guess original e.

12 / 16

slide-53
SLIDE 53

Reduction: Step 3

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

y x 13 / 16

slide-54
SLIDE 54

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/α):

y x 13 / 16

slide-55
SLIDE 55

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]

y x 13 / 16

slide-56
SLIDE 56

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

a = z mod q and b ≃ v, y mod q

y x 13 / 16

slide-57
SLIDE 57

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

a = z mod q and b ≃ v, y mod q

y x

Analysis for λ > n/α: ◮ ζ ≥ q · (√n/λ) ⇒ uniform a ∈ Zn

  • q. [MR04]

13 / 16

slide-58
SLIDE 58

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

a = z mod q and b ≃ v, y mod q

y x

Analysis for λ > n/α: ◮ ζ ≥ q · (√n/λ) ⇒ uniform a ∈ Zn

  • q. [MR04]

◮ Condition on a. Then b = v, x + e = B∗z, Bc + v, e ≃ a, s + Dζ·e mod q. Finally, ζ · e ≤ α · q.

13 / 16

slide-59
SLIDE 59

Reducing Search to Decision

◮ Suppose D distinguishes (a ∈ Zn

q , b ≈ a, s) ← As,α from uniform.

14 / 16

slide-60
SLIDE 60

Reducing Search to Decision

◮ Suppose D distinguishes (a ∈ Zn

q , b ≈ a, s) ← As,α from uniform.

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

14 / 16

slide-61
SLIDE 61

Reducing Search to Decision

◮ Suppose D distinguishes (a ∈ Zn

q , b ≈ a, s) ← As,α from uniform.

◮ Let q = q1 · · · qt [ ≫ poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n). Find s: Chinese remaindering & “smoothing” ◮ To test if s1 = 0 mod qi : (a , b) → (a + r · e1 , b) for r ← (q/qi) · Zqi

14 / 16

slide-62
SLIDE 62

Reducing Search to Decision

◮ Suppose D distinguishes (a ∈ Zn

q , b ≈ a, s) ← As,α from uniform.

◮ Let q = q1 · · · qt [ ≫ poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n). Find s: Chinese remaindering & “smoothing” ◮ To test if s1 = 0 mod qi : (a , b) → (a + r · e1 , b) for r ← (q/qi) · Zqi ◮ If yes, maps As,α to itself. If not, maps As,α to uniform ?

14 / 16

slide-63
SLIDE 63

Reducing Search to Decision

◮ Suppose D distinguishes (a ∈ Zn

q , b ≈ a, s) ← As,α from uniform.

◮ Let q = q1 · · · qt [ ≫ poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n). Find s: Chinese remaindering & “smoothing” ◮ To test if s1 = 0 mod qi : (a , b) → (a + r · e1 , b) for r ← (q/qi) · Zqi ◮ 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]

14 / 16

slide-64
SLIDE 64

Reducing Search to Decision

◮ Suppose D distinguishes (a ∈ Zn

q , b ≈ a, s) ← As,α from uniform.

◮ Let q = q1 · · · qt [ ≫ poly(n) ] for distinct (1/α) ≤ qi ≤ poly(n). Find s: Chinese remaindering & “smoothing” ◮ To test if s1 = 0 mod qi : (a , b) → (a + r · e1 , b) for r ← (q/qi) · Zqi ◮ 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] ◮ (NB: for general error dists, hybrid argument over qi’s fails.)

14 / 16

slide-65
SLIDE 65

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95] ◮ Encryption conceals message, even given decryption oracle

15 / 16

slide-66
SLIDE 66

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95] ◮ Encryption conceals message, even given decryption oracle Elementary Construction ◮ Follows “witness-recovering decryption” approach [PW08].

15 / 16

slide-67
SLIDE 67

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95] ◮ Encryption conceals message, even given decryption oracle Elementary Construction ◮ Follows “witness-recovering decryption” approach [PW08]. ◮ Define gA(s, x) = Ats + x. Can generate A with “trapdoor” for g−1

A

[GGH97,Ajt99,AP09]

15 / 16

slide-68
SLIDE 68

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95] ◮ Encryption conceals message, even given decryption oracle Elementary Construction ◮ Follows “witness-recovering decryption” approach [PW08]. ◮ Define gA(s, x) = Ats + x. Can generate A with “trapdoor” for g−1

A

[GGH97,Ajt99,AP09]

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

15 / 16

slide-69
SLIDE 69

Chosen-Ciphertext Security

Intuitive Definition [RS91,DDN91,NY95] ◮ Encryption conceals message, even given decryption oracle Elementary Construction ◮ Follows “witness-recovering decryption” approach [PW08]. ◮ Define gA(s, x) = Ats + x. Can generate A with “trapdoor” for g−1

A

[GGH97,Ajt99,AP09]

◮ Distinguish gA1(s, x1), . . . , gAk(s, xk) [same s!] ⇐ ⇒ solve LWE So gA1, . . . , gAk pseudorandom under ‘correlated inputs’ [RS09] ◮ Correlation-secure injective TDF ⇒ CCA-secure encryption But much care needed to make gA “chosen-output secure.”

15 / 16

slide-70
SLIDE 70

Epilogue

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

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

16 / 16

slide-71
SLIDE 71

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.

16 / 16

slide-72
SLIDE 72

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)

16 / 16

slide-73
SLIDE 73

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