Bootstrapping (with Small Error Growth) Chris Peikert University - - PowerPoint PPT Presentation

bootstrapping with small error growth chris peikert
SMART_READER_LITE
LIVE PREVIEW

Bootstrapping (with Small Error Growth) Chris Peikert University - - PowerPoint PPT Presentation

Bootstrapping (with Small Error Growth) Chris Peikert University of Michigan HEAT Summer School 12 Oct 2015 1 / 14 Fully Homomorphic Encryption [RAD78,Gentry09] FHE lets you do this: Eval ( f ) f ( ) A cryptographic holy


slide-1
SLIDE 1

Bootstrapping (with Small Error Growth) Chris Peikert

University of Michigan

HEAT Summer School 12 Oct 2015

1 / 14

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 / 14

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 / 14

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 / 14

slide-5
SLIDE 5

Bootstrapping: SHE → FHE [Gentry’09]

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

3 / 14

slide-6
SLIDE 6

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphically evaluate the SHE decryption function to “refresh” a ciphertext µ , allowing further homomorphic operations. ◮ Decrypting µ as a function of sk: sk Dec

  • · , µ
  • µ

3 / 14

slide-7
SLIDE 7

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphically evaluate the SHE decryption function to “refresh” a ciphertext µ , allowing further homomorphic operations. ◮ Decrypting µ as a function of sk: sk Dec

  • · , µ
  • µ

◮ Homomorphically decrypting µ on sk : sk Eval

  • Dec
  • · , µ

µ

3 / 14

slide-8
SLIDE 8

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphically evaluate the SHE decryption function to “refresh” a ciphertext µ , allowing further homomorphic operations. ◮ Decrypting µ as a function of sk: sk Dec

  • · , µ
  • µ

◮ Homomorphically decrypting µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime of Eval(Dec) is controlled by complexity of Dec.

3 / 14

slide-9
SLIDE 9

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphically evaluate the SHE decryption function to “refresh” a ciphertext µ , allowing further homomorphic operations. ◮ Decrypting µ as a function of sk: sk Dec

  • · , µ
  • µ

◮ Homomorphically decrypting µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime of Eval(Dec) is controlled by complexity of Dec. Error growth of Eval(Dec) determines strength of cryptographic assumption – e.g., initial LWE noise “rate” of sk .

3 / 14

slide-10
SLIDE 10

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ

4 / 14

slide-11
SLIDE 11

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime: quasi-linear ˜ O(λ) using rings [GHS’12,AP’13]

4 / 14

slide-12
SLIDE 12

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime: quasi-linear ˜ O(λ) using rings [GHS’12,AP’13] ◮ Error growth using [BGV’12,B’12,GSW’13]:

4 / 14

slide-13
SLIDE 13

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime: quasi-linear ˜ O(λ) using rings [GHS’12,AP’13] ◮ Error growth using [BGV’12,B’12,GSW’13]:

⋆ Homom Addition: Error grows additively. 4 / 14

slide-14
SLIDE 14

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime: quasi-linear ˜ O(λ) using rings [GHS’12,AP’13] ◮ Error growth using [BGV’12,B’12,GSW’13]:

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

slide-15
SLIDE 15

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime: quasi-linear ˜ O(λ) using rings [GHS’12,AP’13] ◮ Error growth using [BGV’12,B’12,GSW’13]:

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

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

4 / 14

slide-16
SLIDE 16

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime: quasi-linear ˜ O(λ) using rings [GHS’12,AP’13] ◮ Error growth using [BGV’12,B’12,GSW’13]:

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

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

4 / 14

slide-17
SLIDE 17

Bootstrapping: SHE → FHE [Gentry’09]

◮ Homomorphic decryption of µ on sk : sk Eval

  • Dec
  • · , µ

µ ◮ Runtime: quasi-linear ˜ O(λ) using rings [GHS’12,AP’13] ◮ Error growth using [BGV’12,B’12,GSW’13]:

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

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

Can we do better??

4 / 14

slide-18
SLIDE 18

Agenda for the Talk

1 Branching program bootstrapping with (large) polynomial runtime

and error growth

[BrakerskiVaikuntanathan’14]

5 / 14

slide-19
SLIDE 19

Agenda for the Talk

