3 ms·
So I can give an executable to anyone in the world and they cannot get to my source code?
by radres 6y ago
So I can give an executable to anyone in the world and they cannot get to my source code?
- layoutIfNeeded 6y agoNo. You have a function F which maps inputs x to outputs y. You transform this function into new one F', that will map the encrypted inputs encrypt(x) to the encrypted outputs encrypt(y), without knowing how to decrypt. F(x) = y F'(encrypt(x)) = encrypt(y)
- russfink 6y agoThis is correct. Additionally, the entity performing the computation does not get to learn the answer. This is an important distinction between a technique such as this, and software obfuscation.
- aruss 6y agoNot quite. The data is encrypted, the computation is not. Through the use of universal circuits (circuits that run other circuits) you could give an encrypted executable to an untrusted party to run on encrypted data, but note that the result of this computation is encrypted as well (so, the executable would be useless for the other party -- only you would be able to use the results). In fact, this idea underpins the crucial idea behind FHE: bootstrapping.