Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini...

65
Bootstrapping BGV ciphertexts with a wider choice of p and q Emmanuela Orsini, Joop van de Pol, Nigel Smart Department of Computer Science University of Bristol PKC 2015 Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 1 / 20

Transcript of Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini...

Page 1: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping BGV ciphertexts with a wider choiceof p and q

Emmanuela Orsini, Joop van de Pol, Nigel Smart

Department of Computer ScienceUniversity of Bristol

PKC 2015

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 1 / 20

Page 2: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Motivation

In the cloud� Private outsourcing of computation� Near-optimal private outsourcing of storage (single-server PIR)[G09,BV11b]

� Verifiable outsourcing (delegation) [GGP11,CKV11,KKR13]� Private machine learning in the cloud [GLN12,HW13]

Secure Multiparty Computation� Low-communication multiparty computation[AJLTVW12,LTV12,CLOPS13]

� More efficient MPC [BDOZ11,DPSZ12,DKLPSS12]

Primitives� Succinct argument systems[GLR11,DFH11,BCCT11,BC12,BCCT12,BCGT13,. . .]

� General functional encryption [GKPVZ12]� Indistinguishability obfuscation for all circuits [GGHRSW13]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 2 / 20

Page 3: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Motivation

In the cloud� Private outsourcing of computation� Near-optimal private outsourcing of storage (single-server PIR)[G09,BV11b]

� Verifiable outsourcing (delegation) [GGP11,CKV11,KKR13]� Private machine learning in the cloud [GLN12,HW13]

Secure Multiparty Computation� Low-communication multiparty computation[AJLTVW12,LTV12,CLOPS13]

� More efficient MPC [BDOZ11,DPSZ12,DKLPSS12]

Primitives� Succinct argument systems[GLR11,DFH11,BCCT11,BC12,BCCT12,BCGT13,. . .]

� General functional encryption [GKPVZ12]� Indistinguishability obfuscation for all circuits [GGHRSW13]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 2 / 20

Page 4: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Motivation

In the cloud� Private outsourcing of computation� Near-optimal private outsourcing of storage (single-server PIR)[G09,BV11b]

� Verifiable outsourcing (delegation) [GGP11,CKV11,KKR13]� Private machine learning in the cloud [GLN12,HW13]

Secure Multiparty Computation� Low-communication multiparty computation[AJLTVW12,LTV12,CLOPS13]

� More efficient MPC [BDOZ11,DPSZ12,DKLPSS12]

Primitives� Succinct argument systems[GLR11,DFH11,BCCT11,BC12,BCCT12,BCGT13,. . .]

� General functional encryption [GKPVZ12]� Indistinguishability obfuscation for all circuits [GGHRSW13]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 2 / 20

Page 5: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Motivation

In the cloud� Private outsourcing of computation� Near-optimal private outsourcing of storage (single-server PIR)[G09,BV11b]

� Verifiable outsourcing (delegation) [GGP11,CKV11,KKR13]� Private machine learning in the cloud [GLN12,HW13]

Secure Multiparty Computation� Low-communication multiparty computation[AJLTVW12,LTV12,CLOPS13]

� More efficient MPC [BDOZ11,DPSZ12,DKLPSS12]

Primitives� Succinct argument systems[GLR11,DFH11,BCCT11,BC12,BCCT12,BCGT13,. . .]

� General functional encryption [GKPVZ12]� Indistinguishability obfuscation for all circuits [GGHRSW13]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 2 / 20

Page 6: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

How to construct an FHE scheme - Step I

Enc

m

pk

c = x+ e The ciphertext contains an errorterm e (noise)

The noise increases with every homomorphic operationA correct decryption is guaranteed if the final noise magnitude isbelow a certain limit

“fresh” c

small noise big noise

no more operations

Somewhat Homomorphic Encryption Scheme : support alimited number of additions and multiplications

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 3 / 20

Page 7: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping - Step 2

no more homomorphicoperation “fresh” ciphertext

Bootstrapping

Homomorphic operations

