# An Improved Protocol for Verifiable Polynomial Cloud Outsourcing Computation

Authors: Jun Ye; Zewen Yang; Fanglin An; Yin Zhang; Kejie Zhao; Hongqi Wang
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

The cloud computing industry is booming, which involves a large amount of data transmission and calculation, and polynomial calculation is the most basic calculation. Since polynomial calculations have extremely high requirements on the computing power of computing equipment, in most cases, the computing equipment in the user’s hands cannot meet the computing requirements. The user needs to calculate but has no way to do it by himself. In this case, the computing task must be handed over to the cloud server. Aiming at the untrustworthy problem of the cloud server environment, an improved verifiable polynomial cloud outsourcing computing protocol scheme based on the previous outsourcing computing protocol is proposed to ensure the security of the computing process, the privacy of the computing content, and the verifiability of the computing results. This solution hides all the calculation parameters behind the deformed encrypted parameters, so the cloud server cannot obtain the user’s true parameters during the calculation process, and the calculation results can be verified by the user on the client with minimal computing power.


---

## Body

## 1. Introduction

With the vigorous development of cloud computing, various industries have begun to use cloud computing, such as internet information provision, e-commerce, education, and finance. Within the traditional industry plus cloud computing can make enterprises understand customers better and be more able to grasp opportunities for development (With could computing, the traditional industry can make enterprise understand consumers better and be able to timely grasp opportunities for development). Cloud computing can expand the limited computer resources of enterprises in a cost-controllable way. Users do not need to consider the construction and maintenance of infrastructure and can directly obtain resources from cloud computing. Cloud computing improves people’s lives in a powerful but quiet way. According to the survey, 90% of companies are now using cloud computing services [1]. The cloud computing industry faces the market in the 21st century and will further expand, especially the cloud platform developed in the industrial field [2].Cloud computing provides powerful computing services. Clients with weak computing power, such as smartphones or old computer devices (low CPU frequency and small memory capacity), cannot rely on their computing capabilities to quickly obtain the results of complex computing tasks. These clients can send computing problems to cloud computing service providers, and the providers allow authorized clients to access the calculation results, thereby indirectly improving local computing efficiency. However, such an outsourcing computing model based on cloud computing has certain risks: (1) data privacy; (2) correctness of results. If the user outsources the calculation to the cloud computing server, the confidentiality of the data and the correctness of the returned result cannot be guaranteed. Whether it is one of these two points, or both, it will bring huge economic loss and time loss to the user. Therefore, an excellent and effective outsourcing computing model needs to meet these requirements: Correctness, if the cloud computing server honestly calculates in accordance with the predetermined agreement, the returned result will be accepted by the user. Reasonability, if the cloud computing server does not honestly perform calculations according to the predetermined agreement, the returned result will not be accepted by the user. Privacy, in any process of outsourced computing, the user’s computing intent cannot be deduced by the cloud computing server, because this involves the user’s privacy. Verifiability, with a great probability, users can verify the correctness of the results returned by the cloud server with a very small calculation cost. Efficiency, in the process of outsourcing computing, the computing resources consumed by users should be far less than the computing resources consumed to solve the computing problem alone.At present, a modular exponentiation security outsourcing solution based on a single untrusted cloud server [3] not only ensures that the user’s personal sensitive information will not be leaked but also can avoid the harm caused by attacks and ensure the outsourcing process security and privacy, and the results are fully verifiable, but the disadvantage is that the cloud server and user computing overhead is relatively large. And outsourcing computing includes many types. The purpose of this article is not to study a general security outsourcing model, because the general one often does not consider the computing characteristics of all computing types. Our research will focus on the calculation of polynomial difficult problems; polynomial calculation is applied to many fields, such as machine learning, artificial intelligence, and cryptography. It is not only the foundation of mathematics and many disciplines but also the key to solving many key problems. But the basics are often the most difficult. When the degree of the polynomial reaches a certain order of magnitude, the calculation of this polynomial is not a problem that the local computer can solve at all. If it can be solved, it will consume a lot of time. It is also really undesirable to use time for money in this age of rapid development. Zhang and Safavi-Naini [4] obtained a polynomial outsourcing scheme that can be publicly verified and protected by privacy by decomposing the polynomial in advance by dividing the polynomial into two calculation steps and outsourcing the costly step of the calculation. However, input privacy and functional privacy are not realized at the same time in this scheme. Yang et al. [5] proposed a polynomial outsourcing computing algorithm based on the RSA cryptosystem. Compared with other schemes, this algorithm has improved efficiency and supports the expansion of multiple clients but does not consider the dishonesty of the cloud server.Therefore, this article redesigns the outsourcing ideas for complex polynomial calculations to ensure the safety of polynomial outsourcing. Aiming at the problem of polynomial outsourcing calculation, this article proposes an improved method of polynomial outsourcing calculation scheme. The main contributions of this paper are as follows:(i)
Propose an improved polynomial security outsourcing model, which can ensure that users’ true computing intentions are not leaked and protect users’ privacy(ii)
Propose an improved verifiable model. Users can verify the correctness of the calculation results under the premise that the consumption is much smaller than that of direct calculation, and strengthen the user’s right to chooseThe follow-up arrangements of this article are as follows: Section2 carefully studies and analyzes the progress of outsourcing computing-related work at home and abroad; Section 3 introduces some preliminary knowledge; Section 4 is the presentation of this article; Section 5 is the analysis of the plan proposed in this article; Section 6 is the proof of the safety of this program; Section 7 is a comparative analysis of this program and other similar programs; Section 8 is a summary of this article.


