Faster Bootstrapping with Polynomial Error Jacob Alperin-Sheriff - - PowerPoint PPT Presentation

faster bootstrapping with polynomial error jacob alperin
SMART_READER_LITE
LIVE PREVIEW

Faster Bootstrapping with Polynomial Error Jacob Alperin-Sheriff - - PowerPoint PPT Presentation

Faster Bootstrapping with Polynomial Error Jacob Alperin-Sheriff Chris Peikert School of Computer Science Georgia Tech CRYPTO 2014 19 August 2014 1 / 10 Fully Homomorphic Encryption [RAD78,Gentry09] FHE lets you do this: Eval (


slide-1
SLIDE 1

Faster Bootstrapping with Polynomial Error Jacob Alperin-Sheriff Chris Peikert

School of Computer Science Georgia Tech

CRYPTO 2014 19 August 2014

1 / 10

slide-2
SLIDE 2

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

◮ 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,. . . ]

2 / 10

slide-3
SLIDE 3

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

◮ 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,. . . ]

◮ “Naturally occurring” schemes are somewhat homomorphic (SHE): can only evaluate functions of an a priori bounded depth. µ Eval(f) f(µ) Eval(g) g(f(µ))

2 / 10

slide-4
SLIDE 4

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

◮ 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,. . . ]

◮ “Naturally occurring” schemes are somewhat homomorphic (SHE): can only evaluate functions of an a priori bounded depth. µ Eval(f) f(µ) Eval(g) g(f(µ)) ◮ Thus far, “bootstrapping” is required to achieve unbounded FHE.

2 / 10

slide-5
SLIDE 5

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

µ

3 / 10

slide-6
SLIDE 6

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

µ ◮ Error growth of bootstrapping determines cryptographic assumptions.

3 / 10

slide-7
SLIDE 7

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

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

3 / 10

slide-8
SLIDE 8

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

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

⋆ Homom Addition: Error grows additively. 3 / 10

slide-9
SLIDE 9

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

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

⋆ Homom Addition: Error grows additively. ⋆ Homom Multiplication: Error grows by poly(λ) factor. 3 / 10

slide-10
SLIDE 10

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

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

⋆ Homom Addition: Error grows additively. ⋆ Homom Multiplication: Error grows by poly(λ) factor.

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

3 / 10

slide-11
SLIDE 11

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

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

⋆ Homom Addition: Error grows additively. ⋆ Homom Multiplication: Error grows by poly(λ) factor.

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

3 / 10

slide-12
SLIDE 12

Bootstrapping: SHE → FHE [Gentry’09]

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

  • Dec
  • · , µ

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

⋆ Homom Addition: Error grows additively. ⋆ Homom Multiplication: Error grows by poly(λ) factor.

◮ Known decryption circuits have logarithmic O(log λ) depth. = ⇒ Quasi-polynomial λO(log λ) error growth and lattice approx factors ◮ Can we do better?

3 / 10

slide-13
SLIDE 13

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication in [GSW’13] is asymmetric: Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2.

4 / 10

slide-14
SLIDE 14

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication in [GSW’13] is asymmetric: Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2. ◮ Make multiplication right-associative: C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error

i ei · poly(λ)

4 / 10

slide-15
SLIDE 15

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication in [GSW’13] is asymmetric: Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2. ◮ Make multiplication right-associative: C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error

i ei · poly(λ)

◮ Barrington’s Theorem depth d

(P0,1) (P0,0) (P1,1) (P1,0) . . . . . . (P14,1) (P14,0) (P15,1) (P15,0)

length 4d

4 / 10

slide-16
SLIDE 16

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication in [GSW’13] is asymmetric: Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2. ◮ Make multiplication right-associative: C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error

i ei · poly(λ)

◮ Barrington’s Theorem 1 depth d

(P0,1) (P0,0) (P1,1) (P1,0) . . . . . . (P14,1) (P14,0) (P15,1) (P15,0)

length 4d

4 / 10

slide-17
SLIDE 17

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication in [GSW’13] is asymmetric: Error in C := C1 d C2 is e := e1 · poly(λ) + µ1 · e2. ◮ Make multiplication right-associative: C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error

i ei · poly(λ)

◮ Barrington’s Theorem 1 depth d ≈ 3 log λ

(P0,1) (P0,0) (P1,1) (P1,0) . . . . . . (P14,1) (P14,0) (P15,1) (P15,0)

length 4d ≈ λ6 ✗ Problem: Barrington’s transformation is very inefficient.

4 / 10

slide-18
SLIDE 18

Our Results