The bootstrapping step takes as input a ciphertext with a largenoise and outputs a “fresh” ciphertext of the same plaintextIt is the only known way of obtaining unbounded FHE

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 4 / 20

Page 8: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping

� Homomorphically computes the SHE decryption function onencrypted secret key

c sk Evalf

(Dec( · , c)

)c

Still the main bottleneck in FHE

GOAL: Efficiency! Minimize depth d of decryption circuit

Intensive research area[AP13, BV14, AP14, HS14, HAO15, HS15, DM15]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20

Page 9: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping

� Homomorphically computes the SHE decryption function onencrypted secret key

c sk Evalf

(Dec( · , c)

)c

Still the main bottleneck in FHE

GOAL: Efficiency! Minimize depth d of decryption circuit

Intensive research area[AP13, BV14, AP14, HS14, HAO15, HS15, DM15]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20

Page 10: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping

� Homomorphically computes the SHE decryption function onencrypted secret key

c sk Evalf

(Dec( · , c)

)c

Still the main bottleneck in FHE

GOAL: Efficiency! Minimize depth d of decryption circuit

Intensive research area[AP13, BV14, AP14, HS14, HAO15, HS15, DM15]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20

Page 11: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping

� Homomorphically computes the SHE decryption function onencrypted secret key

c sk Evalf

(Dec( · , c)

)c

Still the main bottleneck in FHE

GOAL: Efficiency! Minimize depth d of decryption circuit

Intensive research area[AP13, BV14, AP14, HS14, HAO15, HS15, DM15]

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20

Page 12: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Our result

We present a new bootstrapping technique with:

Small depth growth

Large choice of the parameters of the scheme

Main tools:

� Matrix representation of rings

� Batch Computation

� Ring-switching technique

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 6 / 20

Page 13: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Our result

We present a new bootstrapping technique with:

Small depth growth

Large choice of the parameters of the scheme

Main tools:

� Matrix representation of rings

� Batch Computation

� Ring-switching technique

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 6 / 20

Page 14: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Our result

We present a new bootstrapping technique with:

Small depth growth

Large choice of the parameters of the scheme

Main tools:

� Matrix representation of rings

� Batch Computation

� Ring-switching technique

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 6 / 20

Page 15: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Our result

We present a new bootstrapping technique with:

Small depth growth

Large choice of the parameters of the scheme

Main tools:

� Matrix representation of rings

� Batch Computation

� Ring-switching technique

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 6 / 20

Page 16: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Our result

We present a new bootstrapping technique with:

Small depth growth

Large choice of the parameters of the scheme

Main tools:

� Matrix representation of rings

� Batch Computation

� Ring-switching technique

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 6 / 20

Page 17: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Our result

We present a new bootstrapping technique with:

Small depth growth

Large choice of the parameters of the scheme

Main tools:

� Matrix representation of rings

� Batch Computation

� Ring-switching technique

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 6 / 20

Page 18: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

The BGV ring-LWE-based somewhat homomorphicencryption scheme

We consider the BGV SHE scheme [BGV12]

We use two rings (at some point we perform a ring-switching)

� R = Z[X]/Φm(X)

� deg Φm(X) = N

� sk(R)

� S = Z[X]/Φm′(X)

� deg Φm′(X) = n

� sk(S)

S is a subring of R (m′|m)

The scheme is parametrized by a sequence of decreasing moduliqL > qL−1 > · · · > q0 = q, such that Q = qL =

∏Li=0 pi.

Fresh ciphertexts are defined in RQ.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 7 / 20

Page 19: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

The BGV ring-LWE-based somewhat homomorphicencryption scheme

We consider the BGV SHE scheme [BGV12]

We use two rings (at some point we perform a ring-switching)

� R = Z[X]/Φm(X)

� deg Φm(X) = N

� sk(R)

� S = Z[X]/Φm′(X)

� deg Φm′(X) = n

� sk(S)

S is a subring of R (m′|m)

The scheme is parametrized by a sequence of decreasing moduliqL > qL−1 > · · · > q0 = q, such that Q = qL =

