I am a beginner to the concept of homomorphic encryption. One thing that makes me very confused is why we use the circuit concept or approach to homomorphic encryption. Gentry's paper does not discuss it in detail. Are there any papers or books could make me have a better understanding of it?
(I mean the circuits part.)

  • $\begingroup$ This question has been marked 'off-topic'. I don't agree with that, but it might need clarification or risks being labelled too broad (I have not done this, I think its just about specific enough) $\endgroup$ Commented Mar 17, 2014 at 12:11
  • $\begingroup$ Might be a bit too broad (or even lit-request) but seems on-topic to me. $\endgroup$
    – rath
    Commented Mar 17, 2014 at 18:54

1 Answer 1


We use circuits because they are universal (any function you want to compute can be expressed as a circuit) and because they are convenient (because we know how to solve the problem of fully homomorphic encryption for circuits but not for other models). In particular, circuits are in some sense simple: all you need to do is find a way to implement an AND gate and a NOT gate, and that's enough to be universal. This helps avoid inessential detail and helps us focus on the core of the problem.

  • $\begingroup$ Thank you very much.I come up with an idea about simulating the fully homomorphic encryption scheme by using the C or Java. First, I will use the socket to communicate with client and server. Before the data is sent to server, all the data has been encrypted and put into fully homomorphic encryption.Second, once the server receive the encrypted data, the server use the Eval Function and then send back the data to client .What do you think of it? Do I need to simulate each circuit gate ,like the function or just simply use bit operation to represent circuit $\endgroup$
    – user12551
    Commented Mar 18, 2014 at 3:26

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.