## 2. Related Work

### 2.1. Outsourcing Calculation

The research on outsourcing computing has progressed very rapidly. We have focused on outsourcing computing in various application fields and different research priorities in recent years.The concept of outsourcing computing was put forward very early. Thanks to the rapid development of cloud computing in recent years, outsourcing computing has been more widely used. For different types of complex calculations, it is necessary to design different outsourcing schemes according to the characteristics of such calculations. At present, there is a calculation framework for rational number outsourcing (POCR) [6], which allows users to outsource the storage and processing of rational numbers to cloud servers. Simulation experiments show that the framework is efficient, verifiable, safe, and reliable. There are also outsourced calculation schemes for matrix multiplication functions [7]. According to security analysis and performance evaluation, the improved algorithm helps devices with lower computational overhead to complete data processing, solves the problem of uploading data and returning results to resist attacks from opponents, prevents data leakage, and ensures security and high efficiency, which reflects the excellence of matrix multiplication algorithm in outsourcing computing, and it has been well applied in the field of Internet of Things. There are also outsourcing solutions for Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform (IDFT) [8], which have been widely used in the analysis and design of discrete signals and systems. The algorithm is improved, and the local computing overhead is reduced through cloud computing outsourcing. The experiment shows that the scheme is efficient, safe, and verifiable. There are many types of outsourcing computing, so the field of outsourcing computing applications is also very wide. Research on outsourcing computing solutions for the Internet of Things field has been a research hotspot in recent years [9, 10], and outsourcing is also needed in the analysis and design of discrete signals and systems. The form of computing is used to advance [8], and with the popularization of smart grid, smart grid is also an important application scenario of outsourcing computing [11]. Outsourcing computing is not simply migrating computing from local to cloud servers. Generally speaking, outsourcing computing must consider and deal with data privacy issues during this migration process [12, 13] and the accuracy of returned results [14], and an excellent outsourcing computing solution should consider the transformation of the outsourcing computing solution to optimize the client’s computing volume as much as possible [14]. Focusing on bilinear pairing (OBP) secure outsourcing computing, Lin et al. [15] combined with the Ethereum blockchain technology and proposed a new blockchain-based outsourcing system, which enhances security and serviceability, but currently, the problem of “free rider” attacks is not resolved. Dorsala et al. [16] considered the verifiability of outsourcing calculations and the fairness of calculation costs and constructed fair and secure outsourcing calculations based on smart contracts, but the scheme did not consider the privacy protection of inputs and outputs. Moreover, the security certification is carried out when both the client and the server are honest, which is not representative.


### 2.2. Polynomial Outsourcing

Polynomials are simple in form, but they are the basis of linear algebra calculations in many scientific calculations and occupy an important position in computer science. However, the calculation of high-power polynomials is very complicated, and most of them cannot be solved by local computers. The study of polynomial outsourcing calculation is the current optimal solution to this problem.Aiming at the extended Euclidean algorithm of large-scale polynomials, Li et al. [17] used variable substitution and matrix transformation techniques to establish a polynomial outsourcing scheme with privacy protection and verifiable results and greatly reduced the client’s communication cost of the server. Sun et al. [18] studied the problem of data leakage caused by untrustworthy business servers, focusing on the consistency of polynomial complex calculation results. The modified scheme has the function of public verification but can only achieve partial input and output privacy protection. In the field of clinical decision-making in fog computing, in order to achieve lightweight neural networks, Liu et al. [19] performed polynomial calculations into outsourcing calculations in sections and have the function of privacy protection, but privacy protection does not support more complex models. In the scenario of neural network outsourcing training, Chen et al. [20] proposed a homomorphic data encapsulation mechanism to achieve privacy protection and secure outsourcing calculations for polynomials. Saha and Koshiba [21] in the case of the private equality test (PET) compressed multiple data in the PET protocol into a polynomial before performing secure outsourcing calculations, but the security outsourcing protocol’s ability to resist real-world attacks needs to be strengthened. Song et al. [22] proposed a multisource data polynomial outsourcing calculation protocol, and it has the function of public verification, but Wang et al. [23] found that the core construction of the scheme has vulnerabilities that allow the enemy to successfully attack. In order to protect input/output data, Ye et al. [24] used a disguise technique to process the real polynomials that need to be calculated, so that secure outsourcing calculations can also be performed on untrusted cloud servers, and a combination of based on the verification technology of keyword search. And combining it with the verification technology of keyword research, users can easily complete the verification of outsourcing calculation results on the client side. The exponential calculation is the basic computation of polynomials. There are currently many kinds of research on exponential calculation outsourcing [25, 26]. Chevalier et al. [25] proposed a taxonomy of exponentiation delegation protocols and the associated formal models of protocols; the client only needs to be responsible for a few multiplications. Liu et al. [26] proposed a novel verifiable computation scheme for modular exponentiation based on shareable function. The efficiency and checkability have been improved to a certain extent, but the scheme is based on multiple servers, which wastes resources and increases cost. Xu [27] realized polynomial secure outsourced computing by optimizing multiclient noninteractive verifiable computation (MVC); however, the computation cost in the user side is high. Guo and Xu [28] used a task allocation scheme performed by multiple workers, so that the outsourced calculation parameters cannot be leaked as a whole, but the verifiability of the final calculation results cannot be guaranteed. Liu et al. [29] uses homomorphic encryption to encrypt the original polynomial and upload it. However, the computational complexity of homomorphic encryption is very high locally, and the verifiability of the result cannot be guaranteed.