1 Faster bootstrapping with small polynomial error growth

5 / 10

slide-19
SLIDE 19

Our Results

1 Faster bootstrapping with small polynomial error growth

⋆ Treats decryption as an arithmetic function over Zq, not a circuit. 5 / 10

slide-20
SLIDE 20

Our Results

1 Faster bootstrapping with small polynomial error growth

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

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

5 / 10

slide-21
SLIDE 21

Our Results

1 Faster bootstrapping with small polynomial error growth

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

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

⋆ Key Idea: Embed additive group (Zq, +) into small symmetric group 5 / 10

slide-22
SLIDE 22

Our Results

1 Faster bootstrapping with small polynomial error growth

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

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

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

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing)

˜ O(1) ✔ λO(log λ)

[BV’14]

˜ O(λ6) large poly(λ) This work ˜ O(λ) ✔ ˜ O(λ2)

5 / 10

slide-23
SLIDE 23

Our Results

1 Faster bootstrapping with small polynomial error growth

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

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

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

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing)

˜ O(1) ✔ λO(log λ)

[BV’14]

˜ O(λ6) large poly(λ) This work ˜ O(λ) ✔ ˜ O(λ2)

2 Variant of [GSW’13] encryption scheme

5 / 10

slide-24
SLIDE 24

Our Results

1 Faster bootstrapping with small polynomial error growth

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

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

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

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing)

˜ O(1) ✔ λO(log λ)

[BV’14]

˜ O(λ6) large poly(λ) This work ˜ O(λ) ✔ ˜ O(λ2)

2 Variant of [GSW’13] encryption scheme

⋆ Very simple description and error analysis 5 / 10

slide-25
SLIDE 25

Our Results

1 Faster bootstrapping with small polynomial error growth

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

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

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

Reference # Homom Ops Noise Growth

[GHS’12,AP’13] (packing)

˜ O(1) ✔ λO(log λ)

[BV’14]

˜ O(λ6) large poly(λ) This work ˜ O(λ) ✔ ˜ O(λ2)

2 Variant of [GSW’13] encryption scheme

⋆ Very simple description and error analysis ⋆ Enjoys full re-randomization of error as a natural side effect

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

5 / 10

slide-26
SLIDE 26

Simpler GSW Variant

◮ “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A, G−1(A) is short and G · G−1(A) = A (mod q).

6 / 10

slide-27
SLIDE 27

Simpler GSW Variant

◮ “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A, G−1(A) is short and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying sC = µ · sG + e (mod q).

6 / 10

slide-28
SLIDE 28

Simpler GSW Variant

◮ “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A, G−1(A) is short and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying sC = µ · sG + e (mod q). ◮ 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

.

6 / 10

slide-29
SLIDE 29

Simpler GSW Variant

◮ “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A, G−1(A) is short and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying sC = µ · sG + e (mod q). ◮ 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

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

6 / 10

slide-30
SLIDE 30

Simpler GSW Variant

◮ “Gadget” Zq-matrix G [MP’12]: for any Zq-matrix A, G−1(A) is short and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ {0, 1} under s is a Zq-matrix C satisfying sC = µ · sG + e (mod q). ◮ 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

. ◮ Old method [GSW’13]: G−1 is deterministic bit decomposition. ◮ New: G−1 samples a (random) subgaussian preimage.

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

6 / 10

slide-31
SLIDE 31

Overview of Our Bootstrapping Algorithm

