The Learning with Rounding Problem: Reductions and Applications - - PowerPoint PPT Presentation

the learning with rounding problem reductions and
SMART_READER_LITE
LIVE PREVIEW

The Learning with Rounding Problem: Reductions and Applications - - PowerPoint PPT Presentation

The Learning with Rounding Problem: Reductions and Applications Alon Rosen IDC Herzliya (Thanks: Chris Peikert) Mysore Park Theory Workshop August 15, 2013 1 / 20 Pseudorandom Functions [GGM84] A family F = { F s : { 0 , 1 } k D


slide-1
SLIDE 1

The Learning with Rounding Problem: Reductions and Applications Alon Rosen

IDC Herzliya (Thanks: Chris Peikert) Mysore Park Theory Workshop August 15, 2013

1 / 20

slide-2
SLIDE 2

Pseudorandom Functions

[GGM’84]

◮ A family F = {Fs : {0, 1}k → D} s.t. given adaptive query access, Fs ← F

c

≈ random func U ?? xi Fs(xi) xi U(xi) (The “seed” or “secret key” for Fs is s.)

(Images courtesy xkcd.org) 2 / 20

slide-3
SLIDE 3

Pseudorandom Functions

[GGM’84]

◮ A family F = {Fs : {0, 1}k → D} s.t. given adaptive query access, Fs ← F

c

≈ random func U ?? xi Fs(xi) xi U(xi) (The “seed” or “secret key” for Fs is s.) ◮ Many applications in symmetric cryptography: (efficient) encryption, identification, authentication, . . .

(Images courtesy xkcd.org) 2 / 20

slide-4
SLIDE 4

How to Construct PRFs

1 Heuristically: AES, Blowfish.

✔ Fast! ✔ Withstand known cryptanalytic techniques (linear, differential, . . . )

3 / 20

slide-5
SLIDE 5

How to Construct PRFs

1 Heuristically: AES, Blowfish.

✔ Fast! ✔ Withstand known cryptanalytic techniques (linear, differential, . . . ) ✗ PRF security is subtle: want provable (reduction) guarantees

3 / 20

slide-6
SLIDE 6

How to Construct PRFs

1 Heuristically: AES, Blowfish.

✔ Fast! ✔ Withstand known cryptanalytic techniques (linear, differential, . . . ) ✗ PRF security is subtle: want provable (reduction) guarantees

2 Goldreich-Goldwasser-Micali [GGM’84]

✔ Based on any (doubling) PRG. Fs(x1 · · · xk) = Gxk(· · · Gx1(s) · · · )

3 / 20

slide-7
SLIDE 7

How to Construct PRFs

1 Heuristically: AES, Blowfish.

✔ Fast! ✔ Withstand known cryptanalytic techniques (linear, differential, . . . ) ✗ PRF security is subtle: want provable (reduction) guarantees

2 Goldreich-Goldwasser-Micali [GGM’84]

✔ Based on any (doubling) PRG. Fs(x1 · · · xk) = Gxk(· · · Gx1(s) · · · ) ✗ Inherently sequential: ≥ k iterations (circuit depth)

3 / 20

slide-8
SLIDE 8

How to Construct PRFs

1 Heuristically: AES, Blowfish.

✔ Fast! ✔ Withstand known cryptanalytic techniques (linear, differential, . . . ) ✗ PRF security is subtle: want provable (reduction) guarantees

2 Goldreich-Goldwasser-Micali [GGM’84]

✔ Based on any (doubling) PRG. Fs(x1 · · · xk) = Gxk(· · · Gx1(s) · · · ) ✗ Inherently sequential: ≥ k iterations (circuit depth)

3 Naor-Reingold [NR’95,NR’97,NRR’00]

✔ Based on “synthesizers” or number theory (DDH, factoring) ✔ Low-depth: NC2, NC1 or even TC0 [O(1) depth w/ threshold gates]

3 / 20

slide-9
SLIDE 9

How to Construct PRFs

1 Heuristically: AES, Blowfish.

✔ Fast! ✔ Withstand known cryptanalytic techniques (linear, differential, . . . ) ✗ PRF security is subtle: want provable (reduction) guarantees

2 Goldreich-Goldwasser-Micali [GGM’84]

✔ Based on any (doubling) PRG. Fs(x1 · · · xk) = Gxk(· · · Gx1(s) · · · ) ✗ Inherently sequential: ≥ k iterations (circuit depth)

3 Naor-Reingold [NR’95,NR’97,NRR’00]

✔ Based on “synthesizers” or number theory (DDH, factoring) ✔ Low-depth: NC2, NC1 or even TC0 [O(1) depth w/ threshold gates] ✗ Large circuits that need much preprocessing ✗ No “post-quantum” construction under standard assumptions

3 / 20

slide-10
SLIDE 10

Why Not Try Lattices?

??

= ⇒ Fs ← F

4 / 20

slide-11
SLIDE 11

Why Not Try Lattices?

??

= ⇒ Fs ← F

Advantages of Lattice Crypto Schemes

◮ Simple & efficient: linear, highly parallel operations ◮ Resist quantum attacks (so far) ◮ Secure under worst-case hardness assumptions [Ajtai’96,. . . ]

4 / 20

slide-12
SLIDE 12

Why Not Try Lattices?

??

= ⇒ Fs ← F

Advantages of Lattice Crypto Schemes

◮ Simple & efficient: linear, highly parallel operations ◮ Resist quantum attacks (so far) ◮ Secure under worst-case hardness assumptions [Ajtai’96,. . . ]

Disadvantages

✗ Only known PRF is generic GGM (not parallel or efficient)

4 / 20

slide-13
SLIDE 13

Why Not Try Lattices?

??

= ⇒ Fs ← F

Advantages of Lattice Crypto Schemes

◮ Simple & efficient: linear, highly parallel operations ◮ Resist quantum attacks (so far) ◮ Secure under worst-case hardness assumptions [Ajtai’96,. . . ]

Disadvantages

✗ Only known PRF is generic GGM (not parallel or efficient) ✗✗ We don’t even have practical PRGs from lattices: biased errors

4 / 20

slide-14
SLIDE 14

PRFs From Lattices [Banerjee, Peikert, Rosen’12]

1 Low-depth, relatively small-circuit PRFs from lattices / (ring-)LWE

5 / 20

slide-15
SLIDE 15

PRFs From Lattices [Banerjee, Peikert, Rosen’12]

1 Low-depth, relatively small-circuit PRFs from lattices / (ring-)LWE

⋆ Synthesizer-based PRF in TC1 ⊆ NC2 a la [NR’95] ⋆ Direct construction in TC0 ⊆ NC1 analogous to [NR’97,NRR’00] 5 / 20

slide-16
SLIDE 16

PRFs From Lattices [Banerjee, Peikert, Rosen’12]

1 Low-depth, relatively small-circuit PRFs from lattices / (ring-)LWE

⋆ Synthesizer-based PRF in TC1 ⊆ NC2 a la [NR’95] ⋆ Direct construction in TC0 ⊆ NC1 analogous to [NR’97,NRR’00]

2 Main technique: Learning With Rounding (LWR)

“derandomization” of LWE: deterministic errors

5 / 20

slide-17
SLIDE 17

PRFs From Lattices [Banerjee, Peikert, Rosen’12]

1 Low-depth, relatively small-circuit PRFs from lattices / (ring-)LWE

⋆ Synthesizer-based PRF in TC1 ⊆ NC2 a la [NR’95] ⋆ Direct construction in TC0 ⊆ NC1 analogous to [NR’97,NRR’00]

2 Main technique: Learning With Rounding (LWR)

“derandomization” of LWE: deterministic errors Also gives more practical PRGs, GGM-type PRFs, encryption, . . .

5 / 20

slide-18
SLIDE 18

Synthesizers and PRFs

[NaorReingold’95]

Synthesizer

◮ A deterministic function S : D × D → D s.t. for any m = poly: for a1, . . . , am, b1, . . . , bm ← D, { S(ai , bj) }

c

≈ Unif(Dm×m).

6 / 20

slide-19
SLIDE 19

Synthesizers and PRFs

[NaorReingold’95]

Synthesizer

◮ A deterministic function S : D × D → D s.t. for any m = poly: for a1, . . . , am, b1, . . . , bm ← D, { S(ai , bj) }

c

≈ Unif(Dm×m). b1 b2 · · · a1 S(a1, b1) S(a1, b2) · · · a2 S(a2, b1) S(a2, b2) · · · . . . ... vs. U1,1 U1,2 · · · U2,1 U2,2 · · · ...

6 / 20

slide-20
SLIDE 20

Synthesizers and PRFs

[NaorReingold’95]

Synthesizer

◮ A deterministic function S : D × D → D s.t. for any m = poly: for a1, . . . , am, b1, . . . , bm ← D, { S(ai , bj) }

c

≈ Unif(Dm×m). b1 b2 · · · a1 S(a1, b1) S(a1, b2) · · · a2 S(a2, b1) S(a2, b2) · · · . . . ... vs. U1,1 U1,2 · · · U2,1 U2,2 · · · ... ◮ Alternative view: an (almost) length-squaring PRG with locality: maps D2m → Dm2, and each output depends on only 2 inputs.

6 / 20

slide-21
SLIDE 21

Synthesizers and PRFs

[NaorReingold’95]

PRF from Synthesizer, Recursively

◮ Synthesizer S : D × D → D, where { S(ai , bj) }

c

≈ Unif(Dm×m).

7 / 20

slide-22
SLIDE 22

Synthesizers and PRFs

[NaorReingold’95]

PRF from Synthesizer, Recursively

◮ Synthesizer S : D × D → D, where { S(ai , bj) }

c

≈ Unif(Dm×m). ◮ Base case: “one-bit” PRF Fs0,s1(x) := sx ∈ D. ✔

7 / 20

slide-23
SLIDE 23

Synthesizers and PRFs

[NaorReingold’95]

PRF from Synthesizer, Recursively

◮ Synthesizer S : D × D → D, where { S(ai , bj) }

c

≈ Unif(Dm×m). ◮ Base case: “one-bit” PRF Fs0,s1(x) := sx ∈ D. ✔ ◮ Input doubling: given k-bit PRF family F = {F : {0, 1}k → D}, define a {0, 1}2k → D function with seed Fℓ, Fr ← F: F(Fℓ,Fr)(xℓ , xr) = S

  • Fℓ(xℓ) , Fr(xr)
  • .

7 / 20

slide-24
SLIDE 24

Synthesizers and PRFs

[NaorReingold’95]

PRF from Synthesizer, Recursively

◮ Synthesizer S : D × D → D, where { S(ai , bj) }

c

≈ Unif(Dm×m). ◮ Base case: “one-bit” PRF Fs0,s1(x) := sx ∈ D. ✔ ◮ Input doubling: given k-bit PRF family F = {F : {0, 1}k → D}, define a {0, 1}2k → D function with seed Fℓ, Fr ← F: F(Fℓ,Fr)(xℓ , xr) = S

  • Fℓ(xℓ) , Fr(xr)
  • .

S S s1,x1 s1,0 , s1,1 s2,x2 s2,0 , s2,1 S s3,x3 s3,0 , s3,1 s4,x4 s4,0 , s4,1 F{si,b}(x1 · · · x4)

7 / 20

slide-25
SLIDE 25

Synthesizers and PRFs

[NaorReingold’95]

PRF from Synthesizer, Recursively

◮ Synthesizer S : D × D → D, where { S(ai , bj) }

c

≈ Unif(Dm×m). ◮ Base case: “one-bit” PRF Fs0,s1(x) := sx ∈ D. ✔ ◮ Input doubling: given k-bit PRF family F = {F : {0, 1}k → D}, define a {0, 1}2k → D function with seed Fℓ, Fr ← F: F(Fℓ,Fr)(xℓ , xr) = S

  • Fℓ(xℓ) , Fr(xr)
  • .

S S s1,x1 s1,0 , s1,1 s2,x2 s2,0 , s2,1 S s3,x3 s3,0 , s3,1 s4,x4 s4,0 , s4,1 F{si,b}(x1 · · · x4) ◮ Security: the queries Fℓ(xℓ) and Fr(xr) define (pseudo)random inputs a1, a2, . . . ∈ D and b1, b2, . . . ∈ D to synthesizer S.

7 / 20

slide-26
SLIDE 26

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2

8 / 20

slide-27
SLIDE 27

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

a1 ← Zn

q , b1 = s , a1 + e1

a2 ← Zn

q , b2 = s , a2 + e2

. . .

8 / 20

slide-28
SLIDE 28

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2, ‘error rate’ α ≪ 1 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

a1 ← Zn

q , b1 = s , a1 + e1

a2 ← Zn

q , b2 = s , a2 + e2

. . . Errors ei ← χ = Gaussian over Z, param αq α · q > √n

8 / 20

slide-29
SLIDE 29

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2, ‘error rate’ α ≪ 1 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

a1 ← Zn

q , b1 = s , a1 + e1

a2 ← Zn

q , b2 = s , a2 + e2

. . . Errors ei ← χ = Gaussian over Z, param αq α · q > √n ◮ Decision: distinguish (ai, bi) from uniform (ai, bi) pairs

8 / 20

slide-30
SLIDE 30

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2, ‘error rate’ α ≪ 1 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

A =   | | a1 · · · am | |   , bt = stA + et Errors ei ← χ = Gaussian over Z, param αq α · q > √n ◮ Decision: distinguish (ai, bi) from uniform (ai, bi) pairs

8 / 20

slide-31
SLIDE 31

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2, ‘error rate’ α ≪ 1 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

A =   | | a1 · · · am | |   , bt = stA + et Errors ei ← χ = Gaussian over Z, param αq α · q > √n ◮ Decision: distinguish (ai, bi) from uniform (ai, bi) pairs Generalizes LPN (q = 2, Bernoulli noise)

[AL’88,BFKL’94,. . . ]

8 / 20

slide-32
SLIDE 32

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2, ‘error rate’ α ≪ 1 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

A =   | | a1 · · · am | |   , bt = stA + et Errors ei ← χ = Gaussian over Z, param αq α · q > √n ◮ Decision: distinguish (ai, bi) from uniform (ai, bi) pairs Generalizes LPN (q = 2, Bernoulli noise)

[AL’88,BFKL’94,. . . ]

◮ Why error αq > √n?

⋆ Required by worst-case hardness proofs [R’05,P’09,MP’12,BLPRS’13] 8 / 20

slide-33
SLIDE 33

Learning With Errors

[Regev’05]

◮ Dimension n (security param), modulus q ≥ 2, ‘error rate’ α ≪ 1 ◮ Search: find s ∈ Zn

q given ‘noisy random inner products’

A =   | | a1 · · · am | |   , bt = stA + et Errors ei ← χ = Gaussian over Z, param αq α · q > √n ◮ Decision: distinguish (ai, bi) from uniform (ai, bi) pairs Generalizes LPN (q = 2, Bernoulli noise)

[AL’88,BFKL’94,. . . ]

◮ Why error αq > √n?

⋆ Required by worst-case hardness proofs [R’05,P’09,MP’12,BLPRS’13] ⋆ There’s an exp((αq)2)-time attack! [AG’11] 8 / 20

slide-34
SLIDE 34

Simple Properties of LWE

1 Check a candidate solution s′ ∈ Zn q :

test if all b − s′, a ‘small.’ If s′ = s, then b − s′, a = s − s′, a + e is ‘well-spread’ in Zq.

2 ‘Shift’ the secret by any t ∈ Zn q : given (a, b = s, a + e), output

a , b′ = b + t, a = s + t, a + e. Random t’s (with fresh samples) ⇒ random self-reduction. Lets us amplify success probabilities (both search & decision): non-negl on uniform s ← Zn

q

= ⇒ ≈ 1 on any s ∈ Zn

q 3 Multiple secrets: (a, b1 ≈ s1, a, . . . , bt ≈ st, a) vs. (a, b1, . . . , bt).

Simple hybrid argument, since a’s are public.

9 / 20

slide-35
SLIDE 35

Simple Properties of LWE

1 Check a candidate solution s′ ∈ Zn q :

test if all b − s′, a ‘small.’ If s′ = s, then b − s′, a = s − s′, a + e is ‘well-spread’ in Zq.

2 ‘Shift’ the secret by any t ∈ Zn q : given (a, b = s, a + e), output

a , b′ = b + t, a = s + t, a + e. Random t’s (with fresh samples) ⇒ random self-reduction. Lets us amplify success probabilities (both search & decision): non-negl on uniform s ← Zn

q

= ⇒ ≈ 1 on any s ∈ Zn

q 3 Multiple secrets: (a, b1 ≈ s1, a, . . . , bt ≈ st, a) vs. (a, b1, . . . , bt).

Simple hybrid argument, since a’s are public.

9 / 20

slide-36
SLIDE 36

Simple Properties of LWE

1 Check a candidate solution s′ ∈ Zn q :

test if all b − s′, a ‘small.’ If s′ = s, then b − s′, a = s − s′, a + e is ‘well-spread’ in Zq.

2 ‘Shift’ the secret by any t ∈ Zn q : given (a, b = s, a + e), output

a , b′ = b + t, a = s + t, a + e. Random t’s (with fresh samples) ⇒ random self-reduction. Lets us amplify success probabilities (both search & decision): non-negl on uniform s ← Zn

q

= ⇒ ≈ 1 on any s ∈ Zn

q 3 Multiple secrets: (a, b1 ≈ s1, a, . . . , bt ≈ st, a) vs. (a, b1, . . . , bt).

Simple hybrid argument, since a’s are public.

9 / 20

slide-37
SLIDE 37

Simple Properties of LWE

1 Check a candidate solution s′ ∈ Zn q :

test if all b − s′, a ‘small.’ If s′ = s, then b − s′, a = s − s′, a + e is ‘well-spread’ in Zq.

2 ‘Shift’ the secret by any t ∈ Zn q : given (a, b = s, a + e), output

a , b′ = b + t, a = s + t, a + e. Random t’s (with fresh samples) ⇒ random self-reduction. Lets us amplify success probabilities (both search & decision): non-negl on uniform s ← Zn

q

= ⇒ ≈ 1 on any s ∈ Zn

q 3 Multiple secrets: (a, b1 ≈ s1, a, . . . , bt ≈ st, a) vs. (a, b1, . . . , bt).

Simple hybrid argument, since a’s are public.

9 / 20

slide-38
SLIDE 38

Simple Properties of LWE

1 Check a candidate solution s′ ∈ Zn q :

test if all b − s′, a ‘small.’ If s′ = s, then b − s′, a = s − s′, a + e is ‘well-spread’ in Zq.

2 ‘Shift’ the secret by any t ∈ Zn q : given (a, b = s, a + e), output

a , b′ = b + t, a = s + t, a + e. Random t’s (with fresh samples) ⇒ random self-reduction. Lets us amplify success probabilities (both search & decision): non-negl on uniform s ← Zn

q

= ⇒ ≈ 1 on any s ∈ Zn

q 3 Multiple secrets: (a, b1 ≈ s1, a, . . . , bt ≈ st, a) vs. (a, b1, . . . , bt).

Simple hybrid argument, since a’s are public.

9 / 20

slide-39
SLIDE 39

Simple Properties of LWE

1 Check a candidate solution s′ ∈ Zn q :

test if all b − s′, a ‘small.’ If s′ = s, then b − s′, a = s − s′, a + e is ‘well-spread’ in Zq.

2 ‘Shift’ the secret by any t ∈ Zn q : given (a, b = s, a + e), output

a , b′ = b + t, a = s + t, a + e. Random t’s (with fresh samples) ⇒ random self-reduction. Lets us amplify success probabilities (both search & decision): non-negl on uniform s ← Zn

q

= ⇒ ≈ 1 on any s ∈ Zn

q 3 Multiple secrets: (a, b1 ≈ s1, a, . . . , bt ≈ st, a) vs. (a, b1, . . . , bt).

Simple hybrid argument, since a’s are public.

9 / 20

slide-40
SLIDE 40

Simple Properties of LWE

1 Check a candidate solution s′ ∈ Zn q :

test if all b − s′, a ‘small.’ If s′ = s, then b − s′, a = s − s′, a + e is ‘well-spread’ in Zq.

2 ‘Shift’ the secret by any t ∈ Zn q : given (a, b = s, a + e), output

a , b′ = b + t, a = s + t, a + e. Random t’s (with fresh samples) ⇒ random self-reduction. Lets us amplify success probabilities (both search & decision): non-negl on uniform s ← Zn

q

= ⇒ ≈ 1 on any s ∈ Zn

q 3 Multiple secrets: (a, b1 ≈ s1, a, . . . , bt ≈ st, a) vs. (a, b1, . . . , bt).

Simple hybrid argument, since a’s are public.

9 / 20

slide-41
SLIDE 41

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b).

