I want a multiplicatively homomorphic encryption scheme that supports encryption of 0 (e.g. Elgamal doesn't support).

I also want the multiplication to be operated on the ciphertext of 0, i.e., if one of the ciphertexts is encryption of zero, the product is also encryption of 0.


2 Answers 2


Gentry's recent work highlights both FHE and SHE with and without bootstrapping easily found on Google Scholar. The open source code on Github is getting closer to reducing the associated complexity. IMB and Microsoft have a myriad of code and papers on the subject.

Having said that what you are proposing has never been done before, but here is one helpful papers that may assist you depending on your commitment:


It does not solve your issue but it does present some helpful side points that may assist you if you read it enough.


Fully homomorphic cryptosystems would work.

I am not aware of any other scheme with this property. (That is, there's at least one scheme that achieves this, but only over $\{0,1\}$.)

  • $\begingroup$ only over{0,1} is also OK $\endgroup$
    – Jan Leo
    Dec 22, 2014 at 11:36
  • $\begingroup$ The problem with the Fully Homomorphic cryptosystems is that they are very complex and hard to use in practice. But yes, they are homomorphic for multiplication and they support multiplication of zero. Maybe you can find something simpler... $\endgroup$ Dec 22, 2014 at 12:48
  • 2
    $\begingroup$ If you can live with $\{0,1\}$ as the message space, use any additively homomorphic scheme with a large message space and interpret encryptions of zero as $1$, and encryptions of anything else as $0$. Note that if you combine a ciphertext with itself a random number of times, this does not change the interpreted value of the ciphertext. To "multiply" two ciphertexts, randomize them (as above) and combine them. $\endgroup$
    – K.G.
    Dec 23, 2014 at 11:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.