# Hide algorithm and variables

I have some variables in my algorithm that I would not want others to see.

Party A would write an algorithm which will use my variables. But party's A algorithm should remain hidden i.e. I should not see it.

I run A's algorithm which uses my variables and it produces an output.

In reality the problem is that Party A might be an adversary. There are lots of parties writing algorithms so there is not only one party A. We can assume that most of the parties are not bad.

Is there a way to prevent my variables from leaking out to Party A?

If someone knows a paper about this could you point me in the right direction. The solution can also be one that is indistinguishably hard.

• The problem has not been sufficiently defined: the question is whether Party A has access to the algorithm when you run it. If you are asking for a mathematical solution, then this might not be the best place to ask this question. Feb 23, 2018 at 20:47
• Ar e you talking about the state of the algorithm that must be hidden, or the implementation details of the algorithm itself? Feb 24, 2018 at 3:59
• Party A does not have access to the algorithm when I run his algorithm. Not looking for mathematical solution. Need a real implementation. The implementation details of A's algo. is hidden except by A (who obviously created it). The algorithm when run on my side should not leak my sensitive data to someone else when some output is returned.
– Dool
Feb 24, 2018 at 6:05

## 1 Answer

You are looking for something called fully homomorphic encryption.

The gist of it is that party A can compute stuff using your variables without knowing your variables (mind blown, I know).

It would be using special encryption such that you can do operations on the ciphertext such that the decrypted result is the same as if you had done the operations to the plaintext values.

In other words: E(x) + E(y) = E(x + y)

As for implementations, I recommend looking into tfhe, etc.

As for papers, this one is the among the most well-known although it's techniques have been improved upon since it was published: https://crypto.stanford.edu/craig/

• Agree, but the current implementation of HE is slow even slower for large size of the ring.
– Dool
Feb 24, 2018 at 6:04
• @Dool oh, agreed 100%, but afaik it's the only way :/ Feb 24, 2018 at 6:39