10 / 20

slide-42
SLIDE 42

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b). We want to solve search-LWE: given pairs (a, b), find s.

10 / 20

slide-43
SLIDE 43

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b). We want to solve search-LWE: given pairs (a, b), find s. ◮ If q = poly(n) , to find s1 ∈ Zq it suffices to test whether s1

?

= 0, because we can shift s1 by 0, 1, . . . , q − 1. Same for s2, s3, . . . , sn.

10 / 20

slide-44
SLIDE 44

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b). We want to solve search-LWE: given pairs (a, b), find s. ◮ If q = poly(n) , to find s1 ∈ Zq it suffices to test whether s1

?

= 0, because we can shift s1 by 0, 1, . . . , q − 1. Same for s2, s3, . . . , sn. The test: for each (a, b), choose fresh r ← Zq. Invoke D on pairs (a′ = a − (r, 0, . . . , 0) , b).

10 / 20

slide-45
SLIDE 45

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b). We want to solve search-LWE: given pairs (a, b), find s. ◮ If q = poly(n) , to find s1 ∈ Zq it suffices to test whether s1

?

= 0, because we can shift s1 by 0, 1, . . . , q − 1. Same for s2, s3, . . . , sn. The test: for each (a, b), choose fresh r ← Zq. Invoke D on pairs (a′ = a − (r, 0, . . . , 0) , b). ◮ Notice: b = s, a′ + s1 · r + e.