1 Branching program bootstrapping with (large) polynomial runtime

and error growth

[BrakerskiVaikuntanathan’14]

2 Arithmetic bootstrapping with small polynomial runtime and growth

[Alperin-SheriffPeikert’14]

5 / 14

slide-20
SLIDE 20

Agenda for the Talk

1 Branching program bootstrapping with (large) polynomial runtime

and error growth

[BrakerskiVaikuntanathan’14]

2 Arithmetic bootstrapping with small polynomial runtime and growth

[Alperin-SheriffPeikert’14]

3 Fast (< 1s) ring-based implementation

[DucasMicciancio’15]

5 / 14

slide-21
SLIDE 21

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

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

6 / 14

slide-22
SLIDE 22

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

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

6 / 14

slide-23
SLIDE 23

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

◮ Recall “gadget” matrix G over Zq [MP’12]: for any matrix A over Zq, G−1(A) is short (over Z) and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ Z under s is a Zq-matrix C satisfying sC = µ · sG + e ≈ µ · sG (mod q). ◮ Homomorphic add: C1 ‘ C2 := C1 + C2.

6 / 14

slide-24
SLIDE 24

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

◮ Recall “gadget” matrix G over Zq [MP’12]: for any matrix A over Zq, G−1(A) is short (over Z) and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ Z under s is a Zq-matrix C satisfying sC = µ · sG + e ≈ µ · sG (mod q). ◮ Homomorphic add: C1 ‘ C2 := C1 + C2. ◮ Homomorphic mult: C1 d C2 := C1 · G−1(C2).

6 / 14

slide-25
SLIDE 25

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

◮ Recall “gadget” matrix G over Zq [MP’12]: for any matrix A over Zq, G−1(A) is short (over Z) and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ Z under s is a Zq-matrix C satisfying sC = µ · sG + e ≈ µ · sG (mod q). ◮ Homomorphic add: C1 ‘ C2 := C1 + C2. ◮ Homomorphic mult: C1 d C2 := C1 · G−1(C2). s · C1 · G−1(C2) = (µ1 · sG + e1) · G−1(C2)

6 / 14

slide-26
SLIDE 26

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

◮ Recall “gadget” matrix G over Zq [MP’12]: for any matrix A over Zq, G−1(A) is short (over Z) and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ Z under s is a Zq-matrix C satisfying sC = µ · sG + e ≈ µ · sG (mod q). ◮ Homomorphic add: C1 ‘ C2 := C1 + C2. ◮ Homomorphic mult: C1 d C2 := C1 · G−1(C2). s · C1 · G−1(C2) = (µ1 · sG + e1) · G−1(C2) = µ1 · sC2 + e1 · G−1(C2)

6 / 14

slide-27
SLIDE 27

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

◮ Recall “gadget” matrix G over Zq [MP’12]: for any matrix A over Zq, G−1(A) is short (over Z) and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ Z under s is a Zq-matrix C satisfying sC = µ · sG + e ≈ µ · sG (mod q). ◮ Homomorphic add: C1 ‘ C2 := C1 + C2. ◮ Homomorphic mult: C1 d C2 := C1 · G−1(C2). s · C1 · 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 e

.

6 / 14

slide-28
SLIDE 28

Somewhat Homomorphic Encryption [GentrySahaiWaters’13]

◮ Recall “gadget” matrix G over Zq [MP’12]: for any matrix A over Zq, G−1(A) is short (over Z) and G · G−1(A) = A (mod q). ◮ Ciphertext encrypting µ ∈ Z under s is a Zq-matrix C satisfying sC = µ · sG + e ≈ µ · sG (mod q). ◮ Homomorphic add: C1 ‘ C2 := C1 + C2. ◮ Homomorphic mult: C1 d C2 := C1 · G−1(C2). s · C1 · 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 e

. ◮ (Can randomize G−1 for tighter error growth, full rerandomization.)

6 / 14

slide-29
SLIDE 29

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication is asymmetric and “quasi-additive:” Error in C := C1 d C2 is e1 · poly(λ) + µ1 · e2.

7 / 14

slide-30
SLIDE 30

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication is asymmetric and “quasi-additive:” Error in C := C1 d C2 is e1 · poly(λ) + µ1 · e2. ◮ Right-associative multiplication: for Ci encrypting µi ∈ {0, ±1}, C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error

