Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A Fully homomorphic encryption scheme needs to support an evaluate function that can do add and multiply operations on cipher text.

Can we do all kinds of complex operations on cipher text like search, sort etc using just add and multiply ?

share|improve this question
I believe you would also need a not operation. – mikeazo Dec 27 '12 at 2:59
universal operations are add, xor or nand , nor , not sure why they defined it with "and" and "mult" – sashank Dec 27 '12 at 3:27
You ask about *add*/multiply, but the title says *AND*/multiply – AFS Dec 27 '12 at 3:44
oops , thanks ,corrected now ! – sashank Dec 27 '12 at 5:54
up vote 3 down vote accepted

If addition and multiplication are preserved, then we can evaluate arithmetic circuits over the encrypted data.

It seems that your confusion about the class of problems that we can compute stems from the fact that you are envisioning boolean circuits in which we perform operations on the bitwise representations of the input. This is not an FHE question per se, but rather a question regarding the difference between the computational models of boolean circuits vs. arithmetic circuits. To understand the problems that can be computed with this model of computation, take a look at this paper. A relevant portion:

The definition above shows an evident difference between arithmetic circuits and Boolean circuits.While Boolean circuits can perform operations on the "bit representation" of the input field elements,that are not necessarily the arithmetic operations, arithmetic circuits cannot. Nevertheless, most algorithms for algebraic problems fit naturally into the framework of arithmetic circuits.

In regards to why they defined FHE this way, it follows the definition of Ring Homomorphism. By definition, a ring homomorphism is a function between two rings that respects addition and multiplication.

In practice, recent research on FHE studies lattices since ideal lattices yield both additive and multiplicative homomophisms.

share|improve this answer
but then what good it would be for real use , if we solve FHE i.e only add and mult over cipher texts , unless we find ways of solving universal operations – sashank Dec 27 '12 at 5:57
I have quickly checked hcrypt's implementation , boolean XOR is equivalent to arithmetic Add , boolean AND is equivalent to arithmetic Mult, so they would be universal operations to realise any circuit , i got my answer , thanks anyway – sashank Dec 27 '12 at 8:17
@sashank Indeed if we limit ourselves to one bit then boolean XOR is equivalent to arithmetic add(mod 2) and boolean AND is equivalent to arithmetic mult. But think about what happens when we have to carry a bit. A boolean function has independence between bits while an arithmetic function does have dependence(it can carry) – AFS Dec 27 '12 at 8:46
i got the complexity ! thats why may be FHE schemes are highly inefficient – sashank Dec 27 '12 at 8:49
@AFS, I'm going to try to work my way through the paper you reference, but it would seem that an arithmetic circuit should be able to simulate a boolean circuit and compute anything that a boolean circuit can compute. Is that not the case? – mikeazo Jan 11 '13 at 19:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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