## 2.1. Outsourcing Calculation

The research on outsourcing computing has progressed very rapidly. We have focused on outsourcing computing in various application fields and different research priorities in recent years.The concept of outsourcing computing was put forward very early. Thanks to the rapid development of cloud computing in recent years, outsourcing computing has been more widely used. For different types of complex calculations, it is necessary to design different outsourcing schemes according to the characteristics of such calculations. At present, there is a calculation framework for rational number outsourcing (POCR) [6], which allows users to outsource the storage and processing of rational numbers to cloud servers. Simulation experiments show that the framework is efficient, verifiable, safe, and reliable. There are also outsourced calculation schemes for matrix multiplication functions [7]. According to security analysis and performance evaluation, the improved algorithm helps devices with lower computational overhead to complete data processing, solves the problem of uploading data and returning results to resist attacks from opponents, prevents data leakage, and ensures security and high efficiency, which reflects the excellence of matrix multiplication algorithm in outsourcing computing, and it has been well applied in the field of Internet of Things. There are also outsourcing solutions for Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform (IDFT) [8], which have been widely used in the analysis and design of discrete signals and systems. The algorithm is improved, and the local computing overhead is reduced through cloud computing outsourcing. The experiment shows that the scheme is efficient, safe, and verifiable. There are many types of outsourcing computing, so the field of outsourcing computing applications is also very wide. Research on outsourcing computing solutions for the Internet of Things field has been a research hotspot in recent years [9, 10], and outsourcing is also needed in the analysis and design of discrete signals and systems. The form of computing is used to advance [8], and with the popularization of smart grid, smart grid is also an important application scenario of outsourcing computing [11]. Outsourcing computing is not simply migrating computing from local to cloud servers. Generally speaking, outsourcing computing must consider and deal with data privacy issues during this migration process [12, 13] and the accuracy of returned results [14], and an excellent outsourcing computing solution should consider the transformation of the outsourcing computing solution to optimize the client’s computing volume as much as possible [14]. Focusing on bilinear pairing (OBP) secure outsourcing computing, Lin et al. [15] combined with the Ethereum blockchain technology and proposed a new blockchain-based outsourcing system, which enhances security and serviceability, but currently, the problem of “free rider” attacks is not resolved. Dorsala et al. [16] considered the verifiability of outsourcing calculations and the fairness of calculation costs and constructed fair and secure outsourcing calculations based on smart contracts, but the scheme did not consider the privacy protection of inputs and outputs. Moreover, the security certification is carried out when both the client and the server are honest, which is not representative.


## 2.2. Polynomial Outsourcing

Polynomials are simple in form, but they are the basis of linear algebra calculations in many scientific calculations and occupy an important position in computer science. However, the calculation of high-power polynomials is very complicated, and most of them cannot be solved by local computers. The study of polynomial outsourcing calculation is the current optimal solution to this problem.Aiming at the extended Euclidean algorithm of large-scale polynomials, Li et al. [17] used variable substitution and matrix transformation techniques to establish a polynomial outsourcing scheme with privacy protection and verifiable results and greatly reduced the client’s communication cost of the server. Sun et al. [18] studied the problem of data leakage caused by untrustworthy business servers, focusing on the consistency of polynomial complex calculation results. The modified scheme has the function of public verification but can only achieve partial input and output privacy protection. In the field of clinical decision-making in fog computing, in order to achieve lightweight neural networks, Liu et al. [19] performed polynomial calculations into outsourcing calculations in sections and have the function of privacy protection, but privacy protection does not support more complex models. In the scenario of neural network outsourcing training, Chen et al. [20] proposed a homomorphic data encapsulation mechanism to achieve privacy protection and secure outsourcing calculations for polynomials. Saha and Koshiba [21] in the case of the private equality test (PET) compressed multiple data in the PET protocol into a polynomial before performing secure outsourcing calculations, but the security outsourcing protocol’s ability to resist real-world attacks needs to be strengthened. Song et al. [22] proposed a multisource data polynomial outsourcing calculation protocol, and it has the function of public verification, but Wang et al. [23] found that the core construction of the scheme has vulnerabilities that allow the enemy to successfully attack. In order to protect input/output data, Ye et al. [24] used a disguise technique to process the real polynomials that need to be calculated, so that secure outsourcing calculations can also be performed on untrusted cloud servers, and a combination of based on the verification technology of keyword search. And combining it with the verification technology of keyword research, users can easily complete the verification of outsourcing calculation results on the client side. The exponential calculation is the basic computation of polynomials. There are currently many kinds of research on exponential calculation outsourcing [25, 26]. Chevalier et al. [25] proposed a taxonomy of exponentiation delegation protocols and the associated formal models of protocols; the client only needs to be responsible for a few multiplications. Liu et al. [26] proposed a novel verifiable computation scheme for modular exponentiation based on shareable function. The efficiency and checkability have been improved to a certain extent, but the scheme is based on multiple servers, which wastes resources and increases cost. Xu [27] realized polynomial secure outsourced computing by optimizing multiclient noninteractive verifiable computation (MVC); however, the computation cost in the user side is high. Guo and Xu [28] used a task allocation scheme performed by multiple workers, so that the outsourced calculation parameters cannot be leaked as a whole, but the verifiability of the final calculation results cannot be guaranteed. Liu et al. [29] uses homomorphic encryption to encrypt the original polynomial and upload it. However, the computational complexity of homomorphic encryption is very high locally, and the verifiability of the result cannot be guaranteed.


