Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography...

51
Lattices: . . . to Cryptography Chris Peikert Georgia Institute of Technology Visions of Cryptography 10 December 2013 1 / 12

Transcript of Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography...

Page 1: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Lattices:. . . to Cryptography

Chris PeikertGeorgia Institute of Technology

Visions of Cryptography10 December 2013

1 / 12

Page 2: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Agenda

1 The two one main lattice-based OWF

2 Two simple tricks that yield all∗ of lattice cryptography

3 Lots of applications

2 / 12

Page 3: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

A Hard Problem: Short Integer Solution

I Goal: given uniform A ∈ Zn×mq , find short nonzero z ∈ Zm such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

(When m ≥ n log q, short solutions are guaranteed to exist.)

3 / 12

Page 4: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

A Hard Problem: Short Integer Solution

I Goal: given uniform A ∈ Zn×mq , find short nonzero z ∈ Zm such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

(When m ≥ n log q, short solutions are guaranteed to exist.)

I Just SVP on random ‘q-ary’ lattice

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

I x 7→ Ax reduces x modulo L⊥(A).

O

(0, q)

(q, 0)

3 / 12

Page 5: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

A Hard Problem: Short Integer Solution

I Goal: given uniform A ∈ Zn×mq , find short nonzero z ∈ Zm such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

(When m ≥ n log q, short solutions are guaranteed to exist.)

I Just SVP on random ‘q-ary’ lattice

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

I x 7→ Ax reduces x modulo L⊥(A). O

(0, q)

(q, 0)

x

3 / 12

Page 6: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

A Hard Problem: Short Integer Solution

I Goal: given uniform A ∈ Zn×mq , find short nonzero z ∈ Zm such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

(When m ≥ n log q, short solutions are guaranteed to exist.)

Worst-Case/Average-Case Connection [Ajtai’96,. . . ,MR’04,GPV’08,MP’13]

Finding solution z with ‖z‖ ≤ β � q(for uniformly random A)

⇓solving GapSVPβ

√n and SIVPβ

√n on any n-dim lattice.

3 / 12

Page 7: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

A Hard Problem: Short Integer Solution

I Goal: given uniform A ∈ Zn×mq , find short nonzero z ∈ Zm such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

(When m ≥ n log q, short solutions are guaranteed to exist.)

One-Way & Collision-Resistant Hash Function

I Set m > n lg q. Define fA : {0, 1}m → Znq as

fA(x) = Ax.

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

. . . yields solution z = x− x′ ∈ {0,±1}m, of norm ‖z‖ ≤√m.

3 / 12

Page 8: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

A Hard Problem: Short Integer Solution

I Goal: given uniform A ∈ Zn×mq , find short nonzero z ∈ Zm such that:

· · · · A · · · ·

︸ ︷︷ ︸

m

z

= 0 ∈ Znq

(When m ≥ n log q, short solutions are guaranteed to exist.)

One-Way & Collision-Resistant Hash Function

I Set m > n lg q. Define fA : {0, 1}m → Znq as

fA(x) = Ax.

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

. . . yields solution z = x− x′ ∈ {0,±1}m, of norm ‖z‖ ≤√m.

3 / 12

Page 9: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Another (?) Hard (?) Problem: Learning With Errors

I Wlog, A = [A | In] ∈ Zn×(m+n)q .

For m ≥ n log q, function x 7→ Ax is regular (⇒ many preimages).

I What about m� n log q? E.g., m = n? m = 100?

Map x 7→ Ax = Ax1 + x2 is highly injective (whp).

Is it one-way? Pseudorandom?

I Lattice interpretation: BDD on

L(A) = {v ≡ Ax1 mod q}.

I Search ⇔ decision: Ax is pseudorandom.

I As hard as worst case problems onm-dim lattices [Regev’05,P’09].

b

b

4 / 12

Page 10: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Another (?) Hard (?) Problem: Learning With Errors

