I'm doing some research about full homomorphic encryption (FHE). As I figured out, algorithms are implemented in circuits. I suppose that they are called circuits because the Holy Grail is to realize a NAND gate and then be able to do any kind of logic with that.

My question is: how does homomorphic encryption deal with conditions and jump operations? How could you calculate the nth item of a Fibonacci series recursively with a circuit?

Most of the manuals of FHE implementations don't talk about conditions and jumps. Is the idea that some instances do some preparation of the circuit before execution?

  • 1
    $\begingroup$ Might me related Representing a function as FHE circuit. Due to the semantic security, you calculate both and combine them since the evaluator cannot know the jump. $\endgroup$
    – kelalaka
    Feb 17 '20 at 13:02
  • 1
    $\begingroup$ Also related: Can Fully Homomorphic Encryption do comparisons? $\endgroup$ Feb 18 '20 at 8:28
  • 1
    $\begingroup$ Unroll all loops, convert into circuit. There's nothing specific about FHE here. $\endgroup$
    – Maeher
    Mar 1 '20 at 13:30
  • 1
    $\begingroup$ @Robin: since you added a bounty to your question, can you explain why the two other questions linked to in the comments, and their answer, do not already answer your question? $\endgroup$ Mar 3 '20 at 18:28
  • $\begingroup$ @GeoffroyCouteau: In my opinion it doesn't, but I think the question arose because of a misunderstanding on my side. Jumps are not handled directly within a circuit. $\endgroup$
    – Robin
    Mar 7 '20 at 10:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.