## 3. Preliminaries

Before formally introducing the plan, first, introduce some knowledge points that will be used in the plan.


### 3.1. Verifiable Outsourcing Calculation Agreement

When the user outsources the calculation to the cloud server, he will get a returned calculation result from the cloud server. However, in our hypothesis, the cloud server may be cheating (The cloud server that is not honest enough is something we must consider before involving a data protection scheme. At the same time, there are cloud servers that are not honest enough in real life, including more and more incidents where data stored in the cloud has been leaked), so the user needs to verify the calculation result to ensure its availability. This is used to determine whether to pay computing rewards to the cloud server. Through the verifiable computing protocol, the user can hand over the calculation of the processed functionfx to the cloud server, and the client can verify the correctness of the returned result, while consuming a small amount of computing resources.Four general algorithms for verifiable outsourcing computing protocols [30], VC=KeyGen,ProbGen,Compute,Verify, are as follows:
(1)
PKf,SKx,EKf⟵KeyGenf,1λ: based on the function f∈F and the security parameter λ, a random generation algorithm generates a bunch of public and private keys PKf and SKf, the public key is used to verify the correctness of the outsourced calculation, the private key is the secret information kept by the user, and the server uses the encrypted function EKf for calculation; PS: the function f refers to the generalized function that needs to be outsourced. In this article, the focus is on the polynomial function fx, defined in formula (2)(2)
σx,VKx⟵ProbGenPKf,SKf,x: given x∈Domf, the user problem generation algorithm uses the private key SKf to encrypt the input value x to obtain the value σx and calculate the verification key VKx(3)
σy⟵ComputeEKf,σx: the user sends function EKf and the encrypted input value σx to the server, and the server calculates the calculation result σy(4)
y∨⊥⟵VerifyPKf,VKx,σy: enter the public key PKf, the verification key VKx, and the obtained encryption function value σy to verify the correctness of the calculation result. If the verification is correct, the calculation result y is output; otherwise, it is ⊥


### 3.2. Exponentiation by the Bisection Recursion Method

In order to know the baseu and exponent a in the finite field p, use the least amount of calculation to calculate the value of the final modulus uamodp. Here, we use the bipartite recursion method:
(1)uamodp=umodpa=1,u·ua−1modpa%2=1,ua2·ua/2modpa%2=0.According to the parity ofa, find its subexpression separately according to the above formula, and then, substituting the subexpression into the above formula to find the subexpression of the subexpression, ..., continue to divide a into two, until a=1, all subexpression equations can be calculated accordingly, and finally, the calculating value of uamodp.According to this method, the time complexity of the original modular exponentiation operation can be reduced toOlog2n from On. In Section 5.2, this method is used to solve the problem of high computational complexity in the local client.


## 3.1. Verifiable Outsourcing Calculation Agreement

When the user outsources the calculation to the cloud server, he will get a returned calculation result from the cloud server. However, in our hypothesis, the cloud server may be cheating (The cloud server that is not honest enough is something we must consider before involving a data protection scheme. At the same time, there are cloud servers that are not honest enough in real life, including more and more incidents where data stored in the cloud has been leaked), so the user needs to verify the calculation result to ensure its availability. This is used to determine whether to pay computing rewards to the cloud server. Through the verifiable computing protocol, the user can hand over the calculation of the processed functionfx to the cloud server, and the client can verify the correctness of the returned result, while consuming a small amount of computing resources.Four general algorithms for verifiable outsourcing computing protocols [30], VC=KeyGen,ProbGen,Compute,Verify, are as follows:
(1)
PKf,SKx,EKf⟵KeyGenf,1λ: based on the function f∈F and the security parameter λ, a random generation algorithm generates a bunch of public and private keys PKf and SKf, the public key is used to verify the correctness of the outsourced calculation, the private key is the secret information kept by the user, and the server uses the encrypted function EKf for calculation; PS: the function f refers to the generalized function that needs to be outsourced. In this article, the focus is on the polynomial function fx, defined in formula (2)(2)
σx,VKx⟵ProbGenPKf,SKf,x: given x∈Domf, the user problem generation algorithm uses the private key SKf to encrypt the input value x to obtain the value σx and calculate the verification key VKx(3)
σy⟵ComputeEKf,σx: the user sends function EKf and the encrypted input value σx to the server, and the server calculates the calculation result σy(4)
y∨⊥⟵VerifyPKf,VKx,σy: enter the public key PKf, the verification key VKx, and the obtained encryption function value σy to verify the correctness of the calculation result. If the verification is correct, the calculation result y is output; otherwise, it is ⊥


## 3.2. Exponentiation by the Bisection Recursion Method

In order to know the baseu and exponent a in the finite field p, use the least amount of calculation to calculate the value of the final modulus uamodp. Here, we use the bipartite recursion method:
(1)uamodp=umodpa=1,u·ua−1modpa%2=1,ua2·ua/2modpa%2=0.According to the parity ofa, find its subexpression separately according to the above formula, and then, substituting the subexpression into the above formula to find the subexpression of the subexpression, ..., continue to divide a into two, until a=1, all subexpression equations can be calculated accordingly, and finally, the calculating value of uamodp.According to this method, the time complexity of the original modular exponentiation operation can be reduced toOlog2n from On. In Section 5.2, this method is used to solve the problem of high computational complexity in the local client.