I Wlog, A = [A | In] ∈ Zn×(m+n)q .

For m ≥ n log q, function x 7→ Ax is regular (⇒ many preimages).

I What about m� n log q? E.g., m = n? m = 100?

Map x 7→ Ax = Ax1 + x2 is highly injective (whp).

Is it one-way? Pseudorandom?

I Lattice interpretation: BDD on

L(A) = {v ≡ Ax1 mod q}.

I Search ⇔ decision: Ax is pseudorandom.

I As hard as worst case problems onm-dim lattices [Regev’05,P’09].

b

b

4 / 12

Page 11: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Another (?) Hard (?) Problem: Learning With Errors

I Wlog, A = [A | In] ∈ Zn×(m+n)q .

For m ≥ n log q, function x 7→ Ax is regular (⇒ many preimages).

I What about m� n log q? E.g., m = n? m = 100?

Map x 7→ Ax = Ax1 + x2 is highly injective (whp).

Is it one-way? Pseudorandom?

I Lattice interpretation: BDD on

L(A) = {v ≡ Ax1 mod q}.

I Search ⇔ decision: Ax is pseudorandom.

I As hard as worst case problems onm-dim lattices [Regev’05,P’09].

b

b

4 / 12

Page 12: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Another (?) Hard (?) Problem: Learning With Errors

I Wlog, A = [A | In] ∈ Zn×(m+n)q .

For m ≥ n log q, function x 7→ Ax is regular (⇒ many preimages).

I What about m� n log q? E.g., m = n? m = 100?

Map x 7→ Ax = Ax1 + x2 is highly injective (whp).

Is it one-way? Pseudorandom?

I Lattice interpretation: BDD on

L(A) = {v ≡ Ax1 mod q}.

I Search ⇔ decision: Ax is pseudorandom.

I As hard as worst case problems onm-dim lattices [Regev’05,P’09].

b

b

4 / 12

Page 13: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Another (?) Hard (?) Problem: Learning With Errors

I Wlog, A = [A | In] ∈ Zn×(m+n)q .

For m ≥ n log q, function x 7→ Ax is regular (⇒ many preimages).

I What about m� n log q? E.g., m = n? m = 100?

Map x 7→ Ax = Ax1 + x2 is highly injective (whp).

Is it one-way? Pseudorandom?

I Lattice interpretation: BDD on

L(A) = {v ≡ Ax1 mod q}.

I Search ⇔ decision: Ax is pseudorandom.

I As hard as worst case problems onm-dim lattices [Regev’05,P’09].

b

b

4 / 12

Page 14: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

The two amazingly simple tricks behind all of lattice cryptography...

5 / 12

Page 15: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #1: Generate Random Instance with Solution(s)

I Generate (pseudo)random A′ with a short solution:

1 Choose A← Zn×mq and short x.

2 Let u = −[A | In] · x and A′ = [u | A].

Then [A′ | In]

[1x

]= u + [A | In] · x = 0.

I For many solutions, let U = −[A | In] ·X and A′ = [U | A].

Then [A′ | In] ·[IkX

]= 0.

I Of course, we can also multiply on the left:

Let ut = xt[

AIm

]and A′ =

[ut

A

].

6 / 12

Page 16: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #1: Generate Random Instance with Solution(s)

I Generate (pseudo)random A′ with a short solution:

1 Choose A← Zn×mq and short x.

2 Let u = −[A | In] · x and A′ = [u | A].

Then [A′ | In]

[1x

]= u + [A | In] · x = 0.

I For many solutions, let U = −[A | In] ·X and A′ = [U | A].

Then [A′ | In] ·[IkX

]= 0.

I Of course, we can also multiply on the left:

Let ut = xt[

AIm

]and A′ =

[ut

A

].

6 / 12

Page 17: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #1: Generate Random Instance with Solution(s)

I Generate (pseudo)random A′ with a short solution:

