somewhat homomorphic encryption scheme