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.

Recall that GapSVP γ is the (promise) problem of distinguishing, given a basis for a lattice and<br />

a parameter d, between the case where the lattice has a vector shorter than d, and the case where<br />

the lattice doesn’t have any vector shorter than γ · d. SIVP is the search problem of finding a set<br />

of “short” vectors. We refer the reader to [Reg05, Pei09] for more information.<br />

The best known algorithms for GapSVP γ ([Sch87, MV10]) require at least 2˜Ω(n/ log γ) time. The<br />

scheme we present in this work reduces from γ = n O(log n) , for which the best known algorithms<br />

run in time 2˜Ω(n) .<br />

As a final remark, we mention that Peikert also shows a classical reduction in the case of small<br />

values of q, but this reduction is from a newly defined “ζ-to-γ decisional shortest vector problem”,<br />

which is not as extensively studied as GapSVP.<br />

2.2 Homomorphic Encryption and Bootstrapping<br />

We now define homomorphic encryption and introduce Gentry’s bootstrapping theorem. Our definitions<br />

are mostly taken from [BV11b, BGV12].<br />

A homomorphic (public-key) encryption scheme HE = (HE.Keygen, HE.Enc, HE.Dec, HE.Eval) is<br />

a quadruple of ppt algorithms as follows (n is the security parameter):<br />

• Key generation (pk, evk, sk)←HE.Keygen(1 n ): Outputs a public encryption key pk, a public<br />

evaluation key evk and a secret decryption key sk. 9<br />

• Encryption c←HE.Enc pk (m): Using the public key pk, encrypts a single bit message m ∈<br />

{0, 1} into a ciphertext c.<br />

• Decryption m←HE.Dec sk (c): Using the secret key sk, decrypts a ciphertext c to recover<br />

the message m ∈ {0, 1}.<br />

• Homomorphic evaluation c f ←HE.Eval evk (f, c 1 , . . . , c l ): Using the evaluation key evk, applies<br />

a function f : {0, 1} l → {0, 1} to c 1 , . . . , c l , and outputs a ciphertext c f .<br />

As in previous works, we represent f as an arithmetic circuit over GF(2) with addition and<br />

multiplication gates. Thus it is customary to “break” HE.Eval into homomorphic addition<br />

c add ←HE.Add evk (c 1 , c 2 ) and homomorphic multiplication c mult ←HE.Mult evk (c 1 , c 2 ).<br />

A homomorphic encryption scheme is said to be secure if it is semantically secure (note that<br />

the adversary is given both pk and evk).<br />

Homomorphism w.r.t depth-bounded circuits and full homomorphism are defined next:<br />

Definition 2.3 (L-homomorphism). A scheme HE is L-homomorphic, for L = L(n), if for any<br />

depth L arithmetic circuit f (over GF(2)) and any set of inputs m 1 , . . . , m l , it holds that<br />

Pr [HE.Dec sk (HE.Eval evk (f, c 1 , . . . , c l )) ≠ f(m 1 , . . . , m l )] = negl(n) ,<br />

where (pk, evk, sk)←HE.Keygen(1 n ) and c i ←HE.Enc pk (m i ).<br />

Definition 2.4 (compactness and full homomorphism). A homomorphic scheme is compact if its<br />

decryption circuit is independent of the evaluated function. A compact scheme is fully homomorphic<br />

if it is L-homomorphic for any polynomial L. The scheme is leveled fully homomorphic if it takes<br />

1 L as additional input in key generation.<br />

9 We adopt the terminology of [BV11b] that treats the evaluation key as a separate entity from the public key.<br />

7<br />

6. FHE without Modulus Switching

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

Saved successfully!

Ooh no, something went wrong!