This is fascinating. The idea is, I could encrypt some data and send it to a third party X. Then, without ever decrypting my data, X could perform some computation on my data and return the results to me. Only I can read the results, just like how only I can decrypt the original data. This would have interesting consequences for “cloud computing,” because I could pay X to perform expensive computation for me without X having any idea what my data or the results are.
I read about this in this paper on philosophy and computational complexity: Why Philosophers Should Care About Computational Complexity.