∏Li=0 pi.

Fresh ciphertexts are defined in RQ.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 7 / 20

Page 20: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

The BGV ring-LWE-based somewhat homomorphicencryption scheme

We consider the BGV SHE scheme [BGV12]

We use two rings (at some point we perform a ring-switching)

� R = Z[X]/Φm(X)

� deg Φm(X) = N

� sk(R)

� S = Z[X]/Φm′(X)

� deg Φm′(X) = n

� sk(S)

S is a subring of R (m′|m)

The scheme is parametrized by a sequence of decreasing moduliqL > qL−1 > · · · > q0 = q, such that Q = qL =

∏Li=0 pi.

Fresh ciphertexts are defined in RQ.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 7 / 20

Page 21: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Batch computation [SV11]

Plaintext Space Rp

Zp[X]/F1(X) Zp[X]/F2(X) · · · Zp[X]/F`(R)(X)

Let p be a prime, coprime with m, and Rp = R/pR = Zp[X]/Φm(X)

We have `(R) isomorphisms

ψi : Zp[X]/Fi(X)→ Fpd(R) , i = 1, . . . , `(R),

⇒ we can represent `(R) plaintext elements of Fpd(R) as a single element

in Rp.

Sp splits into `(S) slots

By the CRT, addition and multiplication correspond to SIMD operationson the slots⇒ we can process `(R) input values at once.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 8 / 20

Page 22: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Batch computation [SV11]

Plaintext Space Rp

Zp[X]/F1(X) Zp[X]/F2(X) · · · Zp[X]/F`(R)(X)

Let p be a prime, coprime with m, and Rp = R/pR = Zp[X]/Φm(X)

We have `(R) isomorphisms

ψi : Zp[X]/Fi(X)→ Fpd(R) , i = 1, . . . , `(R),

⇒ we can represent `(R) plaintext elements of Fpd(R) as a single element

in Rp.

Sp splits into `(S) slots

By the CRT, addition and multiplication correspond to SIMD operationson the slots⇒ we can process `(R) input values at once.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 8 / 20

Page 23: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Batch computation [SV11]

Plaintext Space Rp

Zp[X]/F1(X) Zp[X]/F2(X) · · · Zp[X]/F`(R)(X)

Let p be a prime, coprime with m, and Rp = R/pR = Zp[X]/Φm(X)

We have `(R) isomorphisms

ψi : Zp[X]/Fi(X)→ Fpd(R) , i = 1, . . . , `(R),

⇒ we can represent `(R) plaintext elements of Fpd(R) as a single element

in Rp.

Sp splits into `(S) slots

By the CRT, addition and multiplication correspond to SIMD operationson the slots⇒ we can process `(R) input values at once.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 8 / 20

Page 24: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Switching modulus and ring

? We encrypt at level L and performhomomorphic operations down tolevel zero with a single ring switchingto improve efficiency

? The ciphertexts before ring switchingare associated to `(R) plaintext slots

? With the ring switching the inputciphertext becomes associated with`(R)/`(S) distinct ciphertextsassociated to `(S) plaintext slots

� Bootstrap a number (`(R)/n) ofciphertexts in Sq in one shot.

cL = Encsk(µ) ∈ RQ = RqL

...

cL2+1 = Encsk(µ) ∈ RqL2+1

cL2 = Encsk′(µ′) ∈ SL2ring switching

...

c0 ∈ Sq0

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 9 / 20

Page 25: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Switching modulus and ring

? We encrypt at level L and performhomomorphic operations down tolevel zero with a single ring switchingto improve efficiency

? The ciphertexts before ring switchingare associated to `(R) plaintext slots

? With the ring switching the inputciphertext becomes associated with`(R)/`(S) distinct ciphertextsassociated to `(S) plaintext slots

� Bootstrap a number (`(R)/n) ofciphertexts in Sq in one shot.

cL = Encsk(µ) ∈ RQ = RqL

...

cL2+1 = Encsk(µ) ∈ RqL2+1