1 Choose A← Zn×mq and short x.

2 Let u = −[A | In] · x and A′ = [u | A].

Then [A′ | In]

[1x

]= u + [A | In] · x = 0.

I For many solutions, let U = −[A | In] ·X and A′ = [U | A].

Then [A′ | In] ·[IkX

]= 0.

I Of course, we can also multiply on the left:

Let ut = xt[

AIm

]and A′ =

[ut

A

].

6 / 12

Page 18: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #1: Generate Random Instance with Solution(s)

I Generate (pseudo)random A′ with a short solution:

1 Choose A← Zn×mq and short x.

2 Let u = −[A | In] · x and A′ = [u | A].

Then [A′ | In]

[1x

]= u + [A | In] · x = 0.

I For many solutions, let U = −[A | In] ·X and A′ = [U | A].

Then [A′ | In] ·[IkX

]= 0.

I Of course, we can also multiply on the left:

Let ut = xt[

AIm

]and A′ =

[ut

A

].

6 / 12

Page 19: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #1: Generate Random Instance with Solution(s)

I Generate (pseudo)random A′ with a short solution:

1 Choose A← Zn×mq and short x.

2 Let u = −[A | In] · x and A′ = [u | A].

Then [A′ | In]

[1x

]= u + [A | In] · x = 0.

I For many solutions, let U = −[A | In] ·X and A′ = [U | A].

Then [A′ | In] ·[IkX

]= 0.

I Of course, we can also multiply on the left:

Let ut = xt[

AIm

]and A′ =

[ut

A

].

6 / 12

Page 20: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Key Agreement/Encryption

s

A ∈ Zn×mq

r

u = [ A In ]r

vt = st[

AIm

]ka = st1 · u + err kb = vt · r1 + err

≈ st1Ar1 ≈ st1Ar1

(A,u,v, ka)

7 / 12

Page 21: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Key Agreement/Encryption

s

A ∈ Zn×mq

r

u = [ A In ]r

vt = st[

AIm

]

ka = st1 · u + err kb = vt · r1 + err

≈ st1Ar1 ≈ st1Ar1

(A,u,v, ka)

7 / 12

Page 22: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Key Agreement/Encryption

s

A ∈ Zn×mq

r

u = [ A In ]r

vt = st[

AIm

]ka = st1 · u + err kb = vt · r1 + err

≈ st1Ar1 ≈ st1Ar1

(A,u,v, ka)

7 / 12

Page 23: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Key Agreement/Encryption

s

A ∈ Zn×mq

r

u = [ A In ]r

vt = st[

AIm

]ka = st1 · u + err kb = vt · r1 + err

≈ st1Ar1 ≈ st1Ar1

(A,u,v, ka)

7 / 12

Page 24: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Key Agreement/Encryption

s

A ∈ Zn×mq

r

u

vt = st[

AIm

]ka = st1 · u + err

kb = vt · r1 + err

≈ st1Ar1 ≈ st1Ar1

(A,u,v, ka)

7 / 12

Page 25: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Key Agreement/Encryption

s

A ∈ Zn×mq

r

u

vt

ka = st1 · u + err kb = vt · r1 + err

≈ st1Ar1 ≈ st1Ar1

(A,u,v, ka)

7 / 12

Page 26: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #2: Inverting an Easy Function

I A special parity-check matrix: let gt = [1 2 4 · · · 2k−1 ≥ q2 ] and

G =

· · ·gt · · ·

· · ·gt · · ·. . .

· · ·gt · · ·

∈ Zn×nkq .

8 / 12

Page 27: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #2: Inverting an Easy Function

I A special parity-check matrix: let gt = [1 2 4 · · · 2k−1 ≥ q2 ] and

G =

· · ·gt · · ·

· · ·gt · · ·. . .

· · ·gt · · ·

∈ Zn×nkq .

I Invert SIS: given u ∈ Znq , can compute x ∈ {0, 1}nk s.t. Gx = u.

