faster bootstrapping with polynomial errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf ·...

50
Faster Bootstrapping with Polynomial Error Jacob Alperin-Sheriff Chris Peikert School of Computer Science Georgia Tech CRYPTO 2014 19 August 2014 1 / 10

Upload: others

Post on 27-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Faster Bootstrapping withPolynomial Error

Jacob Alperin-Sheriff Chris Peikert

School of Computer ScienceGeorgia Tech

CRYPTO 201419 August 2014

1 / 10

Page 2: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Fully Homomorphic Encryption [RAD’78,Gentry’09]

I FHE lets you do this:

µ Eval(f) f(µ)

A cryptographic “holy grail” with countless applications.

First solved in [Gentry’09], followed by[vDGHV’10,BV’11a,BV’11b,BGV’12,B’12,GSW’13,. . . ]

I “Naturally occurring” schemes are somewhat homomorphic (SHE):can only evaluate functions of an a priori bounded depth.

µ Eval(f) f(µ) Eval(g) g(f(µ))

I Thus far, “bootstrapping” is required to achieve unbounded FHE.

2 / 10

Page 3: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Fully Homomorphic Encryption [RAD’78,Gentry’09]

I FHE lets you do this:

µ Eval(f) f(µ)

A cryptographic “holy grail” with countless applications.

First solved in [Gentry’09], followed by[vDGHV’10,BV’11a,BV’11b,BGV’12,B’12,GSW’13,. . . ]

I “Naturally occurring” schemes are somewhat homomorphic (SHE):can only evaluate functions of an a priori bounded depth.

µ Eval(f) f(µ) Eval(g) g(f(µ))

I Thus far, “bootstrapping” is required to achieve unbounded FHE.

2 / 10

Page 4: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Fully Homomorphic Encryption [RAD’78,Gentry’09]

I FHE lets you do this:

µ Eval(f) f(µ)

A cryptographic “holy grail” with countless applications.

First solved in [Gentry’09], followed by[vDGHV’10,BV’11a,BV’11b,BGV’12,B’12,GSW’13,. . . ]

I “Naturally occurring” schemes are somewhat homomorphic (SHE):can only evaluate functions of an a priori bounded depth.

µ Eval(f) f(µ) Eval(g) g(f(µ))

I Thus far, “bootstrapping” is required to achieve unbounded FHE.

2 / 10

Page 5: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.

State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 6: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.

State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 7: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.

=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 8: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.

=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 9: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.

=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 10: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.

=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 11: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 12: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping: SHE → FHE [Gentry’09]

I Homomorphically evaluates the SHE decryption function to “refresh”a ciphertext µ , allowing further homomorphic operations.

sk Eval(

Dec(· , µ

) )µ

I Error growth of bootstrapping determines cryptographic assumptions.State of the art [BGV’12,B’12,GSW’13]:

F Homom Addition: Error grows additively.

F Homom Multiplication: Error grows by poly(λ) factor.

I Known decryption circuits have logarithmic O(log λ) depth.=⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors

I Can we do better?

3 / 10

Page 13: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

I Error growth for multiplication in [GSW’13] is asymmetric:

Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2.

I Make multiplication right-associative:

C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error∑

i ei · poly(λ)

I Barrington’s Theorem

0

0

1

(P0,1)

(P0,0)

(P1,1)

(P1,0)

. . .

. . .

(P14,1)

(P14,0)

(P15,1)

(P15,0)

7 Problem: Barrington’s transformation is very inefficient.

4 / 10

Page 14: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

I Error growth for multiplication in [GSW’13] is asymmetric:

Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2.

I Make multiplication right-associative:

C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error∑

i ei · poly(λ)

I Barrington’s Theorem

0

0

1

(P0,1)

(P0,0)

(P1,1)

(P1,0)

. . .

. . .

(P14,1)

(P14,0)

(P15,1)

(P15,0)

7 Problem: Barrington’s transformation is very inefficient.

4 / 10

Page 15: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

I Error growth for multiplication in [GSW’13] is asymmetric:

Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2.

I Make multiplication right-associative:

C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error∑

i ei · poly(λ)

I Barrington’s Theorem

0

0

1

depth d

≈ 3 log λ

(P0,1)

(P0,0)

(P1,1)

(P1,0)

. . .

. . .

(P14,1)

(P14,0)

(P15,1)

(P15,0)

length 4d

≈ λ6

7 Problem: Barrington’s transformation is very inefficient.

4 / 10

Page 16: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

I Error growth for multiplication in [GSW’13] is asymmetric:

Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2.

I Make multiplication right-associative:

C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error∑