10 / 20

slide-46
SLIDE 46

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b). We want to solve search-LWE: given pairs (a, b), find s. ◮ If q = poly(n) , to find s1 ∈ Zq it suffices to test whether s1

?

= 0, because we can shift s1 by 0, 1, . . . , q − 1. Same for s2, s3, . . . , sn. The test: for each (a, b), choose fresh r ← Zq. Invoke D on pairs (a′ = a − (r, 0, . . . , 0) , b). ◮ Notice: b = s, a′ + s1 · r + e.

⋆ If s1 = 0, then b = s, a′ + e ⇒ D accepts. 10 / 20

slide-47
SLIDE 47

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b). We want to solve search-LWE: given pairs (a, b), find s. ◮ If q = poly(n) , to find s1 ∈ Zq it suffices to test whether s1

?

= 0, because we can shift s1 by 0, 1, . . . , q − 1. Same for s2, s3, . . . , sn. The test: for each (a, b), choose fresh r ← Zq. Invoke D on pairs (a′ = a − (r, 0, . . . , 0) , b). ◮ Notice: b = s, a′ + s1 · r + e.

⋆ If s1 = 0, then b = s, a′ + e ⇒ D accepts. ⋆ If s1 = 0 and q prime then b = uniform ⇒ D rejects. 10 / 20

