22.04.2014 Views

a590003

a590003

a590003

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

• SI-HE.Enc pk (m): Identical to Regev’s, output c←Regev.Enc pk (m).<br />

• SI-HE.Eval evk (·): As usual, we describe homomorphic addition and multiplication over GF(2),<br />

which allows to evaluate depth L arithmetic circuits in a gate-by-gate manner. The convention<br />

for a gate at level i of the circuit is that the operand ciphertexts are decryptable using s i−1 , and<br />

the output of the homomorphic operation is decryptable using s i .<br />

Since evk contains key switching parameters from ˜s i−1 to s i , homomorphic addition and multiplication<br />

both first produce an intermediate output ˜c that corresponds to ˜s i−1 , and then use<br />

key switching to obtain the final output. 10<br />

− SI-HE.Add evk (c 1 , c 2 ): Assume w.l.o.g that both input ciphertexts are encrypted under the<br />

same secret key s i−1 . First compute<br />

then output<br />

˜c add :=PowersOfTwo(c 1 + c 2 ) ⊗ PowersOfTwo((1, 0, . . . , 0)) ,<br />

c add ←SwitchKey(P (i−1):i , ˜c add ) ∈ Z n+1<br />

q .<br />

Let us explain what we did: We first added the ciphertext vectors (as expected) to obtain<br />

c 1 + c 2 . This already implements the homomorphic addition, but provides an output that<br />

corresponds to s i−1 and not s i as required. We thus generate ˜c add by tensoring with a “trivial”<br />

ciphertext. The result corresponds to ˜s i−1 , and allows to finally use key switching to obtain<br />

an output corresponding to s i . We use powers-of-two representation in order to control the<br />

norm of the secret key (as we explain in Section 1.2).<br />

− SI-HE.Mult evk (c 1 , c 2 ): Assume w.l.o.g that both input ciphertexts are encrypted under the<br />

same secret key s i−1 . First compute<br />

then output<br />

2<br />

(<br />

˜c mult :=⌊<br />

q · PowersOfTwo(c 1 ) ⊗ PowersOfTwo(c 2 )) ⌉ ,<br />

c mult ←SwitchKey(P (i−1):i , ˜c mult ) ∈ Z n+1<br />

q .<br />

As we explain in Section 1.2, The tensored ciphertext ˜c mult mimics tensoring in the “invariant<br />

perspective”, which produces an encryption of the product of the plaintexts under the<br />

tensored secret key ˜s i−1 . We then switch keys to obtain an output corresponding to s i .<br />

• Decryption SI-HE.Dec sk (c): Assume w.l.o.g that c is a ciphertext that corresponds to s L (=sk).<br />

Then decryption is again identical to Regev’s, output<br />

m←Regev.Dec sk (c) .<br />

10 The final key switching replaces the more complicated “refresh” operation of [BGV12].<br />

11<br />

6. FHE without Modulus Switching

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!