cL2 = Encsk′(µ′) ∈ SL2ring switching

...

c0 ∈ Sq0

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 9 / 20

Page 26: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Switching modulus and ring

? We encrypt at level L and performhomomorphic operations down tolevel zero with a single ring switchingto improve efficiency

? The ciphertexts before ring switchingare associated to `(R) plaintext slots

? With the ring switching the inputciphertext becomes associated with`(R)/`(S) distinct ciphertextsassociated to `(S) plaintext slots

� Bootstrap a number (`(R)/n) ofciphertexts in Sq in one shot.

cL = Encsk(µ) ∈ RQ = RqL

...

cL2+1 = Encsk(µ) ∈ RqL2+1

cL2 = Encsk′(µ′) ∈ SL2ring switching

...

c0 ∈ Sq0

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 9 / 20

Page 27: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Switching modulus and ring

? We encrypt at level L and performhomomorphic operations down tolevel zero with a single ring switchingto improve efficiency

? The ciphertexts before ring switchingare associated to `(R) plaintext slots

? With the ring switching the inputciphertext becomes associated with`(R)/`(S) distinct ciphertextsassociated to `(S) plaintext slots

� Bootstrap a number (`(R)/n) ofciphertexts in Sq in one shot.

cL = Encsk(µ) ∈ RQ = RqL

...

cL2+1 = Encsk(µ) ∈ RqL2+1

cL2 = Encsk′(µ′) ∈ SL2ring switching

...

c0 ∈ Sq0

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 9 / 20

Page 28: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

The ciphertexts are elements c = (c0, c1) ∈ R2q

The decryption is an evaluation of a linear function D (dependenton c)

DC() =((c0 + · c1) mod q

)on the secret key sk mod q, followed by a reduction mod p.

Bootstrapping: homomorphic evaluation decryption circuit:

? Given an encryption of the secret key sk, we can homomorphicallyevaluate D

? Homomorphic evaluation of the mod p map

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 10 / 20

Page 29: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

The ciphertexts are elements c = (c0, c1) ∈ R2q

The decryption is an evaluation of a linear function D (dependenton c)

DC(x) =((c0 + x · c1) mod q

)on the secret key sk mod q, followed by a reduction mod p.

Bootstrapping: homomorphic evaluation decryption circuit:

? Given an encryption of the secret key sk, we can homomorphicallyevaluate D

? Homomorphic evaluation of the mod p map

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 10 / 20

Page 30: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

The ciphertexts are elements c = (c0, c1) ∈ R2q

The decryption is an evaluation of a linear function D (dependenton c)

DC(sk) =((c0 + sk · c1) mod q

)on the secret key sk mod q, followed by a reduction mod p.

Bootstrapping: homomorphic evaluation decryption circuit:

? Given an encryption of the secret key sk, we can homomorphicallyevaluate D

? Homomorphic evaluation of the mod p map

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 10 / 20

Page 31: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

The ciphertexts are elements c = (c0, c1) ∈ R2q

The decryption is an evaluation of a linear function D (dependenton c)

DC(sk) =((c0 + sk · c1) mod q

)on the secret key sk mod q, followed by a reduction mod p.

Bootstrapping: homomorphic evaluation decryption circuit:

? Given an encryption of the secret key sk, we can homomorphicallyevaluate D

? Homomorphic evaluation of the mod p map

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 10 / 20

Page 32: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

The ciphertexts are elements c = (c0, c1) ∈ R2q

The decryption is an evaluation of a linear function D (dependenton c)

DC(sk) =((c0 + sk · c1) mod q

)on the secret key sk mod q, followed by a reduction mod p.

Bootstrapping: homomorphic evaluation decryption circuit:

? Given an encryption of the secret key sk, we can homomorphicallyevaluate D

? Homomorphic evaluation of the mod p map

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 10 / 20

Page 33: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

The ciphertexts are elements c = (c0, c1) ∈ R2q

The decryption is an evaluation of a linear function D (dependenton c)

DC(sk) =((c0 + sk · c1) mod q

)on the secret key sk mod q, followed by a reduction mod p.

