By Ahto Truu
Often it’s desirable for a client to outsource some work to a server. Sometimes the client needs to verify that the server executed the required computation correctly. A trivial solution would be for the client to re-run the computation and compare the results, but in most cases that would defeat the purpose of outsourcing to the server in the first place. Sometimes such direct verification is even impossible because the client submits only part of the input data and the server is not allowed to share the remaining inputs. It turns out, there are cryptographic tools that can be used in such scenarios, and in this session we will have a first look at some of them.