i ei · poly(λ)

I Barrington’s Theorem

0

0

1

depth d

≈ 3 log λ

(P0,1)

(P0,0)

(P1,1)

(P1,0)

. . .

. . .

(P14,1)

(P14,0)

(P15,1)

(P15,0)

length 4d

≈ λ6

7 Problem: Barrington’s transformation is very inefficient.

4 / 10

Page 17: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

I Error growth for multiplication in [GSW’13] is asymmetric:

Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2.

I Make multiplication right-associative:

C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error∑

i ei · poly(λ)

I Barrington’s Theorem

0

0

1

depth d ≈ 3 log λ

(P0,1)

(P0,0)

(P1,1)

(P1,0)

. . .

. . .

(P14,1)

(P14,0)

(P15,1)

(P15,0)

length 4d ≈ λ6

7 Problem: Barrington’s transformation is very inefficient.

4 / 10

Page 18: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.

Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption scheme

F Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 19: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.

Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption scheme

F Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 20: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption scheme

F Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 21: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption scheme

F Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 22: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption scheme

F Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 23: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption scheme

F Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 24: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption schemeF Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 25: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Our Results

1 Faster bootstrapping with small polynomial error growth

F Treats decryption as an arithmetic function over Zq, not a circuit.Avoids Barrington’s Theorem – but still uses permutation matrices!

F Key Idea: Embed additive group (Zq,+) into small symmetric group

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing) O(1) 4 λO(log λ)

[BV’14] O(λ6) large poly(λ)

This work O(λ) 4 O(λ2)

2 Variant of [GSW’13] encryption schemeF Very simple description and error analysis

F Enjoys full re-randomization of error as a natural side effect

Cf. [BV’14]: partial re-randomization, using extra key material

5 / 10

Page 26: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Simpler GSW Variant

I “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A,

G−1(A) is short and G ·G−1(A) = A (mod q).

I Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying

sC = µ · sG+ e (mod q).

I Homomorphic multiplication: C1 d C2 := C1 ·G−1(C2).

sC1 ·G−1(C2) = (µ1 · sG+ e1) ·G−1(C2)

= µ1 · sC2 + e1 ·G−1(C2)

= µ1µ2 · sG+ µ1 · e2 + e1 ·G−1(C2)︸ ︷︷ ︸new error

.

I Old method [GSW’13]: G−1 is deterministic bit decomposition.

I New: G−1 samples a (random) subgaussian preimage.

⇒ Tight O(√n) error growth, full rerandomization of error

6 / 10

Page 27: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Simpler GSW Variant

I “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A,

G−1(A) is short and G ·G−1(A) = A (mod q).

I Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying

sC = µ · sG+ e (mod q).

I Homomorphic multiplication: C1 d C2 := C1 ·G−1(C2).

sC1 ·G−1(C2) = (µ1 · sG+ e1) ·G−1(C2)

= µ1 · sC2 + e1 ·G−1(C2)

= µ1µ2 · sG+ µ1 · e2 + e1 ·G−1(C2)︸ ︷︷ ︸new error

.

I Old method [GSW’13]: G−1 is deterministic bit decomposition.

I New: G−1 samples a (random) subgaussian preimage.

⇒ Tight O(√n) error growth, full rerandomization of error

6 / 10

Page 28: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Simpler GSW Variant

I “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A,

G−1(A) is short and G ·G−1(A) = A (mod q).

I Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying

sC = µ · sG+ e (mod q).

I Homomorphic multiplication: C1 d C2 := C1 ·G−1(C2).

sC1 ·G−1(C2) = (µ1 · sG+ e1) ·G−1(C2)

= µ1 · sC2 + e1 ·G−1(C2)

= µ1µ2 · sG+ µ1 · e2 + e1 ·G−1(C2)︸ ︷︷ ︸new error

.

I Old method [GSW’13]: G−1 is deterministic bit decomposition.

I New: G−1 samples a (random) subgaussian preimage.

⇒ Tight O(√n) error growth, full rerandomization of error

6 / 10

Page 29: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Simpler GSW Variant

I “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A,

G−1(A) is short and G ·G−1(A) = A (mod q).

I Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying

sC = µ · sG+ e (mod q).

I Homomorphic multiplication: C1 d C2 := C1 ·G−1(C2).

sC1 ·G−1(C2) = (µ1 · sG+ e1) ·G−1(C2)

= µ1 · sC2 + e1 ·G−1(C2)

= µ1µ2 · sG+ µ1 · e2 + e1 ·G−1(C2)︸ ︷︷ ︸new error

.