i ei · poly(λ).

7 / 14

slide-31
SLIDE 31

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Error growth for multiplication is asymmetric and “quasi-additive:” Error in C := C1 d C2 is e1 · poly(λ) + µ1 · e2. ◮ Right-associative multiplication: for Ci encrypting µi ∈ {0, ±1}, C1 d (· · · (Ct−2 d (Ct−1 d Ct)) · · · ) has error

i ei · poly(λ).

◮ Generalizes to orthogonal matrices over Z, e.g., permutation matrices. Encrypt bitwise: 1 1

  • P1

d 1 1

  • P2

= 1 1

  • P1·P2

e1,1 e1,2 e2,1 e2,2

  • E

, f1,1 f1,2 f2,1 f2,2

  • F

→ E · poly(λ) + f2,1 f2,2 f1,1 f1,2

  • P1·F

7 / 14

slide-32
SLIDE 32

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Polynomial error growth for any product of encrypted permutations.

8 / 14

slide-33
SLIDE 33

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Polynomial error growth for any product of encrypted permutations. ◮ Barrington’s Theorem: boolean circuit → branching program: depth d

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

length 4d

8 / 14

slide-34
SLIDE 34

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Polynomial error growth for any product of encrypted permutations. ◮ Barrington’s Theorem: boolean circuit → branching program: 1 depth d

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

length 4d

8 / 14

slide-35
SLIDE 35

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Polynomial error growth for any product of encrypted permutations. ◮ Barrington’s Theorem: boolean circuit → branching program: 1 depth d

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

length 4d ◮ To refresh µ : convert Dec(·, µ ) to BP; homomorphically evaluate using encrypted bits of sk to select from pairs Pi,0, Pi,1.

8 / 14

slide-36
SLIDE 36

Bootstrapping with Polynomial Error [BrakerskiVaikuntanathan’14]

◮ Polynomial error growth for any product of encrypted permutations. ◮ Barrington’s Theorem: boolean circuit → branching program: 1 depth d ≈ 3 log λ

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

length 4d ≈ λ6 ◮ To refresh µ : convert Dec(·, µ ) to BP; homomorphically evaluate using encrypted bits of sk to select from pairs Pi,0, Pi,1. ✗ Drawback: Barrington’s transformation is very inefficient.

8 / 14

slide-37
SLIDE 37

More Efficient Bootstrapping [Alperin-SheriffPeikert’14]

◮ Faster algorithm with small polynomial error growth

9 / 14

slide-38
SLIDE 38

More Efficient Bootstrapping [Alperin-SheriffPeikert’14]

◮ Faster algorithm with small polynomial error growth Result: quasi-optimal ˜ O(λ) homom ops; ˜ O(λ2) error growth.

9 / 14

slide-39
SLIDE 39

More Efficient Bootstrapping [Alperin-SheriffPeikert’14]

◮ Faster algorithm with small polynomial error growth Result: quasi-optimal ˜ O(λ) homom ops; ˜ O(λ2) error growth. ◮ Treats decryption as an arithmetic function over Zq, not a circuit.

9 / 14

slide-40
SLIDE 40

More Efficient Bootstrapping [Alperin-SheriffPeikert’14]

◮ Faster algorithm with small polynomial error growth Result: quasi-optimal ˜ O(λ) homom ops; ˜ O(λ2) error growth. ◮ Treats decryption as an arithmetic function over Zq, not a circuit. Avoids Barrington’s Theorem – but still uses permutation matrices!

9 / 14

slide-41
SLIDE 41

More Efficient Bootstrapping [Alperin-SheriffPeikert’14]

◮ Faster algorithm with small polynomial error growth Result: quasi-optimal ˜ O(λ) homom ops; ˜ O(λ2) 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 a small symmetric group.

9 / 14

slide-42
SLIDE 42

Overview of Bootstrapping Algorithm [AP’14]