slide-48
SLIDE 48

Search/Decision Equivalence [BFKL’94,R’05]

◮ Suppose D solves decision-LWE: it ‘perfectly’ distinguishes between pairs (a, b = s, a + e) and (a, b). We want to solve search-LWE: given pairs (a, b), find s. ◮ If q = poly(n) , to find s1 ∈ Zq it suffices to test whether s1

?

= 0, because we can shift s1 by 0, 1, . . . , q − 1. Same for s2, s3, . . . , sn. The test: for each (a, b), choose fresh r ← Zq. Invoke D on pairs (a′ = a − (r, 0, . . . , 0) , b). ◮ Notice: b = s, a′ + s1 · r + e.

⋆ If s1 = 0, then b = s, a′ + e ⇒ D accepts. ⋆ If s1 = 0 and q prime then b = uniform ⇒ D rejects.

◮ Don’t really need prime q = poly(n)

[P’09,ACPS’09,MM’11,MP’12]

10 / 20

slide-49
SLIDE 49

LWE ⇒ Synthesizer?

Learning With Errors (LWE) [Regev’05]

◮ Hard to distinguish (ai ∈ Zn

q , bi = ai, s + ei) from (ai , bi), where

ai, bi, s uniform and ei ← χ = Gaussian over Z w/ param αq > √n