## 4. Outsourcing Model

Basic operations in many encryption schemes require evaluation of polynomials in a finite field. Including some complex nonbasic functions that are difficult to evaluate directly, all need to use polynomial functions to fit within the error range and then convert the problem into a calculable polynomial evaluation problem. Particularly in cryptography, for the Lagrange interpolation polynomial, it is necessary to find the function value of multiple formulas. So here, for the following polynomials:(2)fx=a0+a1x+a2x2+⋯+anxnmodp.Among themai,x∈RZpi∈0,1,⋯,n, the feature of finite field p is a large prime number with a memory greater than 512 bits.Due to the large number of terms of the calculated polynomial and the large calculation value, the calculation amount of the calculation task is very large. The client cannot calculate the value of the polynomialfx according to the value of x in a short time. The resource-constrained devices can not solve the computation of the complex polynomials. In order to solve the problem that the computing power cannot meet the demand, the current solution is to use cloud computing to delegate the computing task to the cloud server, but the cloud server belongs to the cloud service provider. This involves the user’s privacy leakage and incorrect calculation results.In the outsourcing calculation process, the user needs to send all the parameters required for the calculation of the polynomial to the cloud server. The data is not controlled by the user during this process. We assume that the cloud server is semitrusted, and it is very likely to be in the calculation process, which means they will leak the user’s data privacy or return incorrect calculation results to the user to deceive the user.Here, we propose a polynomial privacy protection outsourcing model. The flow chart of the outsourcing model is shown in Figure1. The process can be used by multiple users at the same time, and it is divided into 5 stages (a, b, c, d, and e). Each user performs initialization, encryption, decryption, and verification operations on his own client; only the third step (calculation) is performed on the cloud server.Figure 1
Outsourcing model.


## 5. Our Solution

According to the polynomial outsourcing privacy protection model, our solution will be introduced in four steps as in the following, which are construction, encryption, computation, and verification.According to the polynomial outsourcing privacy protection model, as shown in Figure2, we will introduce our solution from the four steps of construction, encryption, calculation, and verification.Figure 2
Our solution.


### 5.1. Constructing Parameters

The user usesr,d,b,r1,r2,k∈RZp as the private key, and formula (2) a0,a1,⋯,an and x0 as the parameters to be protected.


### 5.2. Encrypting Original Function

We blindx0 as σx0=x0/r and σx0′=x0/d.We construct a special polynomial function:(3)gx=bx+b2x2+⋯+bn−1xn−1modp.For formula (3), when the values of b and x are known, the client can use its own small amount of computing resources to calculate the value of gx, because this is a geometric series of bx; users can calculate the value of gx on their computing device according to the following formula:
(4)gx=bx1−bn−1xn−11−bx.Since the calculation complexity of the above formula depends on the calculation factorbn−1σ′x0n−1, the value gσx0′ can be obtained by using the bisection iteration method on the client (bn−1σ′x0n−1 as a large integer modular exponentiation operation and be calculated by formula (1)).Thus,fx is changed into the following forms:
(5)F1σx=r1·a0+∑i=1nairiσxi=c0+c1σx+c2σx2+⋯+cnσxn,(6)F2σx′=a0+r2+∑i=1naidiσ′ix+σx′−kgσx′=d0+d1σx′+d2σ′x2+⋯+dnσ′xn.Through formulas (5) and (6), the user converts the polynomial parameters a0,a1,⋯,an and x0 in formula (2) into encrypted parameters c0,c1,⋯,cn and σx0, d0,d1,⋯,dn and σx0′, and then, sends them to the cloud server.


### 5.3. Cloud Server Computation

The user sends the encrypted polynomial parameter vectorc0,c1,⋯,cn and variable σx0, vector d0,d1,⋯,dn and variable σx0′ to the cloud server to calculate F1σx and F2σx′, and the cloud server return the calculation result F1σx0,F2σx0′ to the user.


### 5.4. Verifying the Results

After the user getsF1σx0 and F2σx0′, they are decrypted into the original polynomial:
(7)f1x0=F1σx0−r1a0+a0,(8)f2x0=F2σx0′−σx0′−kgσx0′−r2.After the user obtainsf1x0 and f2x0 through the above calculations, they only need to compare whether the values of the two are equal: if f1x0=f2x0, the calculated value is correct and accept the result fx0=f1x0=f2x0; if f1x0≠f2x0, it can be confirmed that the cloud server cheated and gave a false answer, confirming the result is ⊥.After the verification of this step, it can effectively ensure that the user is not cheated by the cloud server, which can be proved in Section6.3.


## 5.1. Constructing Parameters

The user usesr,d,b,r1,r2,k∈RZp as the private key, and formula (2) a0,a1,⋯,an and x0 as the parameters to be protected.


## 5.2. Encrypting Original Function

