As I understand it, homomorphic encryption can be used to keep data confidential while still allowing computations over the data. From another question, I found out that one can also verify the integrity of the computation, (by which I mean one can verify that a returned value is indeed the result of the requested computation) by re-computing the result.
I am interested in a scenario where re-computing is not possible. For example, the original data might not be available anymore or the original data is very large and re-computing is too expensive. Are there other ways to verify that a result corresponds to the required computation?
That is, say I want to perform the operation
r = a + b + c using homomorphic encryption, in the cloud. Once the cloud returns the result
r, how can I verify that
r is the result of
a + b + c and not, say, the result of
a + b or some other computation?