More generally, can sample a Gaussian x← G−1(u).

Can generate (x,u) in two equivalent ways:

Gauss → x u

G

≡ u← Znqx

G−1

8 / 12

Page 28: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #2: Inverting an Easy Function

I A special parity-check matrix: let gt = [1 2 4 · · · 2k−1 ≥ q2 ] and

G =

· · ·gt · · ·

· · ·gt · · ·. . .

· · ·gt · · ·

∈ Zn×nkq .

I Invert SIS: given u ∈ Znq , can compute x ∈ {0, 1}nk s.t. Gx = u.

More generally, can sample a Gaussian x← G−1(u).

Can generate (x,u) in two equivalent ways:

Gauss → x u

G

≡ u← Znqx

G−1

8 / 12

Page 29: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #2: Inverting an Easy Function

I A special parity-check matrix: let gt = [1 2 4 · · · 2k−1 ≥ q2 ] and

G =

· · ·gt · · ·

· · ·gt · · ·. . .

· · ·gt · · ·

∈ Zn×nkq .

I Invert SIS: given u ∈ Znq , can compute x ∈ {0, 1}nk s.t. Gx = u.

More generally, can sample a Gaussian x← G−1(u).

Can generate (x,u) in two equivalent ways:

Gauss → x u

G

≡ u← Znqx

G−1

8 / 12

Page 30: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #2: Inverting an Easy Function

I A special parity-check matrix: let gt = [1 2 4 · · · 2k−1 ≥ q2 ] and

G =

· · ·gt · · ·

· · ·gt · · ·. . .

· · ·gt · · ·

∈ Zn×nkq .

I Invert LWE: given v = xt[GI

]≈ [x1 2x1 · · · 2k−1x1 · · · ], find x.

Say q = 2k. Can recover bits of x1 with errors, then x2, etc.

(Something similar works for any q.)

8 / 12

Page 31: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #2: Inverting an Easy Function

I A special parity-check matrix: let gt = [1 2 4 · · · 2k−1 ≥ q2 ] and

G =

· · ·gt · · ·

· · ·gt · · ·. . .

· · ·gt · · ·

∈ Zn×nkq .

I Invert LWE: given v = xt[GI

]≈ [x1 2x1 · · · 2k−1x1 · · · ], find x.

Say q = 2k. Can recover bits of x1 with errors, then x2, etc.

(Something similar works for any q.)

8 / 12

Page 32: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Trick #2: Inverting an Easy Function

I A special parity-check matrix: let gt = [1 2 4 · · · 2k−1 ≥ q2 ] and

G =

· · ·gt · · ·

· · ·gt · · ·. . .

· · ·gt · · ·

∈ Zn×nkq .

I Invert LWE: given v = xt[GI

]≈ [x1 2x1 · · · 2k−1x1 · · · ], find x.

Say q = 2k. Can recover bits of x1 with errors, then x2, etc.

(Something similar works for any q.)

8 / 12

Page 33: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Public Key ⇒ TDF, Signatures, IBE [GPV’08,MP’12]

I Let A′ = [A | G−AR], so A′[RI

]= G. Trapdoor = R.

I Invert LWE: given vt = st[A′I

], recover s from

vt[RI

]= st

[GRI

]≈ st1G.

I Invert SIS: given target u, output x =[RI

]·G−1(u). Then

A′x = G ·G−1(u) = u.

Problem: x is ‘skewed,’ leaks trapdoor R!

Solution: output x = p +[RI

]·G−1(u−A′p) for ‘perturbation’ p.

Gauss → x u

A′

≡ u← Znqx

A′−1

9 / 12

Page 34: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Public Key ⇒ TDF, Signatures, IBE [GPV’08,MP’12]

I Let A′ = [A | G−AR], so A′[RI

]= G. Trapdoor = R.

I Invert LWE: given vt = st[A′I

], recover s from