11 / 20

slide-50
SLIDE 50

LWE ⇒ Synthesizer?

Learning With Errors (LWE) [Regev’05]

◮ Hard to distinguish (ai ∈ Zn

q , bi = ai, s + ei) from (ai , bi), where

ai, bi, s uniform and ei ← χ = Gaussian over Z w/ param αq > √n ◮ By hybrid argument, can’t distinguish tuples (Ai ∈ Zn×n

q

, Ai · S1 + Ei,1 ∈ Zn×n

q

, Ai · S2 + Ei,2 ∈ Zn×n

q

, . . .)

11 / 20

slide-51
SLIDE 51

LWE ⇒ Synthesizer?

Learning With Errors (LWE) [Regev’05]

◮ Hard to distinguish (ai ∈ Zn

q , bi = ai, s + ei) from (ai , bi), where

ai, bi, s uniform and ei ← χ = Gaussian over Z w/ param αq > √n ◮ By hybrid argument, can’t distinguish tuples (Ai ∈ Zn×n

q

, Ai · S1 + Ei,1 ∈ Zn×n

q

, Ai · S2 + Ei,2 ∈ Zn×n

q

, . . .)

An LWE-Based Synthesizer?

S1 S2 · · · A1 A1 · S1 + E1,1 A1 · S2 + E1,2 · · · A2 A2 · S1 + E2,1 A2 · S2 + E2,2 · · · . . . ...

11 / 20

slide-52
SLIDE 52

LWE ⇒ Synthesizer?

Learning With Errors (LWE) [Regev’05]

◮ Hard to distinguish (ai ∈ Zn

q , bi = ai, s + ei) from (ai , bi), where

ai, bi, s uniform and ei ← χ = Gaussian over Z w/ param αq > √n ◮ By hybrid argument, can’t distinguish tuples (Ai ∈ Zn×n

q

, Ai · S1 + Ei,1 ∈ Zn×n

q

, Ai · S2 + Ei,2 ∈ Zn×n

q

, . . .)

An LWE-Based Synthesizer?

S1 S2 · · · A1 A1 · S1 + E1,1 A1 · S2 + E1,2 · · · A2 A2 · S1 + E2,1 A2 · S2 + E2,2 · · · . . . ... ✔ {Ai · Sj + Ei,j}

c

≈ Uniform, but. . .

11 / 20

slide-53
SLIDE 53

LWE ⇒ Synthesizer?

Learning With Errors (LWE) [Regev’05]

◮ Hard to distinguish (ai ∈ Zn

q , bi = ai, s + ei) from (ai , bi), where

ai, bi, s uniform and ei ← χ = Gaussian over Z w/ param αq > √n ◮ By hybrid argument, can’t distinguish tuples (Ai ∈ Zn×n

q

, Ai · S1 + Ei,1 ∈ Zn×n

q

, Ai · S2 + Ei,2 ∈ Zn×n

q

, . . .)

An LWE-Based Synthesizer?

S1 S2 · · · A1 A1 · S1 + E1,1 A1 · S2 + E1,2 · · · A2 A2 · S1 + E2,1 A2 · S2 + E2,2 · · · . . . ... ✔ {Ai · Sj + Ei,j}

c

≈ Uniform, but. . . ✗ What about Ei,j? Synthesizer must be

  • deterministic. . .

11 / 20

slide-54
SLIDE 54

“Learning With Rounding” (LWR)

[Banerjee Peikert Rosen’12]

◮ IDEA: generate errors deterministically by rounding Zq to a “sparse” subset (e.g. Zp). (Common in decryption to remove error.)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

1 2

12 / 20

slide-55
SLIDE 55

“Learning With Rounding” (LWR)

[Banerjee Peikert Rosen’12]

◮ IDEA: generate errors deterministically by rounding Zq to a “sparse” subset (e.g. Zp). (Common in decryption to remove error.) Let p < q and define ⌊x⌉p = ⌊(p/q) · x⌉ mod p.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

1 2

12 / 20

slide-56
SLIDE 56

“Learning With Rounding” (LWR)

[Banerjee Peikert Rosen’12]

◮ IDEA: generate errors deterministically by rounding Zq to a “sparse” subset (e.g. Zp). (Common in decryption to remove error.) Let p < q and define ⌊x⌉p = ⌊(p/q) · x⌉ mod p.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

1 2

◮ LWR problem: distinguish any m = poly pairs

  • ai , ⌊ai, s⌉p
  • ∈ Zq × Zp