I Old method [GSW’13]: G−1 is deterministic bit decomposition.

I New: G−1 samples a (random) subgaussian preimage.

⇒ Tight O(√n) error growth, full rerandomization of error

6 / 10

Page 30: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Simpler GSW Variant

I “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A,

G−1(A) is short and G ·G−1(A) = A (mod q).

I Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying

sC = µ · sG+ e (mod q).

I Homomorphic multiplication: C1 d C2 := C1 ·G−1(C2).

sC1 ·G−1(C2) = (µ1 · sG+ e1) ·G−1(C2)

= µ1 · sC2 + e1 ·G−1(C2)

= µ1µ2 · sG+ µ1 · e2 + e1 ·G−1(C2)︸ ︷︷ ︸new error

.

I Old method [GSW’13]: G−1 is deterministic bit decomposition.

I New: G−1 samples a (random) subgaussian preimage.

⇒ Tight O(√n) error growth, full rerandomization of error

6 / 10

Page 31: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Overview of Our Bootstrapping Algorithm

I Decryption in LWE-based schemes can be expressed as

Decs(c) := b〈s, c〉e2 ∈ {0, 1} with s ∈ Znq , c ∈ {0, 1}n

1 Prepare: Encrypt each sj ∈ Zq under a certain group embedding.

Bootstrapping procedure uses two homomorphic algorithms:

a ‘ b = a+ b and Equals( v , z) =