Bootstrapping: homomorphic evaluation decryption circuit:

? Given an encryption of the secret key sk, we can homomorphicallyevaluate D

? Homomorphic evaluation of the mod p map

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 10 / 20

Page 34: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

Three main problems:

1 Homomorphically evaluate the mod p-map

Z+q G

Zp

rep

redmod p

2 Encode the sk and then using, a dec-eval function, create a set ofciphertexts encrypting the required input to red.

3 Packed ciphertexts

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 11 / 20

Page 35: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Bootstrapping in more details

Three main problems:

1 Homomorphically evaluate the mod p-map

Z+q G

Zp

rep

redmod p

2 Encode the sk and then using, a dec-eval function, create a set ofciphertexts encrypting the required input to red.

3 Packed ciphertexts

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 11 / 20

Page 36: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Overview of our technique

1 Find a suitable representation of Sq as an algebraic group over Fp

2 SIMD evaluation of dec-eval over G

3 SIMD evaluation of red

4 Repacking ciphertexts

We give two different instantiations:

Polynomial representation

Elliptic curve based version

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 12 / 20

Page 37: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Overview of our technique

1 Find a suitable representation of Sq as an algebraic group over Fp

2 SIMD evaluation of dec-eval over G

3 SIMD evaluation of red

4 Repacking ciphertexts

We give two different instantiations:

Polynomial representation

Elliptic curve based version

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 12 / 20

Page 38: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 1: Polynomial representation (1)

Find an Fp-representation G for Z+q :

� By the CRT we have a group embedding

rep :