We blindx0 as σx0=x0/r and σx0′=x0/d.We construct a special polynomial function:(3)gx=bx+b2x2+⋯+bn−1xn−1modp.For formula (3), when the values of b and x are known, the client can use its own small amount of computing resources to calculate the value of gx, because this is a geometric series of bx; users can calculate the value of gx on their computing device according to the following formula:
(4)gx=bx1−bn−1xn−11−bx.Since the calculation complexity of the above formula depends on the calculation factorbn−1σ′x0n−1, the value gσx0′ can be obtained by using the bisection iteration method on the client (bn−1σ′x0n−1 as a large integer modular exponentiation operation and be calculated by formula (1)).Thus,fx is changed into the following forms:
(5)F1σx=r1·a0+∑i=1nairiσxi=c0+c1σx+c2σx2+⋯+cnσxn,(6)F2σx′=a0+r2+∑i=1naidiσ′ix+σx′−kgσx′=d0+d1σx′+d2σ′x2+⋯+dnσ′xn.Through formulas (5) and (6), the user converts the polynomial parameters a0,a1,⋯,an and x0 in formula (2) into encrypted parameters c0,c1,⋯,cn and σx0, d0,d1,⋯,dn and σx0′, and then, sends them to the cloud server.


## 5.3. Cloud Server Computation

The user sends the encrypted polynomial parameter vectorc0,c1,⋯,cn and variable σx0, vector d0,d1,⋯,dn and variable σx0′ to the cloud server to calculate F1σx and F2σx′, and the cloud server return the calculation result F1σx0,F2σx0′ to the user.


## 5.4. Verifying the Results

After the user getsF1σx0 and F2σx0′, they are decrypted into the original polynomial:
(7)f1x0=F1σx0−r1a0+a0,(8)f2x0=F2σx0′−σx0′−kgσx0′−r2.After the user obtainsf1x0 and f2x0 through the above calculations, they only need to compare whether the values of the two are equal: if f1x0=f2x0, the calculated value is correct and accept the result fx0=f1x0=f2x0; if f1x0≠f2x0, it can be confirmed that the cloud server cheated and gave a false answer, confirming the result is ⊥.After the verification of this step, it can effectively ensure that the user is not cheated by the cloud server, which can be proved in Section6.3.


## 6. Scheme Analysis

Next, we will prove our solution in terms of security and correctness, as shown in Figure3.Figure 3
Scheme analysis.


### 6.1. The Calculated Function Is Indistinguishable

Theorem 1.
The two functionsF1σx and F2σx′ are indistinguishable.Proof.
ForF1σx and F2σx′, the coefficients of each term satisfy, respectively:
(9)ci=r1ai,i=0,ci=airi,i=1,2,⋯,n,(10)di=r2+ai,i=0,di=aidi−kbi,i=1,di=aidi+bi−1−kbi,i=2,3,⋯,n.
Among themai,b,r,b,k,r1,r2∈Zpi=0,1,⋯,n, so ci,di∈Zp.
And the independent variablesσx0 and σx0′ are also satisfied: σx0,σx0′∈Zp, so for the attacker, the two functions F1σx and F2σx′ are indistinguishable.
The solution itself does not send the original polynomial parametersa0,a1,⋯,an and x0 that users need to calculate to the cloud server, but the two encrypted polynomials F1σx and F2σx′, and the indistinguishability of these two polynomials also increases the difficulty for cloud servers to deceive users.☐


### 6.2. Security of the Calculation Process

Theorem 2.
Independent variablex0 and function fx are safe in the calculation process.Proof.
For the two functionsF1σx and F2σx′, the attacker does not know the user’s private key b,r,d,k,r1,r2 and the coefficient a0,a1,⋯,an of the original polynomial fx during the calculation process.
The attacker can confirm each parameter through the following two calculation processes; on the one hand:(11)F1σx0=fx0+r1a0+a0.
In this process, because the attacker knows the value ofc0=r1a0 but does not know the value of a0, the probability of resolving fx0 through F1σx0 is 1/p; and because the attacker does not know the value of r, the probability of cracking x0 from σx0 is 1/p. So the probability that an attacker gets x0 and fx0 through σx0 and F1σx0 is 1/p2.
On the other hand:(12)F2σx0′=fx0+σx0′−kgσx0′+r2.
In this process, the attacker knowsσx0′ and F2σx0′ but does not know the user’s private key k,b,r2, so the probability of resolving fx0 through F2σx0′ is 1/p3; and because the attacker does not know the value of d, so the probability of cracking x0 from σx0′ is 1/p. Therefore, the probability that an outsourcer passes σx0′ and F1σx0′ to get x0 and fx0 is 1/p4.
In summary, considering that the probability of the attacker distinguishing the two functions ofF1σx and F2σx′ is 1/2, the maximum probability that the attacker can crack the events (Ca) of x0 and fx0 is
(13)PrACa=12max1p2,1p4=12p2.
This theorem can directly indicate that it is difficult for the cloud server to invade the user’s privacy during the calculation process.☐


### 6.3. Verifiability of Calculation Results

Theorem 3.
The maximum probability that the cloud server deceives the user through the client verification through a false calculation result (SS) is1/p.Proof.
There are two ways in which the cloud server deceives the user to pass the client verification through false calculation results: the first method (SS1) is to obtain part of the user’s private key and then makef1x0=f2x0, which is
(14)F1σx0−r1a0+a0=F2σx0′−σx0′−kgσx0′−r2.
The way to complete this step is that the values of resultsF1σx0 and F2σx0′ returned by the cloud server to the user meet the following requirements:
(15)F1σx0−F2σx0′=r1a0+a0−σx0′−kgσx0′−r2.
The probability that makes the above formula true is(16)PrASS1=PrAb,k,r1,r2=1p4.
The second method (SS2) is to obtain a valueξ∈RZp through random guessing, so that it satisfies
(17)ξ=r1a0+a0−σx0′−kgσx0′−r2.
Thus, the false solutionsF1σx0 and F2σx0′ can be constructed according to the value of ξ, so as to satisfy
(18)F1σx0−F2σx0′=ξ.
The probability of completing this process is(19)PrASS2=PrAξ=1p.
To sum up, the maximum probability that the cloud server deceives the user through the client verification through the false calculation result (SS) is(20)PrASS=maxPrASS1,PrASS2=max1p4,1p.
It can be seen that the cloud server and the attacker cannot successfully attack the computing involved by the user, and each time users only need to update their private keys partially, this operation will greatly increase the difficulty of the attacker to attack the user in the safe time, so that the whole scheme is verifiable.☐