◮ Decryption in LWE-based schemes can be expressed as Decs(c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n

7 / 10

slide-32
SLIDE 32

Overview of Our Bootstrapping Algorithm

◮ Decryption in LWE-based schemes can be expressed as Decs(c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n 1 Prepare: Encrypt each sj ∈ Zq under a certain group embedding.

7 / 10

slide-33
SLIDE 33

Overview of Our Bootstrapping Algorithm

◮ Decryption in LWE-based schemes can be expressed as Decs(c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

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

  • therwise

7 / 10

slide-34
SLIDE 34

Overview of Our Bootstrapping Algorithm

◮ Decryption in LWE-based schemes can be expressed as Decs(c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

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

  • therwise

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

2 Inner Product: compute v := s , c =

ð

j: cj=1

sj

7 / 10

slide-35
SLIDE 35

Overview of Our Bootstrapping Algorithm

◮ Decryption in LWE-based schemes can be expressed as Decs(c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

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

  • therwise

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

2 Inner Product: compute v := s , c =

ð

j: cj=1

sj

3 Round: compute ⌊v⌉2 :=

ð

z: ⌊z⌉2=1

Equals( v , z)

7 / 10

slide-36
SLIDE 36

Overview of Our Bootstrapping Algorithm

◮ Decryption in LWE-based schemes can be expressed as Decs(c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

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

  • therwise

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

2 Inner Product: compute v := s , c =

ð

j: cj=1

sj

3 Round: compute ⌊v⌉2 :=

ð

z: ⌊z⌉2=1

Equals( v , z) ◮ Remains to implement Ð and Equals for plaintext space Zq.

7 / 10

slide-37
SLIDE 37

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

Zq 1 . . . q − 1 Sq    

1 1 ... 1

       

1 1 ... 1

    . . .    

1 ... 1 1

   

8 / 10

slide-38
SLIDE 38

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

Zq 1 . . . q − 1 Sq    

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1

8 / 10

slide-39
SLIDE 39

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

Zq 1 . . . q − 1 Sq    

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1 ◮ Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

⋆ Recall: Right-associative multiplication yields polynomial error growth. 8 / 10

slide-40
SLIDE 40

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

Zq 1 . . . q − 1 Sq    

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1 ◮ Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

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

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

8 / 10

slide-41
SLIDE 41

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

Zq 1 . . . q − 1 Sq    

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1 ◮ Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

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

◮ Equality test: Equals( a , b): take bth entry from first column of Pa . ◮ Bottom line: ˜ O(λ3) homomorphic operations to bootstrap.

8 / 10

slide-42
SLIDE 42

Embedding (Zq, +) into Smaller Symmetric Groups

◮ Let q = p1 · · · pt = ˜ O(λ) for distinct prime pi.

⋆ Prime Number Theorem allows pi, t = O(log λ). 9 / 10

slide-43
SLIDE 43

Embedding (Zq, +) into Smaller Symmetric Groups

◮ Let q = p1 · · · pt = ˜ O(λ) for distinct prime pi.

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

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

9 / 10

slide-44
SLIDE 44

Embedding (Zq, +) into Smaller Symmetric Groups

◮ Let q = p1 · · · pt = ˜ O(λ) for distinct prime pi.

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

Chinese Remainder Theorem: Zq ∼ = Zp1 × · · · × Zpt ◮ New embedding: Zq → Sp1 × · · · × Spt x → (Px mod p1, . . . , Px mod pt)

9 / 10

slide-45
SLIDE 45

Embedding (Zq, +) into Smaller Symmetric Groups

◮ Let q = p1 · · · pt = ˜ O(λ) for distinct prime pi.

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

Chinese Remainder Theorem: Zq ∼ = Zp1 × · · · × Zpt ◮ New embedding: Zq → Sp1 × · · · × Spt x → (Px mod p1, . . . , Px mod pt) ◮ Addition: same as in warmup, but component-wise

9 / 10

slide-46
SLIDE 46

Embedding (Zq, +) into Smaller Symmetric Groups

◮ Let q = p1 · · · pt = ˜ O(λ) for distinct prime pi.

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

Chinese Remainder Theorem: Zq ∼ = Zp1 × · · · × Zpt ◮ New embedding: Zq → Sp1 × · · · × Spt x → (Px mod p1, . . . , Px mod pt) ◮ Addition: same as in warmup, but component-wise ◮ Equality test: Equalsq( a , b) = ô

i

Equalspi( ai , b mod pi)

9 / 10

slide-47
SLIDE 47

Embedding (Zq, +) into Smaller Symmetric Groups

◮ Let q = p1 · · · pt = ˜ O(λ) for distinct prime pi.

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

Chinese Remainder Theorem: Zq ∼ = Zp1 × · · · × Zpt ◮ New embedding: Zq → Sp1 × · · · × Spt x → (Px mod p1, . . . , Px mod pt) ◮ Addition: same as in warmup, but component-wise ◮ Equality test: Equalsq( a , b) = ô

i

Equalspi( ai , b mod pi) ◮ Bottom line: ˜ O(λ) homomorphic operations to bootstrap.

9 / 10

slide-48
SLIDE 48

Open Problems

◮ Can we bootstrap in sublinear homom ops with polynomial error?

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

slide-49
SLIDE 49

Open Problems

◮ Can we bootstrap in sublinear homom ops with polynomial error?

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

◮ Circular security for unbounded FHE?

⋆ Does our representation help or hurt security? 10 / 10

slide-50
SLIDE 50

Open Problems

◮ Can we bootstrap in sublinear homom ops with polynomial error?

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

◮ Circular security for unbounded FHE?

⋆ Does our representation help or hurt security?

Thanks!

10 / 10