vt[RI

]= st

[GRI

]≈ st1G.

I Invert SIS: given target u, output x =[RI

]·G−1(u). Then

A′x = G ·G−1(u) = u.

Problem: x is ‘skewed,’ leaks trapdoor R!

Solution: output x = p +[RI

]·G−1(u−A′p) for ‘perturbation’ p.

Gauss → x u

A′

≡ u← Znqx

A′−1

9 / 12

Page 35: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Public Key ⇒ TDF, Signatures, IBE [GPV’08,MP’12]

I Let A′ = [A | G−AR], so A′[RI

]= G. Trapdoor = R.

I Invert LWE: given vt = st[A′I

], recover s from

vt[RI

]= st

[GRI

]≈ st1G.

I Invert SIS: given target u, output x =[RI

]·G−1(u). Then

A′x = G ·G−1(u) = u.

Problem: x is ‘skewed,’ leaks trapdoor R!

Solution: output x = p +[RI

]·G−1(u−A′p) for ‘perturbation’ p.

Gauss → x u

A′

≡ u← Znqx

A′−1

9 / 12

Page 36: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Public Key ⇒ TDF, Signatures, IBE [GPV’08,MP’12]

I Let A′ = [A | G−AR], so A′[RI

]= G. Trapdoor = R.

I Invert LWE: given vt = st[A′I

], recover s from

vt[RI

]= st

[GRI

]≈ st1G.

I Invert SIS: given target u, output x =[RI

]·G−1(u). Then

A′x = G ·G−1(u) = u.

Problem: x is ‘skewed,’ leaks trapdoor R!

Solution: output x = p +[RI

]·G−1(u−A′p) for ‘perturbation’ p.

Gauss → x u

A′

≡ u← Znqx

A′−1

9 / 12

Page 37: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Public Key ⇒ TDF, Signatures, IBE [GPV’08,MP’12]

I Let A′ = [A | G−AR], so A′[RI

]= G. Trapdoor = R.

I Invert LWE: given vt = st[A′I

], recover s from

vt[RI

]= st

[GRI

]≈ st1G.

I Invert SIS: given target u, output x =[RI

]·G−1(u). Then

A′x = G ·G−1(u) = u.

Problem: x is ‘skewed,’ leaks trapdoor R!

Solution: output x = p +[RI

]·G−1(u−A′p) for ‘perturbation’ p.

Gauss → x u

A′

≡ u← Znqx

A′−1

9 / 12

Page 38: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Public Key ⇒ TDF, Signatures, IBE [GPV’08,MP’12]

I Let A′ = [A | G−AR], so A′[RI

]= G. Trapdoor = R.

I Invert LWE: given vt = st[A′I

], recover s from

vt[RI

]= st

[GRI

]≈ st1G.

I Invert SIS: given target u, output x =[RI

]·G−1(u). Then

A′x = G ·G−1(u) = u.

Problem: x is ‘skewed,’ leaks trapdoor R!

Solution: output x = p +[RI

]·G−1(u−A′p) for ‘perturbation’ p.

Gauss → x u

A′

≡ u← Znqx

A′−1

9 / 12

Page 39: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Evaluation Key ⇒ FHE [BV’11]

I Secret key s ∈ Zn, ciphertext c ∈ Znq is s.t. st · c ≈ q+12 · µ.

I Homomorphic mult:

(s⊗ s)t · (2c1 ⊗ c2)︸ ︷︷ ︸c×

≈ q+12 · µ1µ2.

Problem: c× has dimension n2!

I “Compress” c× by “recrypting:”

1 Rewrite decryption expression as (s⊗ s)tG · G−1(c×).

2 Hide (s⊗ s)tG in an evaluation key K (having n rows):

st ·K ≈ (s⊗ s)tG.

3 Then

st ·K ·G−1(c×)︸ ︷︷ ︸c′

