
Is there a solution for the following problem?
- We have a function f(x,y) where the inputs are secret an cannot be known by anyone besides the party that submitted them.
- The output of f is public and can be known by anyone.
- An adversary has access to any machine in the middle (not the devices of the two submitting parties).
- The computation has has to happen on a third party device without interacting with any of the owners of x and y more than once to get an input eg. Enc(x).
To me this sounds pretty much impossible, but since I cannot come up with a proof and the first time I heard of MPC all of it sounded impossible, let's give it a try.


Dec(f(Enc(x), Enc(y)))shall be possible, butDec(Enc(x))andDec(Enc((y))shall be impossible by the third party. This indicates f() needs some way to re-encrypt the output so that it can be decrypted with a different key, without being able to re-encrypt the inputs. This might indeed be possible for some functions f().f? What should this function do, besides compute something that may be publicly known? Where doesEnccome in? An understandable explanation would be "I want to compute some functionfon an untrusted device, without revealing the inputsxandyto the computation." Is that what you want?