{1 if v = z

0 otherwise

Given ciphertext c ∈ {0, 1}n and encryptions sj , evaluate:

2 Inner Product: compute v := 〈 s , c〉 =ð

j: cj=1

sj

3 Round: compute bve2 :=ð

z: bze2=1

Equals( v , z)

I Remains to implementÐ

and Equals for plaintext space Zq.

7 / 10

Page 32: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Overview of Our Bootstrapping Algorithm

I Decryption in LWE-based schemes can be expressed as

Decs(c) := b〈s, c〉e2 ∈ {0, 1} with s ∈ Znq , c ∈ {0, 1}n

1 Prepare: Encrypt each sj ∈ Zq under a certain group embedding.

Bootstrapping procedure uses two homomorphic algorithms:

a ‘ b = a+ b and Equals( v , z) =

{1 if v = z

0 otherwise

Given ciphertext c ∈ {0, 1}n and encryptions sj , evaluate:

2 Inner Product: compute v := 〈 s , c〉 =ð

j: cj=1

sj

3 Round: compute bve2 :=ð

z: bze2=1

Equals( v , z)

I Remains to implementÐ

and Equals for plaintext space Zq.

7 / 10

Page 33: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Overview of Our Bootstrapping Algorithm

I Decryption in LWE-based schemes can be expressed as

Decs(c) := b〈s, c〉e2 ∈ {0, 1} with s ∈ Znq , c ∈ {0, 1}n

1 Prepare: Encrypt each sj ∈ Zq under a certain group embedding.

Bootstrapping procedure uses two homomorphic algorithms:

a ‘ b = a+ b and Equals( v , z) =

{1 if v = z

0 otherwise

Given ciphertext c ∈ {0, 1}n and encryptions sj , evaluate:

2 Inner Product: compute v := 〈 s , c〉 =ð

j: cj=1

sj

3 Round: compute bve2 :=ð

z: bze2=1

Equals( v , z)

I Remains to implementÐ

and Equals for plaintext space Zq.

7 / 10

Page 34: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Overview of Our Bootstrapping Algorithm

I Decryption in LWE-based schemes can be expressed as

Decs(c) := b〈s, c〉e2 ∈ {0, 1} with s ∈ Znq , c ∈ {0, 1}n

1 Prepare: Encrypt each sj ∈ Zq under a certain group embedding.

Bootstrapping procedure uses two homomorphic algorithms:

a ‘ b = a+ b and Equals( v , z) =

{1 if v = z

0 otherwise

Given ciphertext c ∈ {0, 1}n and encryptions sj , evaluate:

2 Inner Product: compute v := 〈 s , c〉 =ð

j: cj=1

sj

3 Round: compute bve2 :=ð

z: bze2=1

Equals( v , z)

I Remains to implementÐ

and Equals for plaintext space Zq.

7 / 10

Page 35: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Overview of Our Bootstrapping Algorithm

I Decryption in LWE-based schemes can be expressed as

Decs(c) := b〈s, c〉e2 ∈ {0, 1} with s ∈ Znq , c ∈ {0, 1}n

1 Prepare: Encrypt each sj ∈ Zq under a certain group embedding.

Bootstrapping procedure uses two homomorphic algorithms:

a ‘ b = a+ b and Equals( v , z) =

{1 if v = z

0 otherwise

Given ciphertext c ∈ {0, 1}n and encryptions sj , evaluate:

2 Inner Product: compute v := 〈 s , c〉 =ð

j: cj=1

sj

3 Round: compute bve2 :=ð

z: bze2=1

Equals( v , z)

I Remains to implementÐ

and Equals for plaintext space Zq.

7 / 10

Page 36: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Overview of Our Bootstrapping Algorithm

I Decryption in LWE-based schemes can be expressed as

Decs(c) := b〈s, c〉e2 ∈ {0, 1} with s ∈ Znq , c ∈ {0, 1}n

1 Prepare: Encrypt each sj ∈ Zq under a certain group embedding.

Bootstrapping procedure uses two homomorphic algorithms:

a ‘ b = a+ b and Equals( v , z) =

{1 if v = z

0 otherwise

Given ciphertext c ∈ {0, 1}n and encryptions sj , evaluate:

2 Inner Product: compute v := 〈 s , c〉 =ð

j: cj=1

sj

3 Round: compute bve2 :=ð

z: bze2=1

Equals( v , z)

I Remains to implementÐ

and Equals for plaintext space Zq.7 / 10

Page 37: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Warmup: Embedding (Zq,+) into (Sq, ·)

Zq 0 1 . . . q − 1

Sq

1

1 1

0

1

...

. . .

0

1

0 1

1

1

1

...

. . .

0

1

. . .

0

1

1

... 1

. . .

0

1

1

1

P0 P1 . . . Pq−1

I Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

F Recall: Right-associative multiplication yields polynomial error growth.

I Equality test: Equals( a , b): take bth entry from first column of Pa .

I Bottom line: O(λ3) homomorphic operations to bootstrap.

8 / 10

Page 38: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Warmup: Embedding (Zq,+) into (Sq, ·)

Zq 0 1 . . . q − 1

Sq

1

1 1

0 1

.... . .

0 1

0

1

1

1

1

.... . .

0 1

. . .

0 1

1

...

1

. . .

0 1

1

1

P0 P1 . . . Pq−1

I Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

F Recall: Right-associative multiplication yields polynomial error growth.

I Equality test: Equals( a , b): take bth entry from first column of Pa .

I Bottom line: O(λ3) homomorphic operations to bootstrap.

8 / 10

Page 39: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Warmup: Embedding (Zq,+) into (Sq, ·)

Zq 0 1 . . . q − 1

Sq

1

1 1

0 1

.... . .

0 1

0

1

1

1

1

.... . .

0 1

. . .

0 1

1

...

1

. . .

0 1

1

1

P0 P1 . . . Pq−1

I Addition: a ‘ b implemented as Pa d Pb = Pa · PbF Recall: Right-associative multiplication yields polynomial error growth.

I Equality test: Equals( a , b): take bth entry from first column of Pa .

I Bottom line: O(λ3) homomorphic operations to bootstrap.

8 / 10

Page 40: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Warmup: Embedding (Zq,+) into (Sq, ·)

Zq 0 1 . . . q − 1

Sq

1

1 1

0 1

.... . .

0 1

0

1

1

1

1

.... . .

0 1

. . .

0 1

1

...

1

. . .

0 1

1

1

P0 P1 . . . Pq−1

I Addition: a ‘ b implemented as Pa d Pb = Pa · PbF Recall: Right-associative multiplication yields polynomial error growth.

I Equality test: Equals( a , b): take bth entry from first column of Pa .

I Bottom line: O(λ3) homomorphic operations to bootstrap.

8 / 10

Page 41: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Warmup: Embedding (Zq,+) into (Sq, ·)

Zq 0 1 . . . q − 1

Sq

1

1 1

0 1

.... . .

0 1

0

1

1

1

1

.... . .

0 1

. . .

0 1

1

...

1

. . .

0 1

1

1

P0 P1 . . . Pq−1

I Addition: a ‘ b implemented as Pa d Pb = Pa · PbF Recall: Right-associative multiplication yields polynomial error growth.

I Equality test: Equals( a , b): take bth entry from first column of Pa .

I Bottom line: O(λ3) homomorphic operations to bootstrap.

8 / 10

Page 42: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Embedding (Zq,+) into Smaller Symmetric GroupsI Let q = p1 · · · pt = O(λ) for distinct prime pi.

F Prime Number Theorem allows pi, t = O(log λ).

Chinese Remainder Theorem: Zq ∼= Zp1 × · · · × Zpt

I New embedding:

Zq → Sp1 × · · · × Sptx 7→ (Px mod p1 , . . . , Px mod pt)

I Addition: same as in warmup, but component-wise

I Equality test:

Equalsq( a , b) =ô

i

Equalspi( ai , b mod pi)

I Bottom line: O(λ) homomorphic operations to bootstrap.

9 / 10

Page 43: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Embedding (Zq,+) into Smaller Symmetric GroupsI Let q = p1 · · · pt = O(λ) for distinct prime pi.

F Prime Number Theorem allows pi, t = O(log λ).

Chinese Remainder Theorem: Zq ∼= Zp1 × · · · × Zpt

I New embedding:

Zq → Sp1 × · · · × Sptx 7→ (Px mod p1 , . . . , Px mod pt)

I Addition: same as in warmup, but component-wise

I Equality test:

Equalsq( a , b) =ô

i

Equalspi( ai , b mod pi)

I Bottom line: O(λ) homomorphic operations to bootstrap.

9 / 10

Page 44: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Embedding (Zq,+) into Smaller Symmetric GroupsI Let q = p1 · · · pt = O(λ) for distinct prime pi.

F Prime Number Theorem allows pi, t = O(log λ).

Chinese Remainder Theorem: Zq ∼= Zp1 × · · · × ZptI New embedding:

Zq → Sp1 × · · · × Sptx 7→ (Px mod p1 , . . . , Px mod pt)

I Addition: same as in warmup, but component-wise

I Equality test:

Equalsq( a , b) =ô

i

Equalspi( ai , b mod pi)

I Bottom line: O(λ) homomorphic operations to bootstrap.

9 / 10

Page 45: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Embedding (Zq,+) into Smaller Symmetric GroupsI Let q = p1 · · · pt = O(λ) for distinct prime pi.

F Prime Number Theorem allows pi, t = O(log λ).

Chinese Remainder Theorem: Zq ∼= Zp1 × · · · × ZptI New embedding:

Zq → Sp1 × · · · × Sptx 7→ (Px mod p1 , . . . , Px mod pt)

I Addition: same as in warmup, but component-wise

I Equality test:

Equalsq( a , b) =ô

i

Equalspi( ai , b mod pi)

I Bottom line: O(λ) homomorphic operations to bootstrap.

9 / 10

Page 46: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Embedding (Zq,+) into Smaller Symmetric GroupsI Let q = p1 · · · pt = O(λ) for distinct prime pi.

F Prime Number Theorem allows pi, t = O(log λ).

Chinese Remainder Theorem: Zq ∼= Zp1 × · · · × ZptI New embedding:

Zq → Sp1 × · · · × Sptx 7→ (Px mod p1 , . . . , Px mod pt)

I Addition: same as in warmup, but component-wise

I Equality test:

Equalsq( a , b) =ô

i

Equalspi( ai , b mod pi)

I Bottom line: O(λ) homomorphic operations to bootstrap.

9 / 10

Page 47: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Embedding (Zq,+) into Smaller Symmetric GroupsI Let q = p1 · · · pt = O(λ) for distinct prime pi.

F Prime Number Theorem allows pi, t = O(log λ).

Chinese Remainder Theorem: Zq ∼= Zp1 × · · · × ZptI New embedding:

Zq → Sp1 × · · · × Sptx 7→ (Px mod p1 , . . . , Px mod pt)

I Addition: same as in warmup, but component-wise

I Equality test:

Equalsq( a , b) =ô

i

Equalspi( ai , b mod pi)

I Bottom line: O(λ) homomorphic operations to bootstrap.

9 / 10

Page 48: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Open ProblemsI Can we bootstrap in sublinear homom ops with polynomial error?

F Barrier in [GSW’13]: single-bit encryption (no “packing”)

I Circular security for unbounded FHE?

F Does our representation help or hurt security?

Thanks!

10 / 10

Page 49: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Open ProblemsI Can we bootstrap in sublinear homom ops with polynomial error?

F Barrier in [GSW’13]: single-bit encryption (no “packing”)

I Circular security for unbounded FHE?F Does our representation help or hurt security?

Thanks!

10 / 10

Page 50: Faster Bootstrapping with Polynomial Errorweb.eecs.umich.edu/~cpeikert/pubs/slides-polyboot.pdf · Jacob Alperin-Sheri Chris Peikert School of Computer Science Georgia Tech CRYPTO

Open ProblemsI Can we bootstrap in sublinear homom ops with polynomial error?

F Barrier in [GSW’13]: single-bit encryption (no “packing”)

I Circular security for unbounded FHE?F Does our representation help or hurt security?

Thanks!

10 / 10