≈ (s⊗ s)tG ·G−1(c×) ≈ µ1µ2 ·q + 1

2.

10 / 12

Page 40: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Evaluation Key ⇒ FHE [BV’11]

I Secret key s ∈ Zn, ciphertext c ∈ Znq is s.t. st · c ≈ q+12 · µ.

I Homomorphic mult:

(s⊗ s)t · (2c1 ⊗ c2)︸ ︷︷ ︸c×

≈ q+12 · µ1µ2.

Problem: c× has dimension n2!

I “Compress” c× by “recrypting:”

1 Rewrite decryption expression as (s⊗ s)tG · G−1(c×).

2 Hide (s⊗ s)tG in an evaluation key K (having n rows):

st ·K ≈ (s⊗ s)tG.

3 Then

st ·K ·G−1(c×)︸ ︷︷ ︸c′

≈ (s⊗ s)tG ·G−1(c×) ≈ µ1µ2 ·q + 1

2.

10 / 12

Page 41: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Evaluation Key ⇒ FHE [BV’11]

I Secret key s ∈ Zn, ciphertext c ∈ Znq is s.t. st · c ≈ q+12 · µ.

I Homomorphic mult:

(s⊗ s)t · (2c1 ⊗ c2)︸ ︷︷ ︸c×

≈ q+12 · µ1µ2.

Problem: c× has dimension n2!

I “Compress” c× by “recrypting:”

1 Rewrite decryption expression as (s⊗ s)tG · G−1(c×).

2 Hide (s⊗ s)tG in an evaluation key K (having n rows):

st ·K ≈ (s⊗ s)tG.

3 Then

st ·K ·G−1(c×)︸ ︷︷ ︸c′

≈ (s⊗ s)tG ·G−1(c×) ≈ µ1µ2 ·q + 1

2.

10 / 12

Page 42: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Evaluation Key ⇒ FHE [BV’11]

I Secret key s ∈ Zn, ciphertext c ∈ Znq is s.t. st · c ≈ q+12 · µ.

I Homomorphic mult:

(s⊗ s)t · (2c1 ⊗ c2)︸ ︷︷ ︸c×

≈ q+12 · µ1µ2.

Problem: c× has dimension n2!

I “Compress” c× by “recrypting:”

1 Rewrite decryption expression as (s⊗ s)tG · G−1(c×).

2 Hide (s⊗ s)tG in an evaluation key K (having n rows):

st ·K ≈ (s⊗ s)tG.

3 Then

st ·K ·G−1(c×)︸ ︷︷ ︸c′

≈ (s⊗ s)tG ·G−1(c×) ≈ µ1µ2 ·q + 1

2.

10 / 12

Page 43: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Evaluation Key ⇒ FHE [BV’11]

I Secret key s ∈ Zn, ciphertext c ∈ Znq is s.t. st · c ≈ q+12 · µ.

I Homomorphic mult:

(s⊗ s)t · (2c1 ⊗ c2)︸ ︷︷ ︸c×

≈ q+12 · µ1µ2.

Problem: c× has dimension n2!

I “Compress” c× by “recrypting:”

1 Rewrite decryption expression as (s⊗ s)tG · G−1(c×).

2 Hide (s⊗ s)tG in an evaluation key K (having n rows):

st ·K ≈ (s⊗ s)tG.

3 Then

st ·K ·G−1(c×)︸ ︷︷ ︸c′

≈ (s⊗ s)tG ·G−1(c×) ≈ µ1µ2 ·q + 1

2.

10 / 12

Page 44: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Ciphertext ⇒ FHE [GSW’13]

I Secret key s ∈ Zn, public key A satisfies stA ≈ 0.

I Encrypt µ ∈ {0, 1} as C = AR + µG. Decryption relation is

stC ≈ µ · stG.

I Homomorphic mult: C× = C1 ·G−1(C2).

stC× = stC1 ·G−1(C2)

≈ µ1 · stG ·G−1(C2)