{Z+q −→ G =

∏ti=1 F∗

pki

a 7−→ (ga11 , . . . , gat

t )

for some ki, where ai = a (mod ei), q =∏t

i=1 ei

� One add in Z+q translates into

M = 12

∑ti=1 ki · (ki + 1) mult in Fp;

each element in G requires E =∑t

i=1 ki elements inFp to represent it.

Z+q G

Zp

rep

mod p

A reduction G→ Zp can be defined by algebraically from thecoefficient representation of G to Fp. (Step 3)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 13 / 20

Page 39: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 1: Polynomial representation (1)

Find an Fp-representation G for Z+q :

� By the CRT we have a group embedding

rep :

{Z+q −→ G =

∏ti=1 F∗

pki

a 7−→ (ga11 , . . . , gat

t )

for some ki, where ai = a (mod ei), q =∏t

i=1 ei

� One add in Z+q translates into

M = 12

∑ti=1 ki · (ki + 1) mult in Fp;

each element in G requires E =∑t

i=1 ki elements inFp to represent it.

Z+q G

Zp

rep

mod p

A reduction G→ Zp can be defined by algebraically from thecoefficient representation of G to Fp. (Step 3)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 13 / 20

Page 40: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 1: Polynomial representation (1)

Find an Fp-representation G for Z+q :

� By the CRT we have a group embedding

rep :

{Z+q −→ G =

∏ti=1 F∗

pki

a 7−→ (ga11 , . . . , gat

t )

for some ki, where ai = a (mod ei), q =∏t

i=1 ei

� One add in Z+q translates into

M = 12

∑ti=1 ki · (ki + 1) mult in Fp;

each element in G requires E =∑t

i=1 ki elements inFp to represent it.

Z+q G

Zp

rep

mod p red

A reduction G→ Zp can be defined by algebraically from thecoefficient representation of G to Fp. (Step 3)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 13 / 20

Page 41: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 1: Polynomial representation - Extending maps

Let τ = red ◦ rep

By linearity we extend the maps:

ˆrep : (S+q ) −→ Gn

andτ̂ : (S+

q ) −→ Fnp

Z+q G

Zp

rep

redmod p

We want to bootstrap `(R)/n ciphertexts, hence we define

rep : (S+q )`(R)/n −→ G`(R)

andτ : (S+

q )`(R)/n −→ F`(R)p

red is the SIMD evaluation of red on the image of rep in G`(R)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 14 / 20

Page 42: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 1: Polynomial representation - Extending maps

Let τ = red ◦ rep

By linearity we extend the maps:

ˆrep : (S+q ) −→ Gn

andτ̂ : (S+

q ) −→ Fnp

Z+q G

Zp

rep

redmod p

We want to bootstrap `(R)/n ciphertexts, hence we define

rep : (S+q )`(R)/n −→ G`(R)

andτ : (S+

q )`(R)/n −→ F`(R)p

red is the SIMD evaluation of red on the image of rep in G`(R)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 14 / 20

Page 43: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 1: Polynomial representation - Extending maps

Let τ = red ◦ rep

By linearity we extend the maps:

ˆrep : (S+q ) −→ Gn

andτ̂ : (S+

q ) −→ Fnp

Z+q G

Zp

rep

redmod p

We want to bootstrap `(R)/n ciphertexts, hence we define

rep : (S+q )`(R)/n −→ G`(R)

andτ : (S+

q )`(R)/n −→ F`(R)p

red is the SIMD evaluation of red on the image of rep in G`(R)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 14 / 20

Page 44: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2 - Evaluating the decryption equation

We can then rewrite the decryption equation of our `(R)/n ciphertexts:

((c(j)0 + sk(S) · c(j)1 (mod q)

)( mod p)

)`(R)/n

j=1

= red(rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

))= red (rep (x)) ,

where x is the vector consisting of Sq elements

c(j)0 + sk(S) · c(j)1 , j = 1, . . . , `(R)/n

? At this point red is just an algebraic function? We need to homomorphically evaluate rep(x)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 15 / 20

Page 45: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2 - Evaluating the decryption equation

We can then rewrite the decryption equation of our `(R)/n ciphertexts:((c(j)0 + sk(S) · c(j)1 (mod q)

)( mod p)

)`(R)/n

j=1

= red(rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

))= red (rep (x)) ,

where x is the vector consisting of Sq elements

c(j)0 + sk(S) · c(j)1 , j = 1, . . . , `(R)/n

? At this point red is just an algebraic function? We need to homomorphically evaluate rep(x)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 15 / 20

Page 46: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2 - Evaluating the decryption equation

We can then rewrite the decryption equation of our `(R)/n ciphertexts:((c(j)0 + sk(S) · c(j)1 (mod q)

)( mod p)

)`(R)/n

j=1

= red(rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

))

= red (rep (x)) ,

where x is the vector consisting of Sq elements

c(j)0 + sk(S) · c(j)1 , j = 1, . . . , `(R)/n

? At this point red is just an algebraic function? We need to homomorphically evaluate rep(x)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 15 / 20

Page 47: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2 - Evaluating the decryption equation

We can then rewrite the decryption equation of our `(R)/n ciphertexts:((c(j)0 + sk(S) · c(j)1 (mod q)

)( mod p)

)`(R)/n

j=1

= red(rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

))= red (rep (x)) ,

where x is the vector consisting of Sq elements

c(j)0 + sk(S) · c(j)1 , j = 1, . . . , `(R)/n

? At this point red is just an algebraic function? We need to homomorphically evaluate rep(x)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 15 / 20

Page 48: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2 - Evaluating the decryption equation

We can then rewrite the decryption equation of our `(R)/n ciphertexts:((c(j)0 + sk(S) · c(j)1 (mod q)

)( mod p)

)`(R)/n

j=1

= red(rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

))= red (rep (x)) ,

where x is the vector consisting of Sq elements

c(j)0 + sk(S) · c(j)1 , j = 1, . . . , `(R)/n

? At this point red is just an algebraic function

? We need to homomorphically evaluate rep(x)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 15 / 20

Page 49: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2 - Evaluating the decryption equation

We can then rewrite the decryption equation of our `(R)/n ciphertexts:((c(j)0 + sk(S) · c(j)1 (mod q)

)( mod p)

)`(R)/n

j=1

= red(rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

))= red (rep (x)) ,

where x is the vector consisting of Sq elements

c(j)0 + sk(S) · c(j)1 , j = 1, . . . , `(R)/n