from uniform

12 / 20

slide-57
SLIDE 57

“Learning With Rounding” (LWR)

[Banerjee Peikert Rosen’12]

◮ IDEA: generate errors deterministically by rounding Zq to a “sparse” subset (e.g. Zp). (Common in decryption to remove error.) Let p < q and define ⌊x⌉p = ⌊(p/q) · x⌉ mod p.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

1 2

◮ LWR problem: distinguish any m = poly pairs

  • ai , ⌊ai, s⌉p
  • ∈ Zq × Zp

from uniform Interpretation: LWE conceals low-order bits by adding small random

  • error. LWR just discards those bits instead.

12 / 20

slide-58
SLIDE 58

“Learning With Rounding” (LWR)

[Banerjee Peikert Rosen’12]

◮ IDEA: generate errors deterministically by rounding Zq to a “sparse” subset (e.g. Zp). (Common in decryption to remove error.) Let p < q and define ⌊x⌉p = ⌊(p/q) · x⌉ mod p.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

1 2

◮ LWR problem: distinguish any m = poly pairs

  • ai , ⌊ai, s⌉p
  • ∈ Zq × Zp

from uniform Interpretation: LWE conceals low-order bits by adding small random

  • error. LWR just discards those bits instead.

◮ Theorem: LWE ≤ LWR for q ≥ p · nω(1) [but it seems 2n-hard for q ≥ p√n]

12 / 20

slide-59
SLIDE 59

“Learning With Rounding” (LWR)

[Banerjee Peikert Rosen’12]

◮ IDEA: generate errors deterministically by rounding Zq to a “sparse” subset (e.g. Zp). (Common in decryption to remove error.) Let p < q and define ⌊x⌉p = ⌊(p/q) · x⌉ mod p.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

1 2

◮ LWR problem: distinguish any m = poly pairs

  • ai , ⌊ai, s⌉p
  • ∈ Zq × Zp

from uniform Interpretation: LWE conceals low-order bits by adding small random

  • error. LWR just discards those bits instead.

◮ Theorem: LWE ≤ LWR for q ≥ p · nω(1) [but it seems 2n-hard for q ≥ p√n] Proof idea: w.h.p., ( a , ⌊a, s + e⌉p ) = ( a , ⌊a, s⌉p ) and ( a , ⌊Unif(Zq)⌉p ) = ( a , Unif(Zp) )

12 / 20

slide-60
SLIDE 60

Properties of LWR

1 Random Self Reducubility:

On input A, R(As), output AX, R(As), for random X ∈ Zn×n

q

, AX, R(As) ∼ A, R(AX−1s) = A, R(A(X−1s)). Similar to LWE, but shift labels (not secret).

2 Search/Decision:

On input A, b output A + ueT

1 where u is a random vector,

If s1 = 0, A + ueT

1 , R(As) ∼ A, R(As + (s1)u) = A, R(As)

If s1 = 0, A + ueT

1 , R(As) ∼ A, R(As + (s1)u) = A, R(u)

13 / 20

slide-61
SLIDE 61

Properties of LWR

1 Random Self Reducubility:

On input A, R(As), output AX, R(As), for random X ∈ Zn×n

q

, AX, R(As) ∼ A, R(AX−1s) = A, R(A(X−1s)). Similar to LWE, but shift labels (not secret).

2 Search/Decision:

On input A, b output A + ueT

1 where u is a random vector,

If s1 = 0, A + ueT

1 , R(As) ∼ A, R(As + (s1)u) = A, R(As)

If s1 = 0, A + ueT

1 , R(As) ∼ A, R(As + (s1)u) = A, R(u)

13 / 20

slide-62
SLIDE 62

LWR-Based Synthesizer & PRF

◮ Synthesizer S : Zn×n

q

× Zn×n

q

→ Zn×n

p

is S(A, S) = ⌊A · S⌉p.

(Note: range Zp is slightly smaller than domain Zq. Only limits composition.)

14 / 20

slide-63
SLIDE 63

LWR-Based Synthesizer & PRF

◮ Synthesizer S : Zn×n

q

× Zn×n

q

→ Zn×n

p

is S(A, S) = ⌊A · S⌉p.

(Note: range Zp is slightly smaller than domain Zq. Only limits composition.)

PRF on Domain {0, 1}k=2d

◮ “Tower” of public moduli qd > qd−1 > · · · > q0. ◮ Secret key is 2k square matrices Si,b over Zqd for i ∈ [k], b ∈ {0, 1}.

14 / 20

slide-64
SLIDE 64

LWR-Based Synthesizer & PRF

◮ Synthesizer S : Zn×n

q

× Zn×n

q

→ Zn×n

p

is S(A, S) = ⌊A · S⌉p.

(Note: range Zp is slightly smaller than domain Zq. Only limits composition.)

PRF on Domain {0, 1}k=2d

◮ “Tower” of public moduli qd > qd−1 > · · · > q0. ◮ Secret key is 2k square matrices Si,b over Zqd for i ∈ [k], b ∈ {0, 1}. ◮ Depth d = lg k tree of LWR synthesizers: F{Si,b}(x1 · · · x8) =

  • ⌊S1,x1· S2,x2⌉q2

· ⌊S3,x3· S4,x4⌉q2

  • q1

·

  • ⌊S5,x5· S6,x6⌉q2

· ⌊S7,x7· S8,x8⌉q2

  • q1
  • q0

14 / 20

slide-65
SLIDE 65

Even Better

◮ Synthesizer S : Zm×n

q

× Zn×m

q

→ Zm×m

p

is S(A, S) = ⌊A · S⌉p. Idea: to match range and domain sizes take m = 2n and q = p2.

15 / 20

slide-66
SLIDE 66

Even Better

◮ Synthesizer S : Zm×n

q

× Zn×m

q

→ Zm×m

p

is S(A, S) = ⌊A · S⌉p. Idea: to match range and domain sizes take m = 2n and q = p2.

