I've seen that it's widely accepted that before Gentry's breakthrough (which is not practical yet) in 2009 there were no known full homomorphic encryption scheme.

I've read here in another answer that:

"...there are many known partially homomorphic cryptosystems, each one can either multiply or add numbers."

Now here on some interactive webpage allowing to test Paillier here:


I can do [(A+B)*C], hence doing both addition and multiplication (?).

Why is Paillier not fully homomorphic seen that it can do both addition and multiplication?

  • 1
    $\begingroup$ That site is somewhat confusing. C is not encrypted, there is no encrypt button. Paullier can add cithertexts, but only multiply by a plaintext. $\endgroup$
    – mikeazo
    Commented Jun 24, 2014 at 10:15
  • 2
    $\begingroup$ You can only homomorphically add two ciphertexts, but you can only homomorphically multiply each ciphertext with a plain integer (this operation can also be seen as a more efficient way than doing a number of successive additions of a ciphertext). Note that the latter is not a homomorphic multiplication of ciphertexts (which you would require for the scheme to be fully homomorphic)! $\endgroup$
    – DrLecter
    Commented Jun 24, 2014 at 10:18
  • $\begingroup$ @mikeazo: oh, ok... Didn't realize that: I've indeed been a bit confused by that little interactive demo. Makes a lot of sense. Thanks to both of you! $\endgroup$ Commented Jun 24, 2014 at 10:23
  • $\begingroup$ Could you accept and close this question? $\endgroup$
    – kelalaka
    Commented Sep 29, 2019 at 21:35

1 Answer 1


It can not do multiplication in the plaintext domain using two ciphertexts. In other words, given $E(m_1)$ and $E(m_2)$, you can not get $E(m_1\cdot m_2)$. You can only get $E(m_1+m_2)$.

Given $E(m_1)$ and $m_2$, you can get $E(m_1\cdot m_2)$ however. But notice that $m_2$ in this case was not encrypted. On the site you reference, $C$ is not encrypted. It is using this feature that I just described.

  • 3
    $\begingroup$ I just wanted to add that this is not a special property of Pallier encryption. It is in fact a property of any additively homomorphic encryption scheme. This is because $m_1 \cdot m_2 = \Sigma_{i \in \{1, \ldots, m_2\}} m_1$. I.e., from $E(m_1)$ you can compute $E(m_1 \cdot m_2)$ by simply using the additively homomorphic property $m_2$ times. $\endgroup$
    – Guut Boy
    Commented Jul 29, 2015 at 12:41
  • $\begingroup$ @GuutBoy, it is in fact partially a special property of Pallier, because the Ciphertexts permit multiplication by plaintext scalars without using repeated addition by raising $E(m)^k = E(mk)$ $\endgroup$ Commented Aug 23, 2018 at 5:16
  • 1
    $\begingroup$ @Confused_Coder well this is only because repeated use of the additvely homomorphic property is equivalent to exponentiation in the case for Pallier (because in Pallier we have roughly $E(m_1) \cdot E(m_2) = E(m_1 + m_2)$). Anyway, it does not change the fact that this is something that applies to any additively homomorphic encryption scheme. $\endgroup$
    – Guut Boy
    Commented Aug 24, 2018 at 8:34
  • $\begingroup$ @GuutBoy based on my understanding of Pallier, the operation is computable via exponentiation, not just via repeated application of addition. There certainly could exist other additively homomorphic schemes where you would not be able to compute the scalar multiplication directly as with Pallier, but you could compute it via repeated addition. $\endgroup$ Commented Aug 28, 2018 at 4:05

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.