◮ Decryption in LWE-based schemes is a “rounded inner product:” Dec(s, c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n

10 / 14

slide-43
SLIDE 43

Overview of Bootstrapping Algorithm [AP’14]

◮ Decryption in LWE-based schemes is a “rounded inner product:” Dec(s, c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n 1 Prepare: Encrypt each sj ∈ Zq, embedded into a certain group G.

10 / 14

slide-44
SLIDE 44

Overview of Bootstrapping Algorithm [AP’14]

◮ Decryption in LWE-based schemes is a “rounded inner product:” Dec(s, c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n 1 Prepare: Encrypt each sj ∈ Zq, embedded into a certain group G.

We need two homomorphic algorithms for Zq ⊆ G: a ‘ b = a + b and Equal?( v , z) =

  • 1

if v = z

  • therwise

10 / 14

slide-45
SLIDE 45

Overview of Bootstrapping Algorithm [AP’14]

◮ Decryption in LWE-based schemes is a “rounded inner product:” Dec(s, c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n 1 Prepare: Encrypt each sj ∈ Zq, embedded into a certain group G.

We need two homomorphic algorithms for Zq ⊆ G: a ‘ b = a + b and Equal?( v , z) =

  • 1

if v = z

  • therwise

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

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

ð

j: cj=1

sj

10 / 14

slide-46
SLIDE 46

Overview of Bootstrapping Algorithm [AP’14]

◮ Decryption in LWE-based schemes is a “rounded inner product:” Dec(s, c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n 1 Prepare: Encrypt each sj ∈ Zq, embedded into a certain group G.

We need two homomorphic algorithms for Zq ⊆ G: a ‘ b = a + b and Equal?( v , z) =

  • 1

if v = z

  • therwise

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

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

ð

j: cj=1

sj

3 Round: compute ⌊v⌉2 :=

ð

z: ⌊z⌉2=1

Equal?( v , z)

10 / 14

slide-47
SLIDE 47

Overview of Bootstrapping Algorithm [AP’14]

◮ Decryption in LWE-based schemes is a “rounded inner product:” Dec(s, c) := ⌊s, c⌉2 ∈ {0, 1} with s ∈ Zn

q , c ∈ {0, 1}n 1 Prepare: Encrypt each sj ∈ Zq, embedded into a certain group G.

We need two homomorphic algorithms for Zq ⊆ G: a ‘ b = a + b and Equal?( v , z) =

  • 1

if v = z

  • therwise

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

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

ð

j: cj=1

sj

3 Round: compute ⌊v⌉2 :=

ð

z: ⌊z⌉2=1

Equal?( v , z) ◮ It remains to define the group G and Ð, Equal? operations

10 / 14

slide-48
SLIDE 48

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

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

1 1 ... 1

       

1 1 ... 1

    . . .    

1 ... 1 1

   

11 / 14

slide-49
SLIDE 49

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

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

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1 ◮ Embed s ∈ Zq as Ps and encrypt entry-wise (only need first column).

11 / 14

slide-50
SLIDE 50

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

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

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1 ◮ Embed s ∈ Zq as Ps and encrypt entry-wise (only need first column). ◮ Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

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

slide-51
SLIDE 51

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

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

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1 ◮ Embed s ∈ Zq as Ps and encrypt entry-wise (only need first column). ◮ Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

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

◮ Equality test: Equal?( Pa , b): output bth entry.

11 / 14

slide-52
SLIDE 52

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

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

1 1 . . . ... 1

       

1 1 . . . ... 1

    . . .    

1 . . . ... 1 1

    P0 P1 . . . Pq−1 ◮ Embed s ∈ Zq as Ps and encrypt entry-wise (only need first column). ◮ Addition: a ‘ b implemented as Pa d Pb = Pa · Pb

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

◮ Equality test: Equal?( Pa , b): output bth entry. ◮ Bottom line: ˜ O(λ3) homomorphic operations to bootstrap.

11 / 14

slide-53
SLIDE 53

Embedding (Zq, +) into Smaller Symmetric Groups

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

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

slide-54
SLIDE 54

Embedding (Zq, +) into Smaller Symmetric Groups

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

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

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

12 / 14

slide-55
SLIDE 55

Embedding (Zq, +) into Smaller Symmetric Groups

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

  • ⊆ S pi
  • x → (Px mod p1, . . . , Px mod pt)

12 / 14

slide-56
SLIDE 56

Embedding (Zq, +) into Smaller Symmetric Groups

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

  • ⊆ S pi
  • x → (Px mod p1, . . . , Px mod pt)

◮ Addition ‘: same as in warmup, but component-wise

12 / 14

slide-57
SLIDE 57

Embedding (Zq, +) into Smaller Symmetric Groups

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

  • ⊆ S pi
  • x → (Px mod p1, . . . , Px mod pt)

◮ Addition ‘: same as in warmup, but component-wise ◮ Equality test: Equalq( a , b) = ô

i

Equalpi( ai , b mod pi)

12 / 14

slide-58
SLIDE 58

Embedding (Zq, +) into Smaller Symmetric Groups

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

  • ⊆ S pi
  • x → (Px mod p1, . . . , Px mod pt)

◮ Addition ‘: same as in warmup, but component-wise ◮ Equality test: Equalq( a , b) = ô

i

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

12 / 14

slide-59
SLIDE 59

Refinement and Implementation [DucasMicciancio’15]

◮ Observation [AP’14]: using ring-LWE in the mth cyclotomic ring R, can work with r-dim orthogonal matrices over R (instead of Z): the generalized symmetric group Zm ≀ Sr.

13 / 14

slide-60
SLIDE 60

Refinement and Implementation [DucasMicciancio’15]

◮ Observation [AP’14]: using ring-LWE in the mth cyclotomic ring R, can work with r-dim orthogonal matrices over R (instead of Z): the generalized symmetric group Zm ≀ Sr. In particular, m = q and r = 1 yields Zq.

13 / 14

slide-61
SLIDE 61

Refinement and Implementation [DucasMicciancio’15]

◮ Observation [AP’14]: using ring-LWE in the mth cyclotomic ring R, can work with r-dim orthogonal matrices over R (instead of Z): the generalized symmetric group Zm ≀ Sr. In particular, m = q and r = 1 yields Zq. ◮ With a clever view of NAND as a mod-4 additive threshold, [DM’15] designed a specialized “bootstrapped NAND” procedure.

13 / 14

slide-62
SLIDE 62

Refinement and Implementation [DucasMicciancio’15]

◮ Observation [AP’14]: using ring-LWE in the mth cyclotomic ring R, can work with r-dim orthogonal matrices over R (instead of Z): the generalized symmetric group Zm ≀ Sr. In particular, m = q and r = 1 yields Zq. ◮ With a clever view of NAND as a mod-4 additive threshold, [DM’15] designed a specialized “bootstrapped NAND” procedure. ◮ FFTW for fast ring operations = ⇒ bootstrapping in 0.6 sec: FHEW!

13 / 14

slide-63
SLIDE 63

Open Problems

◮ Can we bootstrap in sublinear # homom ops with polynomial error? Bottleneck in [GSW’13]: few plaintext bits / ciphertext (no “packing”).

14 / 14

slide-64
SLIDE 64

Open Problems

◮ Can we bootstrap in sublinear # homom ops with polynomial error? Bottleneck in [GSW’13]: few plaintext bits / ciphertext (no “packing”). ◮ Circular security for unbounded FHE? As usual, unbounded FHE requires a “circular security” assumption: that it is safe to reveal an encryption of (embedded) sk under itself. Does our representation of sk help or hurt security?

14 / 14

slide-65
SLIDE 65

Open Problems

◮ Can we bootstrap in sublinear # homom ops with polynomial error? Bottleneck in [GSW’13]: few plaintext bits / ciphertext (no “packing”). ◮ Circular security for unbounded FHE? As usual, unbounded FHE requires a “circular security” assumption: that it is safe to reveal an encryption of (embedded) sk under itself. Does our representation of sk help or hurt security? ◮ Can we bootstrap FHS/ABE/PE? Current schemes are like “somewhat homomorphic” encryption: they have an a priori bound on circuits they can handle.

14 / 14

slide-66
SLIDE 66

Open Problems

◮ Can we bootstrap in sublinear # homom ops with polynomial error? Bottleneck in [GSW’13]: few plaintext bits / ciphertext (no “packing”). ◮ Circular security for unbounded FHE? As usual, unbounded FHE requires a “circular security” assumption: that it is safe to reveal an encryption of (embedded) sk under itself. Does our representation of sk help or hurt security? ◮ Can we bootstrap FHS/ABE/PE? Current schemes are like “somewhat homomorphic” encryption: they have an a priori bound on circuits they can handle.

Thanks!

14 / 14