PRF on Domain {0, 1}k=2d

◮ Public modulus q = p2. ◮ Secret key is 2k m × n matrices Si,b over Zq for i ∈ [k], b ∈ {0, 1}. ◮ Given S1, S2 ∈ Z2n×n

q

”cast”

  • S1 · St

2

  • p ∈ Z2n×2n

p

into Z2n×n

q

. (Works because Si = ⌊S1 · S2⌉p = 4n2 log p.)

15 / 20

slide-67
SLIDE 67

Even Better

◮ Synthesizer S : Zm×n

q

× Zn×m

q

→ Zm×m

p

is S(A, S) = ⌊A · S⌉p. Idea: to match range and domain sizes take m = 2n and q = p2.

PRF on Domain {0, 1}k=2d

◮ Public modulus q = p2. ◮ Secret key is 2k m × n matrices Si,b over Zq for i ∈ [k], b ∈ {0, 1}. ◮ Given S1, S2 ∈ Z2n×n

q

”cast”

  • S1 · St

2

  • p ∈ Z2n×2n

p

into Z2n×n

q

. (Works because Si = ⌊S1 · S2⌉p = 4n2 log p.) ◮ Depth d = lg k tree of LWR synthesizers:

  • S1,x1· St

2,x2

  • q

·

  • S3,x3· St

4,x4

  • q
  • q

·

  • S5,x5· St

6,x6

  • q

·

  • S7,x7· St

8,x8

  • q
  • q
  • q

15 / 20

slide-68
SLIDE 68

More Efficient?

Ring Learning With Errors (RLWE) [LPR’10]

◮ For (e.g.) n a power of 2, define “cyclotomic” polynomial rings R := Z[x]/(xn + 1) and Rq := R/qR = Zq[x]/(xn + 1).

16 / 20

slide-69
SLIDE 69

More Efficient?

Ring Learning With Errors (RLWE) [LPR’10]

◮ For (e.g.) n a power of 2, define “cyclotomic” polynomial rings R := Z[x]/(xn + 1) and Rq := R/qR = Zq[x]/(xn + 1). ◮ Hard to distinguish m pairs (ai , ai · s + ei) ∈ Rq × Rq from uniform, where ai, s ← Rq uniform and ei “short.”

16 / 20

slide-70
SLIDE 70

More Efficient?

Ring Learning With Errors (RLWE) [LPR’10]

◮ For (e.g.) n a power of 2, define “cyclotomic” polynomial rings R := Z[x]/(xn + 1) and Rq := R/qR = Zq[x]/(xn + 1). ◮ Hard to distinguish m pairs (ai , ai · s + ei) ∈ Rq × Rq from uniform, where ai, s ← Rq uniform and ei “short.” ◮ Shorter description/faster computation (using FFT/NTT).

16 / 20

slide-71
SLIDE 71

Shallower?

◮ Synth-based PRF is log k levels of NC1 synthesizers ⇒ NC2.

17 / 20

slide-72
SLIDE 72

Shallower?

◮ Synth-based PRF is log k levels of NC1 synthesizers ⇒ NC2. ◮ [NR’97]: direct PRFs from DDH / factoring, in TC0 ⊆ NC1. Fg,s1,...,sk(x1 · · · xk) = g

sxi

i

(Computing this in TC0 needs large circuits, though. . . )

17 / 20

slide-73
SLIDE 73

Shallower?

◮ Synth-based PRF is log k levels of NC1 synthesizers ⇒ NC2. ◮ [NR’97]: direct PRFs from DDH / factoring, in TC0 ⊆ NC1. Fg,s1,...,sk(x1 · · · xk) = g

sxi

i

(Computing this in TC0 needs large circuits, though. . . )

Direct LWE-Based Construction

◮ Public moduli q > p. ◮ Secret key is uniform a ← Rq and short s1, . . . , sk ∈ R.

17 / 20

slide-74
SLIDE 74

Shallower?

◮ Synth-based PRF is log k levels of NC1 synthesizers ⇒ NC2. ◮ [NR’97]: direct PRFs from DDH / factoring, in TC0 ⊆ NC1. Fg,s1,...,sk(x1 · · · xk) = g

sxi

i

(Computing this in TC0 needs large circuits, though. . . )

Direct LWE-Based Construction

◮ Public moduli q > p. ◮ Secret key is uniform a ← Rq and short s1, . . . , sk ∈ R. ◮ “Rounded subset-product” function: Fa,s1,...,sk(x1 · · · xk) =

  • a ·

k

  • i=1

sxi

i mod q

  • p

17 / 20

slide-75
SLIDE 75

Shallower?

◮ Synth-based PRF is log k levels of NC1 synthesizers ⇒ NC2. ◮ [NR’97]: direct PRFs from DDH / factoring, in TC0 ⊆ NC1. Fg,s1,...,sk(x1 · · · xk) = g

sxi

i

(Computing this in TC0 needs large circuits, though. . . )

Direct LWE-Based Construction

◮ Public moduli q > p. ◮ Secret key is uniform a ← Rq and short s1, . . . , sk ∈ R. ◮ “Rounded subset-product” function: Fa,s1,...,sk(x1 · · · xk) =

  • a ·

k

  • i=1

sxi

i mod q

  • p

Has small(ish) TC0 circuit, via CRT and reduction to subset-sum.

17 / 20

slide-76
SLIDE 76

Proof Outline

◮ Seed is uniform a ∈ Rq and short s1, . . . , sk ∈ R. Fa,s1,...,sk(x1 · · · xk) =

  • a · sx1

1 · · · sxk k mod q

  • p

18 / 20

slide-77
SLIDE 77

Proof Outline

◮ Seed is uniform a ∈ Rq and short s1, . . . , sk ∈ R. Fa,s1,...,sk(x1 · · · xk) =

  • a · sx1

1 · · · sxk k mod q

  • p

◮ Like the LWE ≤ LWR proof, but “souped up” to handle queries.