? At this point red is just an algebraic function? We need to homomorphically evaluate rep(x)

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 15 / 20

Page 50: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2: Homomorphic evaluation of rep(x)

rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

)

MATRIX REPRESENTATION

� We can associate an element b ∈ Sq to an n× n matrix Mb overZq such that the vector

c = Mb · a

is the coefficient vector of c where c = a · b.

c(j)1 →M

c(j)1

, j = 1, . . . , `(R)/n

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 16 / 20

Page 51: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2: Homomorphic evaluation of rep(x)

rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

)

MATRIX REPRESENTATION

� We can associate an element b ∈ Sq to an n× n matrix Mb overZq such that the vector

c = Mb · a

is the coefficient vector of c where c = a · b.

c(j)1 →M

c(j)1

, j = 1, . . . , `(R)/n

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 16 / 20

Page 52: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2: Homomorphic evaluation of rep(x)

rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

)

Mc(j)1

=∑dlog q/ log pe

k=0 pk ·M(j,k)1 , j = 1, . . . , `(R)/n

Setting∑

j M(j,k)1 = M

(k)1

rep(c(1)0 , . . . , c

(`(R)/n)0

)·dlog q/ log pe∏

k=0

rep(pk · sk(S), . . . , pk · sk(S)

)M(k)1

� Enc(rep(pk · sk(S), . . . , pk · sk(S))

), for k = 0, . . . , dlog q/ log pe

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 17 / 20

Page 53: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2: Homomorphic evaluation of rep(x)

rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

)

Mc(j)1

=∑dlog q/ log pe

k=0 pk ·M(j,k)1 , j = 1, . . . , `(R)/n

Setting∑

j M(j,k)1 = M

(k)1

rep(c(1)0 , . . . , c

(`(R)/n)0

)·dlog q/ log pe∏

k=0

rep(pk · sk(S), . . . , pk · sk(S)

)M(k)1

� Enc(rep(pk · sk(S), . . . , pk · sk(S))

), for k = 0, . . . , dlog q/ log pe

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 17 / 20

Page 54: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 2: Homomorphic evaluation of rep(x)

rep(c(1)0 + sk(S) · c(1)1 , . . . , c

(`(R)/n)0 + sk(S) · c(`

(R)/n)1

)

Mc(j)1

=∑dlog q/ log pe

k=0 pk ·M(j,k)1 , j = 1, . . . , `(R)/n

Setting∑

j M(j,k)1 = M

(k)1

rep(c(1)0 , . . . , c

(`(R)/n)0

)·dlog q/ log pe∏

k=0

rep(pk · sk(S), . . . , pk · sk(S)

)M(k)1

� Enc(rep(pk · sk(S), . . . , pk · sk(S))

), for k = 0, . . . , dlog q/ log pe

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 17 / 20

Page 55: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 4: Repacking

c∗

· · ·`(R) slots encoding the coefficientsof the ciphertexts we are bootstrapping

? We need to extract these coefficients to produce a ciphertext (or aset of ciphertexts) which encode the same data.

Different ways to perform this task:

Technique from [AP13]

Otherwise the Full Replication algorithm from [HS14].

Note that we could produce

� `(R)/n ciphertexts each of which encodes one of the originalplaintexts� a single ciphertext which encodes all of them.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 18 / 20

Page 56: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 4: Repacking

c∗

· · ·`(R) slots encoding the coefficientsof the ciphertexts we are bootstrapping

? We need to extract these coefficients to produce a ciphertext (or aset of ciphertexts) which encode the same data.

Different ways to perform this task:

Technique from [AP13]

Otherwise the Full Replication algorithm from [HS14].

Note that we could produce

� `(R)/n ciphertexts each of which encodes one of the originalplaintexts� a single ciphertext which encodes all of them.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 18 / 20

Page 57: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Step 4: Repacking

c∗

