Verifiable polynomial cloud computing method
By constructing and encrypting polynomial functions in a cloud computing environment, and using encrypted parameters to calculate and verify the results, the problems of insufficient computing power of user devices and untrustworthy cloud servers are solved, thus achieving user privacy protection and verifiability of calculation results.
Patent Information
- Application Number
- CN202211175955.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-26
- Publication Date
- 2026-05-15
- Estimated Expiration
- 2042-09-26
AI Technical Summary
In a cloud computing environment, user devices lack sufficient computing power to perform polynomial calculations on their own, and the untrustworthiness of cloud servers makes it difficult to guarantee the privacy and verifiability of the calculation results.
By constructing a polynomial function within a finite field and encrypting it into a blinded polynomial, the calculation is performed using two sets of encrypted parameters, and the correctness of the calculation results is verified on the user's end, ensuring that the cloud server cannot obtain the user's real parameters and calculation results.
It achieves user privacy protection and verifiability of calculation results, prevents cloud servers from stealing privacy information and engaging in fraudulent activities, and has low computational overhead and efficient verification process.
Smart Images

Figure CN116112153B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data security technology, and more specifically, to a verifiable polynomial cloud outsourcing computation method. Background Technology
[0002] The cloud computing industry is booming, involving massive data transmission and computation, with polynomial computation being the most fundamental. Because polynomial computation places extremely high demands on computing power, in most cases, users' existing devices cannot meet these requirements. Users need computation but cannot perform it themselves. In such situations, the computational task must be outsourced to a cloud server. Addressing the untrustworthiness issue of cloud server environments, this paper proposes an improved verifiable polynomial cloud outsourcing computation protocol based on previous outsourcing protocols. This protocol ensures the security of the computation process, the confidentiality of the computation content, and the verifiability of the computation results. The protocol hides all computational parameters behind modified, encrypted parameters. The cloud server cannot obtain the user's actual parameters during the computation process, allowing the user to verify the accuracy of the computation results on the client side with minimal computational power. Summary of the Invention
[0003] To address the aforementioned problems, this invention provides a verifiable polynomial cloud outsourcing computation method.
[0004] This method is applied to a multinomial privacy-preserving outsourcing model, which includes at least one user client and a cloud server communicating with the user client. The method includes the following steps:
[0005] The process of constructing a polynomial function in a finite field as a primitive polynomial function on the user side;
[0006] The process of constructing and calculating special polynomial functions on the user side;
[0007] The process involves encrypting the original polynomial function into a blinded polynomial on the user side, and then converting its polynomial parameters into two sets of encrypted parameters.
[0008] The process involves the cloud server performing calculations using two sets of encrypted parameters and returning two calculation results to the user.
[0009] The process of verifying the two calculation results on the user side.
[0010] Furthermore, in the process of constructing a polynomial function of a finite field as a primitive polynomial function on the user side, the constructed primitive polynomial function f(x) is shown in formula (1):
[0011] (1)
[0012] in, , As a characteristic of finite fields, These are the polynomial coefficients.
[0013] Furthermore, the process of encrypting the original polynomial function on the user end and converting the polynomial parameters of the original polynomial function into two sets of encrypted parameters specifically includes the following steps:
[0014] S21: The user constructs a special polynomial function. :
[0015] (2)
[0016] S22: User-side computation of special polynomial functions .
[0017] Furthermore, in S22, the user terminal calculates the special polynomial function according to the following formula. Value:
[0018] (3).
[0019] Furthermore, the process of encrypting the original polynomial function into a blinded polynomial on the user side includes the following steps:
[0020] S31: The original function is encrypted and transformed into a blinded polynomial.
[0021] primitive functions Encryption becomes blinded polynomial , The encryption process is as follows:
[0022] Select random number As the private key, perform the following calculation:
[0023] (4)
[0024] in, This is a bitwise left shift operation. for The bit length in binary. This is a bitwise OR operation. for The bit length in binary;
[0025] The above process yields two blinded polynomials:
[0026] (5)
[0027] (6)
[0028] S32: The user sends two sets of encrypted parameters to the cloud server;
[0029] The first set of encryption parameters consists of the blinded polynomial parameter vector. and The second set of variables consists of polynomial parameters. and variables composition.
[0030] Furthermore, the process by which the cloud server performs calculations using two sets of encrypted parameters and returns two calculation results to the user is as follows:
[0031] The cloud server client uses the first set of encryption parameters and the second set of encryption parameters for calculations. , The cloud server returns the calculation results to the user's device.
[0032] Furthermore, the specific process for verifying the two calculation results on the user side is as follows:
[0033] S51: The user terminal will calculate the result. , Verify whether the following equation holds true:
[0034] (7)
[0035] S52: The user terminal judges the result.
[0036] If equation (7) holds true, then the calculated value is correct, and the result should be accepted. Otherwise, the cloud server can be confirmed to be cheating and an incorrect answer will be given, and the confirmation result will be... .
[0037] Furthermore, the user end is a mobile device.
[0038] The beneficial effects of this invention are as follows:
[0039] This invention addresses two issues in polynomial cloud outsourced computing: user privacy protection and verifiability of computation results. It proposes an outsourced computing scheme independent of traditional cryptography, offering the following advantages:
[0040] 1. A protection scheme for outsourced polynomial parameters, variables, and calculation results is proposed, ensuring that cloud servers cannot steal any user privacy information;
[0041] 2. The polynomial is encrypted at the user end, and the encryption process uses bitwise operations, which has very little computational overhead;
[0042] 3. During the user-side computation process, the cloud server is unable to obtain the user's computation parameters and results;
[0043] 4. During the verification phase, users can verify the calculation results with minimal computational effort, thereby preventing fraudulent activities by cloud servers.
[0044] 5. Due to the randomness of the selection of the private key, the verifiability of the calculation results can be effectively guaranteed. Attached Figure Description
[0045] Figure 1 This is a flowchart illustrating the execution sequence of each step in this method.
[0046] Figure 2 This is an overall flowchart of the method described in this invention.
[0047] Figure 3 This is a schematic diagram illustrating the method described in this invention. Detailed Implementation
[0048] The specific scenario applied in this embodiment is a multinomial privacy protection outsourcing model. This model includes at least one client and one cloud server. The client refers to a mobile device in a broad sense, such as a mobile phone or computer. Such mobile devices generally have low CPU frequency, small memory capacity, and weak computing power.
[0049] In the above model, multiple user terminals can simultaneously use the method described in this application. The method of this invention consists of five processes: the user terminal constructs a polynomial function in a finite field as the original polynomial function; the user terminal encrypts the original polynomial function and transforms the polynomial parameters of the original polynomial function into two sets of encrypted parameters; the original polynomial function is encrypted and transformed into a blinded polynomial; the cloud server performs calculations using the two sets of encrypted parameters and returns two calculation results to the user terminal; and the user terminal verifies the two calculation results.
[0050] Each user performs initialization (the initialization process involves constructing the environment parameters required for encryption, such as large prime numbers, polynomial parameters, and encryption keys), encryption, decryption, and verification on their own client, while the cloud server is responsible for the actual calculations.
[0051] The following is combined with Figure 1 , Figure 2 Each process is explained.
[0052] (a) The process of constructing a polynomial function of a finite field as a primitive polynomial function on the user side
[0053] The constructed primitive polynomial function f(x) is shown in formula (1):
[0054] (1)
[0055] in, , As is characteristic of a finite field, it is a large prime number with more than 2048 bits of memory. These are the polynomial coefficients.
[0056] The user selects a random number. and guarantee = As the private key, in formula (1) , and the final calculation results These are the parameters that need to be protected.
[0057] (ii) The process of constructing and calculating special polynomial functions on the user side
[0058] Specifically:
[0059] S21: The user constructs a special polynomial function. :
[0060] (2)
[0061] in The independent variable is a polynomial.
[0062] The special polynomial g(x) is used to assist in the verification because the cloud server calculates the value of the polynomial f(x), but the user does not calculate f(x), so g(x) is used for verification. Due to its special nature, g(x) is both a polynomial and its function value at any point can be easily obtained. Therefore, the function values of g(x) involved in the subsequent steps are all calculated by formula (3).
[0063] S22: User-side calculation g(x)
[0064] For formula (2), when it is known When the value is given, the user client can use its limited computing resources to compute the special polynomial function. The value, because it is a value with 1, A sequence with first term and common ratio.
[0065] The user terminal can use the following formula (3) to... Value:
[0066] (3)
[0067] Since the computational complexity of the above formula depends on the calculation factor... ,therefore The binary search iterative method can be used on the user side to obtain ( As a large integer modular exponentiation operation.
[0068] (iii) The process by which the user end encrypts the original polynomial function into a blinded polynomial and converts its polynomial parameters into two sets of encrypted parameters;
[0069] S31: Primitive Function Encryption becomes blinded polynomial , The encryption process is as follows:
[0070] Select random number As the private key, perform the following calculation:
[0071] (4)
[0072] in, This is a bitwise left shift operation. for The bit length in binary. This is a bitwise OR operation. for The bit length in binary.
[0073] The above process yields two blinded polynomials:
[0074] (5)
[0075] (6)
[0076] Using formula (4), the user terminal will input the polynomial parameters in formula (1). and The parameters are converted into two sets of encryption parameters, each containing a polynomial parameter vector and variables. The first set of encryption parameters consists of the blinded polynomial parameter vector. and variables The second set of variables consists of polynomial parameters. and variables The two sets of encrypted parameters are then sent to the cloud server.
[0077] S32: The user sends two sets of encrypted parameters to the cloud server.
[0078] (iv) The process by which the cloud server performs calculations using two sets of encrypted parameters and returns two calculation results to the user.
[0079] The cloud server uses the first set of encryption parameters and the second set of encryption parameters for calculations. , The cloud server returns the calculation results to the user's device.
[0080] (v) Process for verifying the two calculation results on the user side
[0081] S51: The user terminal will calculate the result. , Verify whether the following equation holds true:
[0082] (7)
[0083] S52: The user terminal judges the result.
[0084] If formula (7) is true, then the calculated value is correct, and the result is accepted. Otherwise, the cloud server can be confirmed to be cheating and an incorrect answer will be given, and the confirmation result will be... .
[0085] The following is combined with Figure 3 The effectiveness of the above embodiments is demonstrated in terms of safety and correctness.
[0086] 1. The calculated functions are indistinguishable.
[0087] Theorem 1. Two functions and They are indistinguishable.
[0088] Proof: For and The coefficient of each term satisfies:
[0089] (8)
[0090] in ,so .
[0091] And for the independent variable and Also satisfies: Therefore, for the attacker, the two functions and Unable to distinguish.
[0092] This embodiment does not include the original polynomial parameters that the user segment needs to calculate. and Instead of sending to the cloud server, two encrypted polynomials are sent. and The indistinguishability of these two polynomials also increases the difficulty for cloud servers to deceive users.
[0093] 2. Security of the calculation process
[0094] Theorem 2. Independent Variable sum function It is safe during the calculation process.
[0095] Proof: For and During the computation of these two functions, the attacker does not know the user's private key. The sum coefficient is primitive polynomial .
[0096] Attackers can verify each parameter through the following two calculation processes:
[0097] (9)
[0098] In this process, because the attacker knows The value is unknown, but it is not known. The value, so through Analysis The probability is And because the attacker is unaware and The value, so from Cracking The probability is Therefore, the attackers used... and get and The probability is .
[0099] same:
[0100] (10)
[0101] During this process, the attacker knows and However, the user's private key is unknown. and Therefore, the analysis The probability is And because the attacker is unaware and The value, so from Cracking The probability is Therefore, outsourced cloud servers are used through... and get and The probability is also .
[0102] In summary, considering the attacker's ability to distinguish... and The probabilities of these two functions are So the attacker can crack The incident and yes:
[0103] (11)
[0104] in, It refers to probability; It represents attack and illegal acquisition; It is used to identify an event—"an attacker can crack..." The theorem directly explains why cloud servers are unlikely to infringe on user privacy during the computing process.
[0105] 3. Verifiability of calculation results
[0106] Theorem 3. The maximum probability that a cloud server can deceive a user through client-side verification using a fake computation result (SS) is: .
[0107] Proof: The cloud server deceives users by using false calculation results. The solution used by the user client to verify the value is to obtain a value through random guessing. To satisfy:
[0108] (12)
[0109] Therefore, it can be based on Construct a false solution and ,satisfy:
[0110] (13)
[0111] The probability of completing this process is:
[0112] (14)
[0113] In conclusion, the maximum probability that a cloud server can deceive users by using fake computation results (SS) to bypass client-side verification is [missing value]. .
[0114] Therefore, cloud servers and attackers cannot successfully attack the computing involved by users. Each time, users only need to partially update their private keys. This operation will greatly increase the difficulty for attackers to attack users within a safe time, thus making the whole scheme verifiable.
[0115] 4. Analysis of the correctness of the calculation results
[0116] Theorem 4. If a cloud server is honest according to the protocol of this scheme, then it must be able to make its output acceptable to the user.
[0117] Proof: All parameters include the primitive polynomial. The ownership and right to know of the user-generated key are firmly in the hands of the user during the operation of the scheme proposed in this invention, and will not be obtained by attackers or fraudulent servers.
[0118] cloud server calculates and Users can use them separately. and The principle behind verifying the correctness of the calculated value is as follows:
[0119] ;
[0120] Accordingly, The decryption principle is as follows:
[0121] ;
[0122] Clearly, cloud servers can only be accepted by users if they perform honest calculations, so that users will definitely get the correct calculation results.
Claims
1. A verifiable polynomial cloud outsourcing computation method, characterized in that, This method is applied to a multinomial privacy-preserving outsourcing model, which includes at least one user client and a cloud server communicating with the user client. The method includes the following steps: The process of constructing a polynomial function in a finite field as a primitive polynomial function on the user side; The process of constructing and calculating special polynomial functions on the user side; The user end encrypts the original polynomial function into a blinded polynomial. Specifically, it blinds the user input data and converts its polynomial parameters into two sets of encrypted parameters. The process involves the cloud server performing calculations using two sets of encrypted parameters and returning two calculation results to the user. The process of verifying the two calculation results on the user side; In the process of constructing a polynomial function of a finite field as a primitive polynomial function on the user side, the constructed primitive polynomial function f(x) is shown in formula (1): (1) in, , As a characteristic of finite fields, These are the polynomial coefficients; The process of converting the polynomial parameters of the original polynomial function into two sets of encrypted parameters includes the following steps: S21: The user constructs a special polynomial function. : (2) S22: User-side computation of special polynomial functions ; The process of encrypting the original polynomial function into a blinded polynomial on the user side includes the following steps: S31: The original function is encrypted and transformed into a blinded polynomial. primitive functions Encryption becomes blinded polynomial , The encryption process is as follows: Select random number As the private key, perform the following calculation: (4) in, This is a bitwise left shift operation. for The bit length in binary. This is a bitwise OR operation. for The bit length in binary; The two blinded polynomials are as follows: (5) (6) S32: The user sends two sets of encrypted parameters to the cloud server; The first set of encryption parameters consists of the blinded polynomial parameter vector. and variables The second set of variables consists of polynomial parameters. and variables composition.
2. The verifiable polynomial cloud outsourcing computation method as described in claim 1, characterized in that, In S22, the user terminal calculates the special polynomial function according to the following formula. Value: (3)。 3. The verifiable polynomial cloud outsourcing computation method as described in claim 1, characterized in that, The process by which the cloud server performs calculations using two sets of encrypted parameters and returns two calculation results to the user is as follows: The cloud server client uses the first set of encryption parameters and the second set of encryption parameters for calculations. , The cloud server returns the calculation results to the user.
4. The verifiable polynomial cloud outsourcing computation method as described in claim 1, characterized in that, The specific process for the user to verify the two calculation results is as follows: S51: The user terminal will calculate the result. , Verify whether the following equation holds true: (7) S52: The user terminal judges the result. If equation (7) holds true, then the calculated value is correct, and the result should be accepted. Otherwise, the cloud server can be confirmed to be cheating and an incorrect answer will be given, and the confirmation result will be... .
5. The verifiable polynomial cloud outsourcing computation method as described in claim 1, characterized in that, The user end is a mobile device.