### 6.4. Analysis of the Correctness of the Calculation Results

Theorem 4.
If the cloud server is honest in accordance with the protocol of this scheme, it must be able to let users accept its output.Proof.
All parameters include the original polynomialfx and the key generated by the user, in the operation process of the scheme proposed in this paper; its ownership and right to know are firmly in the hands of users and will not be obtained by attackers or fraudulent servers.
After the cloud server calculates the two values ofF1σx0 and F2σx0′, it sends them to the user. Users can use the values of F1σx0 and F2σx0′ to get the value of fx0, respectively. The principle of F1σx0 is as follows:
(21)F1σx0−r1a0+a0=r1·a0+∑i=1nairiσx0i−r1a0+a0=∑i=1naixi+a0=fx0.
Correspondingly, the decrypting principle ofF2σx0′ is as follows:
(22)F2σx0′−σx0′−kgσx0′−r2=a0+r2+∑i=1naidiσx0′i+σx0′−kgσx0′−σx0′−kgσx0′−r2=a0+∑i=1naix0i=fx0.
Obviously, only honest computing can cloud server be accepted by users (only honest computing from cloud serves can be accepted by users, so that users can get the correct calculation results).☐


## 6.1. The Calculated Function Is Indistinguishable

Theorem 1.
The two functionsF1σx and F2σx′ are indistinguishable.Proof.
ForF1σx and F2σx′, the coefficients of each term satisfy, respectively:
(9)ci=r1ai,i=0,ci=airi,i=1,2,⋯,n,(10)di=r2+ai,i=0,di=aidi−kbi,i=1,di=aidi+bi−1−kbi,i=2,3,⋯,n.
Among themai,b,r,b,k,r1,r2∈Zpi=0,1,⋯,n, so ci,di∈Zp.
And the independent variablesσx0 and σx0′ are also satisfied: σx0,σx0′∈Zp, so for the attacker, the two functions F1σx and F2σx′ are indistinguishable.
The solution itself does not send the original polynomial parametersa0,a1,⋯,an and x0 that users need to calculate to the cloud server, but the two encrypted polynomials F1σx and F2σx′, and the indistinguishability of these two polynomials also increases the difficulty for cloud servers to deceive users.☐


## 6.2. Security of the Calculation Process

Theorem 2.
Independent variablex0 and function fx are safe in the calculation process.Proof.
For the two functionsF1σx and F2σx′, the attacker does not know the user’s private key b,r,d,k,r1,r2 and the coefficient a0,a1,⋯,an of the original polynomial fx during the calculation process.
The attacker can confirm each parameter through the following two calculation processes; on the one hand:(11)F1σx0=fx0+r1a0+a0.
In this process, because the attacker knows the value ofc0=r1a0 but does not know the value of a0, the probability of resolving fx0 through F1σx0 is 1/p; and because the attacker does not know the value of r, the probability of cracking x0 from σx0 is 1/p. So the probability that an attacker gets x0 and fx0 through σx0 and F1σx0 is 1/p2.
On the other hand:(12)F2σx0′=fx0+σx0′−kgσx0′+r2.
In this process, the attacker knowsσx0′ and F2σx0′ but does not know the user’s private key k,b,r2, so the probability of resolving fx0 through F2σx0′ is 1/p3; and because the attacker does not know the value of d, so the probability of cracking x0 from σx0′ is 1/p. Therefore, the probability that an outsourcer passes σx0′ and F1σx0′ to get x0 and fx0 is 1/p4.
In summary, considering that the probability of the attacker distinguishing the two functions ofF1σx and F2σx′ is 1/2, the maximum probability that the attacker can crack the events (Ca) of x0 and fx0 is
(13)PrACa=12max1p2,1p4=12p2.
This theorem can directly indicate that it is difficult for the cloud server to invade the user’s privacy during the calculation process.☐


## 6.3. Verifiability of Calculation Results

Theorem 3.
The maximum probability that the cloud server deceives the user through the client verification through a false calculation result (SS) is1/p.Proof.
There are two ways in which the cloud server deceives the user to pass the client verification through false calculation results: the first method (SS1) is to obtain part of the user’s private key and then makef1x0=f2x0, which is
(14)F1σx0−r1a0+a0=F2σx0′−σx0′−kgσx0′−r2.
The way to complete this step is that the values of resultsF1σx0 and F2σx0′ returned by the cloud server to the user meet the following requirements:
(15)F1σx0−F2σx0′=r1a0+a0−σx0′−kgσx0′−r2.
The probability that makes the above formula true is(16)PrASS1=PrAb,k,r1,r2=1p4.
The second method (SS2) is to obtain a valueξ∈RZp through random guessing, so that it satisfies
(17)ξ=r1a0+a0−σx0′−kgσx0′−r2.
Thus, the false solutionsF1σx0 and F2σx0′ can be constructed according to the value of ξ, so as to satisfy
(18)F1σx0−F2σx0′=ξ.
The probability of completing this process is(19)PrASS2=PrAξ=1p.
To sum up, the maximum probability that the cloud server deceives the user through the client verification through the false calculation result (SS) is(20)PrASS=maxPrASS1,PrASS2=max1p4,1p.
It can be seen that the cloud server and the attacker cannot successfully attack the computing involved by the user, and each time users only need to update their private keys partially, this operation will greatly increase the difficulty of the attacker to attack the user in the safe time, so that the whole scheme is verifiable.☐