· · ·`(R) slots encoding the coefficientsof the ciphertexts we are bootstrapping

? We need to extract these coefficients to produce a ciphertext (or aset of ciphertexts) which encode the same data.

Different ways to perform this task:

Technique from [AP13]

Otherwise the Full Replication algorithm from [HS14].

Note that we could produce

� `(R)/n ciphertexts each of which encodes one of the originalplaintexts� a single ciphertext which encodes all of them.

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 18 / 20

Page 58: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Conclusion

? A new bootstrapping technique based on the Fp-representation ofthe additive group (Zq,+)

� Polynomial instantiation

� Elliptic curve based version

? Using a polynomial representation:

� Step 2: Homomorphically evaluate rep(x)→ multiplicative depth O(log2(`(R)))

� Step 3: SIMD evaluation of red→ O(log2 p+ log2 log2 q)

� Step 4: Repacking step→ O(log2 log2 `

(R))

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 19 / 20

Page 59: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Conclusion

? A new bootstrapping technique based on the Fp-representation ofthe additive group (Zq,+)

� Polynomial instantiation

� Elliptic curve based version

? Using a polynomial representation:

� Step 2: Homomorphically evaluate rep(x)→ multiplicative depth O(log2(`(R)))

� Step 3: SIMD evaluation of red→ O(log2 p+ log2 log2 q)

� Step 4: Repacking step→ O(log2 log2 `

(R))

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 19 / 20

Page 60: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Conclusion

? A new bootstrapping technique based on the Fp-representation ofthe additive group (Zq,+)

� Polynomial instantiation

� Elliptic curve based version

? Using a polynomial representation:

� Step 2: Homomorphically evaluate rep(x)→ multiplicative depth O(log2(`(R)))

� Step 3: SIMD evaluation of red→ O(log2 p+ log2 log2 q)

� Step 4: Repacking step→ O(log2 log2 `

(R))

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 19 / 20

Page 61: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Conclusion

? A new bootstrapping technique based on the Fp-representation ofthe additive group (Zq,+)

� Polynomial instantiation

� Elliptic curve based version

? Using a polynomial representation:

� Step 2: Homomorphically evaluate rep(x)→ multiplicative depth O(log2(`(R)))

� Step 3: SIMD evaluation of red→ O(log2 p+ log2 log2 q)

� Step 4: Repacking step→ O(log2 log2 `

(R))

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 19 / 20

Page 62: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Conclusion

? A new bootstrapping technique based on the Fp-representation ofthe additive group (Zq,+)

� Polynomial instantiation

� Elliptic curve based version

? Using a polynomial representation:

� Step 2: Homomorphically evaluate rep(x)→ multiplicative depth O(log2(`(R)))

� Step 3: SIMD evaluation of red→ O(log2 p+ log2 log2 q)

� Step 4: Repacking step→ O(log2 log2 `

(R))

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 19 / 20

Page 63: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Conclusion

? A new bootstrapping technique based on the Fp-representation ofthe additive group (Zq,+)

� Polynomial instantiation

� Elliptic curve based version

? Using a polynomial representation:

� Step 2: Homomorphically evaluate rep(x)→ multiplicative depth O(log2(`(R)))

� Step 3: SIMD evaluation of red→ O(log2 p+ log2 log2 q)

� Step 4: Repacking step→ O(log2 log2 `

(R))

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 19 / 20

Page 64: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

Conclusion

? A new bootstrapping technique based on the Fp-representation ofthe additive group (Zq,+)

� Polynomial instantiation

� Elliptic curve based version

? Using a polynomial representation:

� Step 2: Homomorphically evaluate rep(x)→ multiplicative depth O(log2(`(R)))

� Step 3: SIMD evaluation of red→ O(log2 p+ log2 log2 q)

� Step 4: Repacking step→ O(log2 log2 `

(R))

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 19 / 20

Page 65: Bootstrapping BGV ciphertexts with a wider choice of p and q · 2015. 3. 30. · Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 5 / 20. Our result We present a new bootstrapping

THANK YOU!

Emmanuela Orsini Bootstrapping BGV ciphertexts PKC 2015 20 / 20