Determine whether there exists a family of fully homomorphic encryption schemes
E=(K,E,D,V), indexed by a security parameter λ, with the following properties.
For every λ and every possible output
(sk,ek,evk,M,C)←K(1λ),
the message space M and valid-ciphertext space C are finite; sk is the secret decryption key, ek is the encryption key, and evk is a public evaluation key. The randomized encryption algorithm E(ek,m;r) maps each m∈M to an element of C, the deterministic decryption algorithm D(sk,c) maps C to M, and
D(sk,E(ek,m;r))=m
for every m∈M and every encryption randomness r. The algorithms are polynomial-time in λ, with evaluation time also polynomial in the description length of the gate being evaluated.
There is a functionally complete set Γ of gates on M such that evaluation is unbounded: for every t-ary f∈Γ and every c1,…,ct∈C,
V(evk,f,c1,…,ct)∈C
and
D(sk,V(evk,f,c1,…,ct))=f(D(sk,c1),…,D(sk,ct)).
Thus gates from Γ may be evaluated correctly in arbitrary finite compositions, while the bit length of a ciphertext and the running time of decryption are bounded by polynomials in λ that are independent of the number of preceding evaluations.
The scheme is IND-CPA secure: in the experiment a challenger samples the key tuple and a uniformly random bit b; after receiving all public key material, any probabilistic polynomial-time adversary may adaptively submit pairs (mi,0,mi,1)∈M2 and receives E(ek,mi,b;ri) for fresh independent randomness ri (or obtains these through a left-or-right encryption oracle when ek is secret), and its advantage
Pr[b′=b]−21
in outputting the hidden bit is negligible in λ.
Finally, for every λ and every possible key tuple output by K, one of the binary ciphertext operations supplied by evaluation equips C with a group law ⋆, and the finite group (C,⋆) is nonsolvable. Equivalently, if C(0)=C and C(i+1)=[C(i),C(i)] is the commutator subgroup, then C(i)={1} for every i≥0.