≈ µ1µ2 · stG

Error in C× is et1 ·G−1(C2) + µ1 · et2.

Asymmetry allows homom mult with additive noise growth. [BV’13]

11 / 12

Page 45: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Ciphertext ⇒ FHE [GSW’13]

I Secret key s ∈ Zn, public key A satisfies stA ≈ 0.

I Encrypt µ ∈ {0, 1} as C = AR + µG. Decryption relation is

stC ≈ µ · stG.

I Homomorphic mult: C× = C1 ·G−1(C2).

stC× = stC1 ·G−1(C2)

≈ µ1 · stG ·G−1(C2)

≈ µ1µ2 · stG

Error in C× is et1 ·G−1(C2) + µ1 · et2.

Asymmetry allows homom mult with additive noise growth. [BV’13]

11 / 12

Page 46: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Ciphertext ⇒ FHE [GSW’13]

I Secret key s ∈ Zn, public key A satisfies stA ≈ 0.

I Encrypt µ ∈ {0, 1} as C = AR + µG. Decryption relation is

stC ≈ µ · stG.

I Homomorphic mult: C× = C1 ·G−1(C2).

stC× = stC1 ·G−1(C2)

≈ µ1 · stG ·G−1(C2)

≈ µ1µ2 · stG

Error in C× is et1 ·G−1(C2) + µ1 · et2.

Asymmetry allows homom mult with additive noise growth. [BV’13]

11 / 12

Page 47: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Ciphertext ⇒ FHE [GSW’13]

I Secret key s ∈ Zn, public key A satisfies stA ≈ 0.

I Encrypt µ ∈ {0, 1} as C = AR + µG. Decryption relation is

stC ≈ µ · stG.

I Homomorphic mult: C× = C1 ·G−1(C2).

stC× = stC1 ·G−1(C2)

≈ µ1 · stG ·G−1(C2)

≈ µ1µ2 · stG

Error in C× is et1 ·G−1(C2) + µ1 · et2.

Asymmetry allows homom mult with additive noise growth. [BV’13]

11 / 12

Page 48: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Put G in Ciphertext ⇒ FHE [GSW’13]

I Secret key s ∈ Zn, public key A satisfies stA ≈ 0.

I Encrypt µ ∈ {0, 1} as C = AR + µG. Decryption relation is

stC ≈ µ · stG.

I Homomorphic mult: C× = C1 ·G−1(C2).

stC× = stC1 ·G−1(C2)

≈ µ1 · stG ·G−1(C2)

≈ µ1µ2 · stG

Error in C× is et1 ·G−1(C2) + µ1 · et2.

Asymmetry allows homom mult with additive noise growth. [BV’13]

11 / 12

Page 49: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Concluding Thoughts

I Many more applications:

PRFs [BPR’12,BLMR’13], ABE [GVW’13,GGHSW’13], Obf & FE[GGHRSW’13], . . .

I Amazing amount of magic from such a small bag of tricks!A true case of making strength out of ‘weakness.’

Thanks!

12 / 12

Page 50: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Concluding Thoughts

I Many more applications:

PRFs [BPR’12,BLMR’13], ABE [GVW’13,GGHSW’13], Obf & FE[GGHRSW’13], . . .

I Amazing amount of magic from such a small bag of tricks!A true case of making strength out of ‘weakness.’

Thanks!

12 / 12

Page 51: Lattices: to Cryptographyoded/SSF/cp.pdf · Georgia Institute of Technology Visions of Cryptography 10 December 2013 1/12. Agenda 1 The two one main lattice-based OWF 2 Two simple

Concluding Thoughts

I Many more applications:

PRFs [BPR’12,BLMR’13], ABE [GVW’13,GGHSW’13], Obf & FE[GGHRSW’13], . . .

I Amazing amount of magic from such a small bag of tricks!A true case of making strength out of ‘weakness.’

Thanks!

12 / 12