# Can Add and Multiply On Cipher Text achieve all operations?

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 ?

• 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

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.

• 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