1 Introduction
With the availability of cloud services, the techniques for securely outsourcing the prohibitively expensive computations are getting widespread attention in the scientific community. That is, the clients with resource-constraint devices can outsource the heavy computation workloads into the untrusted cloud servers and enjoy the unlimited computing resources in a pay-per-use manner. Since the cloud servers may return an invalid result in some cases, one crucial requirement of outsourcing computation is that the client has the ability to verify the validity of computation result efficiently.