18 / 20

slide-78
SLIDE 78

Proof Outline

◮ Seed is uniform a ∈ Rq and short s1, . . . , sk ∈ R. Fa,s1,...,sk(x1 · · · xk) =

  • a · sx1

1 · · · sxk k mod q

  • p

◮ Like the LWE ≤ LWR proof, but “souped up” to handle queries. Thought experiment: answer queries with ˜ F(x) :=

  • (a · sx1

1 + x1·ex1) · sx2 2 · · · sxk k

  • p =
  • a

k

  • i=1

sxi

i + x1·ex1· k

  • i=2

sxi

i

  • W.h.p., ˜

F(x) = F(x) on all queries due to “small” error & rounding.

18 / 20

slide-79
SLIDE 79

Proof Outline

◮ Seed is uniform a ∈ Rq and short s1, . . . , sk ∈ R. Fa,s1,...,sk(x1 · · · xk) =

  • a · sx1

1 · · · sxk k mod q

  • p

◮ Like the LWE ≤ LWR proof, but “souped up” to handle queries. Thought experiment: answer queries with ˜ F(x) :=

  • (a · sx1

1 + x1·ex1) · sx2 2 · · · sxk k

  • p =
  • a

k

  • i=1

sxi

i + x1·ex1· k

  • i=2

sxi

i

  • W.h.p., ˜

F(x) = F(x) on all queries due to “small” error & rounding. ◮ Replace (a, a · s1 + ex1) with uniform (a0, a1) [ring-LWE]. ⇒ New function F ′(x) = ⌊ax1 · sx2

2 · · · sxk k ⌉p.

18 / 20

slide-80
SLIDE 80

Proof Outline

◮ Seed is uniform a ∈ Rq and short s1, . . . , sk ∈ R. Fa,s1,...,sk(x1 · · · xk) =

  • a · sx1

1 · · · sxk k mod q

  • p

◮ Like the LWE ≤ LWR proof, but “souped up” to handle queries. Thought experiment: answer queries with ˜ F(x) :=

  • (a · sx1

1 + x1·ex1) · sx2 2 · · · sxk k

  • p =
  • a

k

  • i=1

sxi

i + x1·ex1· k

  • i=2

sxi

i

  • W.h.p., ˜

F(x) = F(x) on all queries due to “small” error & rounding. ◮ Replace (a, a · s1 + ex1) with uniform (a0, a1) [ring-LWE]. ⇒ New function F ′(x) = ⌊ax1 · sx2

2 · · · sxk k ⌉p.

◮ Repeat for s2, s3, . . . until F ′′′′′′(x) = ⌊ax⌉p = Uniform func.

18 / 20

slide-81
SLIDE 81

Open Questions 1

1 Better (worst-case) hardness for LWR, e.g. for q/p = √n?

(The proof from LWE relies on approx factor and modulus = nω(1).) [AKPW’13]: LWE ≤ LWR for q = nO(1) (bounded #samples).

19 / 20

slide-82
SLIDE 82

Open Questions 1

1 Better (worst-case) hardness for LWR, e.g. for q/p = √n?

(The proof from LWE relies on approx factor and modulus = nω(1).) [AKPW’13]: LWE ≤ LWR for q = nO(1) (bounded #samples).

2 Non-trivial algorithms for LWR?

19 / 20

slide-83
SLIDE 83

Open Questions 1

1 Better (worst-case) hardness for LWR, e.g. for q/p = √n?

(The proof from LWE relies on approx factor and modulus = nω(1).) [AKPW’13]: LWE ≤ LWR for q = nO(1) (bounded #samples).

2 Non-trivial algorithms for LWR?

[BCGR’13]:

⋆ LWR ≤ LWE for ⌈q/p⌉ = nO(1) (uses ideas from [FGKP’06]). ⋆ Adaptations of [AG’11] and [BKL’03] to LWR. 19 / 20

slide-84
SLIDE 84

Open Questions 2

1 Synth-based PRF can rely on approx factor and modulus = nΘ(1).

Direct construction still relies on approx factor and modulus = nΘ(k).

20 / 20

slide-85
SLIDE 85

Open Questions 2

1 Synth-based PRF can rely on approx factor and modulus = nΘ(1).

Direct construction still relies on approx factor and modulus = nΘ(k). Are such strong assumptions necessary (even for these constructions)?

20 / 20

slide-86
SLIDE 86

Open Questions 2

1 Synth-based PRF can rely on approx factor and modulus = nΘ(1).

Direct construction still relies on approx factor and modulus = nΘ(k). Are such strong assumptions necessary (even for these constructions)? Conjecture (?): direct PRF is secure for integral q/p = poly(n).

20 / 20

slide-87
SLIDE 87

Open Questions 2

1 Synth-based PRF can rely on approx factor and modulus = nΘ(1).

Direct construction still relies on approx factor and modulus = nΘ(k). Are such strong assumptions necessary (even for these constructions)? Conjecture (?): direct PRF is secure for integral q/p = poly(n).

2 Efficient PRF from parity with noise (LPN)?

20 / 20

slide-88
SLIDE 88

Open Questions 2

1 Synth-based PRF can rely on approx factor and modulus = nΘ(1).

Direct construction still relies on approx factor and modulus = nΘ(k). Are such strong assumptions necessary (even for these constructions)? Conjecture (?): direct PRF is secure for integral q/p = poly(n).

2 Efficient PRF from parity with noise (LPN)? 3 Efficient PRF from subset sum?

20 / 20

slide-89
SLIDE 89

Open Questions 2

1 Synth-based PRF can rely on approx factor and modulus = nΘ(1).

Direct construction still relies on approx factor and modulus = nΘ(k). Are such strong assumptions necessary (even for these constructions)? Conjecture (?): direct PRF is secure for integral q/p = poly(n).

2 Efficient PRF from parity with noise (LPN)? 3 Efficient PRF from subset sum?

http://factcenter.org

20 / 20