## 6.4. Analysis of the Correctness of the Calculation Results

Theorem 4.
If the cloud server is honest in accordance with the protocol of this scheme, it must be able to let users accept its output.Proof.
All parameters include the original polynomialfx and the key generated by the user, in the operation process of the scheme proposed in this paper; its ownership and right to know are firmly in the hands of users and will not be obtained by attackers or fraudulent servers.
After the cloud server calculates the two values ofF1σx0 and F2σx0′, it sends them to the user. Users can use the values of F1σx0 and F2σx0′ to get the value of fx0, respectively. The principle of F1σx0 is as follows:
(21)F1σx0−r1a0+a0=r1·a0+∑i=1nairiσx0i−r1a0+a0=∑i=1naixi+a0=fx0.
Correspondingly, the decrypting principle ofF2σx0′ is as follows:
(22)F2σx0′−σx0′−kgσx0′−r2=a0+r2+∑i=1naidiσx0′i+σx0′−kgσx0′−σx0′−kgσx0′−r2=a0+∑i=1naix0i=fx0.
Obviously, only honest computing can cloud server be accepted by users (only honest computing from cloud serves can be accepted by users, so that users can get the correct calculation results).☐


## 7. Comparisons

This scheme aims at the privacy protection and result verification of the coefficients and variables of polynomials in the outsourcing process. The amount of calculation on the client side isOlogn, and the total amount of calculation on the cloud server is On, which balances security protection and computational complexity to the greatest extent. The scheme [28] uses the differentiation method to verify the correctness of the polynomial evaluation results. Using this scheme to complete an outsourcing process, the computational complexity of the user side is On. Scheme [29] uses homomorphic encryption for security and privacy protection. The current homomorphic encryption algorithm itself is not mature enough, and the efficiency of using homomorphic encryption in polynomial cloud outsourcing computing is not high. The comparison of the three schemes is shown in Table 1.Table 1
Temperature and wildlife count in the three areas covered by the study.
Scheme [28]Scheme [29]Our schemePrivacy protection×√√Computational complexityOnOnOlognVerifiability√×√The next work is comparisons among our scheme and the schemes in [28, 29]. The experimental environment of this experiment is implemented on a rented Alibaba Cloud server and a laptop device. The cloud server is configured with an 8-core Intel Xeon Platinum processor, clocked at 3.3 GHz, memory 32 GB, and running system Ubuntu; client configuration: 4-core Intel i5 processor, clocked at 2.2 GHz, memory 8 GB, running system Windows 10.In order to better simulate the actual calculation effect, the coefficientn of the polynomial is used as a variable, and our scheme, nonoutsourced local calculation scheme, and schemes in [28, 29] are used for outsourcing calculation simulation, respectively. Computation cost in cloud server side and in user side is discussed under the three scenarios, because the computing time can represent the complexity of the calculation to a certain extent, and the entire process of outsourcing computing is required to be as short as possible in the actual environment. Therefore, the use of computing time can better illustrate the pros and cons of the algorithm. Among them, the scheme in [29] uses homomorphic encryption and the Chinese remainder theorem. In this experiment, we approximate the computational complexity of homomorphic encryption to On1/2 for experimental simulation; however, the computation cost of homomorphic encryption in the actual situation is much higher.Figure4 shows the comparisons among the three schemes. It can be seen that outsourcing computing can greatly reduce local computational cost. The comparisons among the schemes in [28, 29] and nonoutsourced computing schemes are shown in Figures 5 and 6, respectively, indicating that both schemes in [28, 29] can make outsourced computing time much shorter than that of nonoutsourced computing. The comparison among our scheme and schemes in [28, 29] in the user side is shown in Figure 7. Obviously, our scheme has better performance. The computational cost is similar to the local computational cost without outsourcing. If the cloud server was given higher performance, the computation time would be significantly reduced.Figure 4
Comparison of our scheme with nonoutsourcing computing time.Figure 5
Comparison of [28] scheme with nonoutsourcing computing time.Figure 6
Comparison of [29] scheme with nonoutsourcing computing time.Figure 7
Local computation time of three schemes.In a word, our outsourcing scheme is better than the scheme in [28, 29]. Our program has realized the technological innovation to a certain extent.


## 8. Conclusions

In this paper, we propose a cryptography independent outsourcing computing scheme to solve the two problems of user privacy protection and verifiability of computing results in polynomial evaluation of cloud outsourcing computing. In this scheme, the polynomials are encrypted at the user side and given to the cloud server to calculate the other two different polynomials. The cloud server can not get the calculation parameters and results of users; in the verification phase, the user can restore the cloud computing results and then compare them to prevent fraud by the cloud server. It can better protect the user’s calculation parameters and calculation results, greatly reduce the amount of user’s calculation, and better balance the contradiction between the user’s calculation amount and the security and privacy protection.



---

*Source: 5077578-2022-02-22.xml*