CN113271293A - Verifiable constrained quadratic programming security outsourcing calculation method and system - Google Patents
Verifiable constrained quadratic programming security outsourcing calculation method and system Download PDFInfo
- Publication number
- CN113271293A CN113271293A CN202110381851.5A CN202110381851A CN113271293A CN 113271293 A CN113271293 A CN 113271293A CN 202110381851 A CN202110381851 A CN 202110381851A CN 113271293 A CN113271293 A CN 113271293A
- Authority
- CN
- China
- Prior art keywords
- quadratic programming
- client
- result
- matrix
- multiplied
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
The invention relates to a verifiable constrained quadratic programming security outsourcing computing method and a verifiable constrained quadratic programming security outsourcing computing system, wherein a client can outsource locally unavailable computing to a cloud server for computing so as to reduce the computing cost of a user, and the outsourcing process comprises the following steps: firstly, initializing, setting and encrypting a task to be outsourced by a client, and sending the task to a cloud server; then, the cloud server receives the tasks, calculates according to requirements, and returns corresponding results to the client; and finally, the client verifies the correctness of the returned result, if the result is correct, the required original task result is obtained through decryption, and if the result is not correct, the result is refused to be accepted and the cloud server is required to recalculate. According to the method provided by the invention, the client can solve the difficult problem which cannot be solved due to the limited resources on the premise of protecting the data privacy of the client, and meanwhile, the malicious behavior of the cloud server can be resisted.
Description
Technical Field
The invention relates to the fields of information security, privacy protection and cloud computing, in particular to a security outsourcing computing method and system for constrained quadratic programming.
Background
The quadratic programming problem is a typical optimization problem and has wide application and research in the fields of operational research, mathematical programming and the like. The existing general solution is a lagrangian multiplier method, but it involves complex operations such as the inverse of a matrix, etc., and requires a huge memory space to complete, which is an unfinishable task for a resource-limited local client. The cloud server can help the client to complete such complex operations by means of powerful computing resources of the cloud server, so that the local client is not limited to the resource-limited devices of the client.
In the data explosion era, the cloud outsourcing service shows great convenience and superiority because of powerful computing resources, but the unique characteristics of data and service outsourcing, virtualization, multi-tenant and cross-domain sharing and the like also bring unprecedented security challenges to cloud computing. First, we give tasks to the cloud, but we do not want to reveal our privacy, including information that is input and output. Secondly, the operation of the cloud is transparent to us, so the cloud may return an erroneous result in order to save computing resources, and even if the cloud is honest, the cloud may also calculate an error and return an erroneous result, so we need to verify the returned result. Finally, outsourcing computation aims at saving computing resources, so efficient encryption, decryption and verification algorithms are needed, and if the complexity of outsourcing computation is not much lower than that of local direct computation, the outsourcing has no meaning. Therefore, the outsourcing calculation method needs to meet the following conditions: (1) correctness: when the client and the cloud both correctly execute the protocol steps, the client can finally obtain a correct result through decryption. (2) Safety: the information encrypted by the client is sent to the cloud, the cloud cannot obtain the input privacy information through analysis, and the corresponding output privacy information cannot be obtained through analysis of the result. (3) Verifiability: after receiving the result returned by the cloud, the client can use a verification algorithm, and the verification algorithm can discover whether the result returned by the cloud is wrong or not with high probability. (4) Effectiveness: outsourcing computation can reduce a large amount of local computing resources compared to performing the corresponding tasks locally.
Disclosure of Invention
The invention aims to provide a verifiable constrained quadratic programming security outsourcing calculation method and system aiming at the defects of the prior art, and solves the problem that the local resources are insufficient and cannot be solved.
In order to solve the technical problems, the invention adopts the following inventive concept:
suppose that the client cannot complete the quadratic programming problem locally, the form is as follows:
s.t.Ax=b,Bx≤c
where the matrix Q is a positive definite matrix of n × n, the dimension of the matrix a is m × n, the dimension of the matrix B is k × n, p is a vector of n × 1, B is a vector of m × 1, c is a vector of k × 1, and x is a result required by the client and is also a vector of n × 1.
According to the inventive concept, the invention adopts the following technical scheme:
a verifiable constrained quadratic programming security outsourcing computing method is characterized in that a client needs to deliver complex tasks of quadratic programming to a cloud server for computing due to the limitation of local resources, and the whole outsourcing computing process comprises the following steps:
the method comprises the steps that firstly, a client side carries out initialization setting, and three random elementary matrixes and a random vector are generated;
secondly, the client side constructs a brand-new encrypted quadratic programming problem by using the elementary matrix and the random vector generated in the first step and sends the problem to the cloud server;
thirdly, after receiving the encrypted quadratic programming problem, the cloud server solves the problem according to the requirement and returns the result to the client;
and fourthly, the client side receives the result and then verifies the result, if the result passes the verification, the result is decrypted to obtain the answer of the original secondary planning problem, otherwise, the result is refused to be accepted, and the cloud server is required to calculate again.
Preferably, the first step shown comprises the steps of:
step a, generating a replacement mapping;
step b, generating an elementary matrix for encryption;
and c, generating a random vector.
Preferably, the step a is more specifically: for a given set S ═ 1,2,3, …, n }, the permutation map can be represented in the following formWherein, pi (i), i ═ 1,2, …, and n is a certain arrangement of 1,2, … n. Here, the client needs to generate three permutation mappings π1(k)、π2(m)、π3(n); wherein, pi (n) represents a random permutation mapping, and k, m and n respectively represent the number of the set elements corresponding to the three random permutation mappings.
Preferably, the step b is more specifically: first, the client generates n random numbers ω1,ω2,…,ωn. Then using the kronecker function deltax,yGenerating an elementary matrix P (i, j) ═ ω for encryptioniδπ(i),jI is more than or equal to 1, j is less than or equal to n, whereinHere, the client needs to generate three elementary matrices, denoted as P herein, according to the three permutation mappings in step a1、P2、P3The dimensionality is k multiplied by k, m multiplied by m and n multiplied by n respectively; where P (i, j) represents the elementary matrix and (i, j) represents the element position of the ith row and jth column of the matrix P.
Preferably, the step c is more specifically: the client randomly selects n random numbers r1,r2,…,rnGenerating a random vector r (i) ri。
Preferably, the second step is more specifically: the client side locally encrypts private data of the original quadratic programming problem, namely A ═ P2AP3、b”=P2(b-Ar)、B”=P1BP3、c”=P1(c-Br)、Q'=P3 TQP3、p'=(rTQP3+pTP3)T. Subsequently, the client forms an encrypted quadratic programming problem using the generated encrypted dataAnd s.t.A, y is equal to B, and B, y is equal to or less than c, and the cloud server is sent to solve the encrypted quadratic programming problem. The matrix Q is a positive definite matrix of n multiplied by n, the dimension of the matrix A is m multiplied by n, the dimension of the matrix B is k multiplied by 0n, p is a vector of n multiplied by 11, B is a vector of m multiplied by 1, and c is a vector of k multiplied by 1, which are parameters of the original unconstrained quadratic programming problem; the matrix Q 'is a positive definite matrix of n multiplied by n, the dimension of the matrix A' is m multiplied by n, the dimension of the matrix B 'is k multiplied by n, p' is a vector of n multiplied by 1, B 'is a vector of m multiplied by 1, c' is a vector of k multiplied by 1, y is a result of the encrypted unconstrained quadratic programming problem, and the parameters are parameters of the encrypted unconstrained quadratic programming problem.
Preferably, the third step is specifically: and after receiving the encrypted quadratic programming problem, the cloud server solves the problem according to the requirement and returns the final result to the client.
Preferably, the fourth step is specifically: the client uses the KKT condition to correct the received result y*Verifying and recovering result x of original quadratic programming problem*=P3y*+ r wherein x*As a result of the original unconstrained quadratic programming problem, y*Is the result of the encrypted unconstrained quadratic programming problem, matrix P3And the vector r are parameters generated in the first step.
The invention also provides a verifiable constrained quadratic programming security outsourcing computing system, which comprises the following parts:
the initialization module is used for generating an elementary matrix and a random vector by the client according to the method and storing the elementary matrix and the random vector in an initial matrix pool so as to encrypt an initial quadratic programming problem subsequently;
a blind module for randomly extracting the elementary matrix P from the elementary matrix pool1、P2、P3Encrypting the original quadratic programming problem by the random vector r to protect the privacy information of the client;
the client sends the encrypted quadratic programming problem to the cloud server to be solved, and the cloud server calculates the result y*Returning to the client;
verification and recovery module, client receives result y*Then, the result x of the original quadratic programming problem is obtained by verifying and decrypting the result x*=P3y*+r。
Compared with the prior art, the invention has the following obvious and prominent substantive characteristics and remarkable advantages:
1. the method uses outsourcing calculation to realize the solution of the constrained quadratic programming problem; in an initialization stage, a client only generates an elementary matrix and a random vector, and the complexity is O (n); in the blind stage, the user multiplies the elementary matrix and the matrix, and the complexity in the calculation process is O (n) because the generation of the elementary matrix ensures the sparsity of the elementary matrix2) (ii) a In the recovery and verification process, the KKT condition used in verification is only substituted into an equation to be solved, matrix and vector multiplication is involved, and the complexity is O (n)2) Likewise, the recovery process involves only multiplication of a matrix and a vector, with a complexity of O (n)2) (ii) a I.e. the complexity of the whole process is only O (n)2) The complexity of solving without using the invention is O (n)3) (ii) a On the premise of protecting the privacy of the client, the problem that the client cannot solve the secondary planning because of resource limitation is solved, and the malicious behavior of the cloud server is effectively prevented;
2. the invention only relates to one cloud server, is a security model of a single server, can effectively prevent collusion attack of the cloud server, and interacts with the cloud server once, thereby further reducing the probability of privacy information leakage of a client and further improving the robustness of the invention;
3. the constrained quadratic programming problem solved by the invention not only can be separately deployed, but also can be used as a solution thought of more complex problems based on the problem, and the client can solve a series of problems with extremely low calculation cost and storage space.
Drawings
Fig. 1 is a principle framework of the present invention.
Detailed description of the preferred embodiments
One embodiment of the invention is described in detail below with reference to the accompanying drawings:
the first embodiment is as follows:
referring to fig. 1, a verifiable constrained quadratic programming security outsourcing computing method includes that a client needs to send a quadratic programming complex task to a cloud server for computing due to limited local resources, and the whole outsourcing computing process includes the following steps:
the method comprises the steps that firstly, a client side carries out initialization setting, and three random elementary matrixes and a random vector are generated;
and secondly, constructing a brand new encrypted quadratic programming problem by using the elementary matrix and the random vector generated in the first step and sending the problem to the cloud server.
Thirdly, after receiving the encrypted quadratic programming problem, the cloud server solves the problem according to the requirement and returns the result to the client;
and fourthly, the client side receives the result and then verifies the result, if the result passes the verification, the result is decrypted to obtain the answer of the original secondary planning problem, otherwise, the result is refused to be accepted, and the cloud server is required to calculate again.
According to the privacy method, the client can solve the difficult problem that the local problem cannot be solved due to resource limitation on the premise of protecting the data privacy of the client, and meanwhile, the malicious behavior of the cloud server can be resisted.
Example two:
this embodiment is substantially the same as the first embodiment, and is characterized in that:
in this embodiment, the first step includes three sub-steps:
step a, generating a replacement mapping;
step b, generating an elementary matrix for encryption;
and c, generating a random vector.
In this embodiment, the step a specifically includes:
for a given set S ═ 1,2, 3.., n }, the permutation map is represented in the formWherein pi (i), i ═ 1, 2.., n is a certain arrangement of 1, 2.. n; the client needs to generate three permutation mappings pi1(k)、π2(m)、π3(n); wherein, pi (n) represents a random permutation mapping, and k, m and n respectively represent the number of the set elements corresponding to the three random permutation mappings.
In this embodiment, the step b specifically includes:
first, the client generates n random numbers ω1,ω2,...,ωn(ii) a Then using the kronecker function deltax,yGenerating an elementary matrix P (i, j) ═ ω for encryptioniδπ(i),jI is more than or equal to 1, j is less than or equal to n, whereinThe client generates three primary matrixes according to the three replacement mappings in the step a, and the three primary matrixes are marked as P1、P2、P3The dimensionality is k multiplied by k, m multiplied by m and n multiplied by n respectively; wherein, pi (n) represents a random permutation mapping, and k, m and n respectively represent the number of the set elements corresponding to the three random permutation mappings.
In this embodiment, the step c specifically includes: the client randomly selects n random numbers r1,r2,...,rnGenerating a random vector r (i) ri。
In this embodiment, the second step specifically includes:
the client side locally encrypts private data of the original quadratic programming problem, namely A ″ ═ P2AP3、b″=P2(b-Ar)、B″=P1BP3、c″=P1(c-Br)、Q′=P3 TQP3、p′=(rTQP3+pTP3)T(ii) a The client then utilizes the generated encrypted dataformBecome the encrypted quadratic programming problemAnd s.t.A 'y is equal to B', B 'y is equal to or less than c' is sent to the cloud server, so that the problem of encrypted quadratic programming is solved. The matrix Q is a positive definite matrix of n multiplied by n, the dimension of the matrix A is m multiplied by n, the dimension of the matrix B is k multiplied by 0n, p is a vector of n multiplied by 11, B is a vector of m multiplied by 1, and c is a vector of k multiplied by 1, which are parameters of the original unconstrained quadratic programming problem; the matrix Q 'is a positive definite matrix of n multiplied by n, the dimension of the matrix A' is m multiplied by n, the dimension of the matrix B 'is k multiplied by n, p' is a vector of n multiplied by 1, B 'is a vector of m multiplied by 1, c' is a vector of k multiplied by 1, y is a result of the encrypted unconstrained quadratic programming problem, and the parameters are parameters of the encrypted unconstrained quadratic programming problem.
In this embodiment, the third step is specifically that after receiving the encrypted quadratic programming problem, the cloud server solves the problem according to the requirement, and returns the final result to the client.
In this embodiment, the fourth step specifically includes: the client uses the KKT condition to correct the received result y*Verifying and recovering result x of original quadratic programming problem*=P3y*+ r wherein x*As a result of the original unconstrained quadratic programming problem, y*Is the result of the encrypted unconstrained quadratic programming problem, matrix P3And the vector r are parameters generated in the first step.
The embodiment uses outsourcing calculation to realize the solution of the constrained quadratic programming problem; in an initialization stage, a client only generates an elementary matrix and a random vector, and the complexity is O (n); in the blind stage, the user multiplies the elementary matrix and the matrix, and the complexity in the calculation process is O (n) because the generation of the elementary matrix ensures the sparsity of the elementary matrix2) (ii) a In the recovery and verification process, the KKT condition used in verification is only substituted into an equation to be solved, matrix and vector multiplication is involved, and the complexity is O (n)2) Likewise, the recovery process involves only multiplication of a matrix and a vector, with a complexity of O (n)2) (ii) a I.e. the complexity of the whole processDegree of only O (n)2) The complexity of solving without using the invention is O (n)3) (ii) a On the premise of protecting the privacy of the client, the problem that the client cannot solve the secondary planning because of resource limitation is solved, and the malicious behavior of the cloud server is effectively prevented; the constrained quadratic programming problem solved by the embodiment can be separately deployed and can be used as a solution idea of more complex problems based on the problem, and the client can solve a series of problems with extremely low computing cost and storage space.
Example three:
this embodiment is substantially the same as the above embodiment, and is characterized in that:
in this embodiment, a verifiable constrained quadratic programming security outsourcing computing system includes an initialization module, which is used to implement the verifiable constrained quadratic programming security outsourcing computing method in the foregoing embodiments.
The verifiable constrained quadratic programming security outsourcing computing system comprises the following parts:
an initialization module: the client generates an initial matrix and a random vector, stores the initial matrix and the random vector in an initial matrix pool, and is used for solving the problem of subsequent encryption initial quadratic programming;
a blinding module: randomly extracting elementary matrix P from elementary matrix pool by user1、P2、P3Encrypting the original quadratic programming problem by the random vector r to protect the privacy information of the client;
a calculation module: the client sends the encrypted quadratic programming problem to a cloud server for solving, and the cloud server calculates the result y*Returning to the client;
a verification and recovery module: the client receives the result y*Then, the result x of the original quadratic programming problem is obtained by verifying and decrypting the result x*=P3y*+r。
In the system of the embodiment, the client can outsource locally unavailable computing to the cloud server for computing so as to reduce the computing cost of the user, and the outsourcing process includes: firstly, initializing, setting and encrypting a task to be outsourced by a client, and sending the task to a cloud server; then, the cloud server receives the tasks, calculates according to requirements, and returns corresponding results to the client; and finally, the client verifies the correctness of the returned result, if the result is correct, the required original task result is obtained through decryption, and if the result is not correct, the result is refused to be accepted and the cloud server is required to recalculate. In the system, the client can solve the difficult problem which cannot be solved because of the limited resources on the premise of protecting the data privacy of the client, and meanwhile, the malicious behavior of the cloud server can be resisted.
Example four:
the verifiable constrained quadratic programming security outsourcing computing method and system provided by the embodiment comprise two participating members, namely a client and a cloud server. The complex problem cannot be solved due to insufficient computing capacity of the client, the problem of constrained quadratic programming needs to be solved by the cloud server, and the cloud server has strong computing resources and can provide computing services for the client in a pay-as-needed mode. The whole process comprises the following steps: firstly, initializing a client, generating an elementary matrix and a random vector required by encryption, encrypting an original quadratic programming problem and sending the encrypted elementary matrix and the encrypted random vector to a cloud server; then, the cloud server calculates a result according to the requirement and returns the result to the client; and finally, the client verifies and decrypts the result returned by the cloud server to obtain the result of the original problem.
The theoretical knowledge involved in the present invention is as follows:
(1) constrained quadratic programming problem
In the general form of
s.t.Ax=b,Bx≤c
Where the matrix Q is a positive definite matrix of n × n, the dimension of the matrix a is m × n, the dimension of the matrix B is k × n, p is a vector of n × 1, B is a vector of m × 1, c is a vector of k × 1, and x is a result required by the client and is also a vector of n × 1.
(2) Sparse matrix
The sparse matrix refers to the number of non-zero elements in the matrix which is far less than zero, and the distribution of zero has no regularity. The matrix is characterized in that the complexity of multiplication with other matrixes is much lower than that of multiplication with a common matrix, and the elementary matrix in the invention is a sparse matrix.
(3) KKT condition
The KKT condition is a sufficient requirement to implement an optimization problem, including the quadratic programming problem of the present invention, i.e., the result of the solution of the quadratic programming problem must satisfy the KKT condition. This condition can be used for our verification of the returned result.
For any optimization problem, the lagrange multiplier method can be used for solving, and a quadratic programming problem is taken as an example for explanation, namelyWherein both alpha and beta are lagrange multipliers greater than zero. The KKT conditions are described below: if there is an optimal solution x*Then alpha is present*、β*Satisfies the following conditions:Ax*=b,Bx*c is less than or equal to c. We can let the cloud server solve the problem using the Lagrange multiplier method and return z while returning the result*={α*,β*For our validation.
Referring now to fig. 1, a specific embodiment of the present invention will be described. The detailed implementation flow is as follows:
the first step is that the client side initializes and generates an elementary matrix pool which comprises a plurality of elementary matrices and random vectors so as to be convenient for the subsequent encryption selection and use. In consideration of the actual application scenario, the elementary matrix pool should be updated at a fixed time to ensure the unrepeatability of encryption.
The generation mode of the elementary matrix is as follows: first generating a permutation mappingAn arrangement in which pi (i), i ═ 1,2, …, n is 1,2, … n, and then the function δ is determined using a kronecker functionx,yGenerating an elementary matrix P (i, j) ═ ω for encryptioniδπ(i),jI is more than or equal to 1, j is less than or equal to n, whereinWherein ω isiIs a random number not equal to zero. In the process, a plurality of permutation mappings are selected to obtain a final primary matrix pool.
The random vector is generated in the following specific manner: selecting n random numbers r1,r2,…,rnWherein r isiE {0,1} to generate a random vector r (i) ═ ri。
And secondly, encrypting the original problem by the client and sending the encrypted original problem to the cloud server. The method comprises the following specific steps: the client selects three elementary matrixes P from the elementary matrix pool generated by the first part1、P2、P3The dimensions are k × k, m × m, n × n, respectively, and the matrix A, B, Q and the vectors b, c, p in the original problem are data-blinded.
The encryption method for the matrix A, B, Q is specifically as follows: a ═ P2AP3、B”=P1BP3、Q'=P3 TQP3。
The encryption method for the vectors b, c and p is specifically as follows: b ═ P2(b-Ar)、c”=P1(c-Br)、p'=(rTQP3+pTP3)T。
Finally, the client end will make the secondary planning problem after blindings.t.A, B, y and c are given to the cloud server, and the cloud server is required to solve the problem by using a Lagrange multiplier method and return the best result y*And lagrange parameter z*={α*,β*}。
And thirdly, the client verifies and decrypts the returned result.
The verification of the returned result is as follows: according to the KTT condition, the returned result is brought into the following formula
Q'y*+p'+A”Tα*+B”Tβ*=0,A”x*=b”,B”x*≤c”
If the result is true, the returned result is correct, and if the result is false, the result is rejected and the cloud server is required to recalculate, which indicates that the cloud server has malicious behaviors or calculation errors.
The recovery of the returned result is specifically as follows: and if the verification is passed, the client enters the next recovery stage. Here, x is equal to P3y + r band inCan obtain
The last two terms are constants and do not affect the solution, so the solution process after the substitution is equivalent to solving the following formula:
it can be found that the results are consistent with the Q's carried over, so the client computes x*=P3y*+ r the solution of the original quadratic programming problem is obtained.
Thus, the embodiments of the entire invention have been completed.
The embodiment proves the correctness and the completeness thereof through specific derivation and can be fully utilized. The invention greatly saves the calculation cost of the user on the premise of protecting the privacy of the user, and can effectively verify the correctness of the returned result. More importantly, the invention is not based on any cryptographic assumption, and does not need expensive communication cost.
The embodiments of the present invention have been described above with reference to the accompanying drawings, but the present invention is not limited to the above embodiments, and various changes can be made according to the purpose of the invention, and any changes, modifications, substitutions, combinations or simplifications made according to the spirit and principle of the technical solution of the present invention should be replaced with equivalents as long as the object of the present invention is met, and the technical principle and the inventive concept of the present invention are not departed from the scope of the present invention.
Claims (10)
1. A verifiable constrained quadratic programming security outsourcing calculation method is characterized by comprising the following steps: the client-side needs to deliver the secondary planned complex tasks to the cloud server for computing due to the limitation of local resources, and the whole outsourcing computing process comprises the following steps:
the method comprises the steps that firstly, a client side carries out initialization setting, and three random elementary matrixes and a random vector are generated;
secondly, the client side constructs a brand-new encrypted quadratic programming problem by using the elementary matrix and the random vector generated in the first step and sends the problem to the cloud server;
thirdly, after receiving the encrypted quadratic programming problem, the cloud server solves the problem according to the requirement and returns the result to the client;
and fourthly, the client side receives the result and then verifies the result, if the result passes the verification, the result is decrypted to obtain the answer of the original secondary planning problem, otherwise, the result is refused to be accepted, and the cloud server is required to calculate again.
2. The verifiable constrained quadratic programming security outsourcing computation method of claim 1, wherein: the first step comprises three sub-steps:
step a, generating a replacement mapping;
step b, generating an elementary matrix for encryption;
and c, generating a random vector.
3. The verifiable constrained quadratic programming security outsourcing computation method of claim 2, wherein: the step a is specifically as follows:
for a given set S ═ 1,2, 3.., n }, the permutation map is represented in the formWherein pi (i), i ═ 1, 2.., n is a certain arrangement of 1, 2.. n; the client needs to generate three permutation mappings pi1(k)、π2(m)、π3(n); wherein, pi (n) represents a random permutation mapping, and k, m and n respectively represent the number of the set elements corresponding to the three random permutation mappings.
4. The verifiable constrained quadratic programming security outsourcing computation method of claim 3, wherein: the step b specifically comprises the following steps:
first, the client generates n random numbers ω1,ω2,...,ωn(ii) a Then using the kronecker function deltax,yGenerating an elementary matrix P (i, j) ═ ω for encryptioniδπ(i),jI is more than or equal to 1, j is less than or equal to n, whereinThe client generates three primary matrixes according to the three replacement mappings in the step a, and the three primary matrixes are marked as P1、P2、P3The dimensionality is k multiplied by k, m multiplied by m and n multiplied by n respectively; wherein, pi (n) represents a random permutation mapping, and k, m and n respectively represent the number of the set elements corresponding to the three random permutation mappings.
5. The verifiable constrained quadratic programming security outsourcing computation method of claim 2, wherein: the step c specifically comprises the following steps: the client randomly selects n random numbers r1,r2,...,rnGenerating a random vector r (i) ri。
6. The verifiable constrained quadratic programming security outsourcing computation method of claim 1, wherein: the second step is specifically as follows:
the client side locally encrypts private data of the original quadratic programming problem, namely A ″ ═ P2AP3、b″=P2(b-Ar)、B″=P1BP3、c″=P1(c-Br)、Q′=P3 TQP3、p′=(rTQP3+pTP3)T(ii) a Subsequently, the client forms an encrypted quadratic programming problem using the generated encrypted dataAnd s.t.A 'y is equal to B', B 'y is equal to or less than c' is sent to the cloud server, so that the problem of encrypted quadratic programming is solved. The matrix Q is a positive definite matrix of n multiplied by n, the dimension of the matrix A is m multiplied by n, the dimension of the matrix B is k multiplied by 0n, p is a vector of n multiplied by 11, B is a vector of m multiplied by 1, and c is a vector of k multiplied by 1, which are parameters of the original unconstrained quadratic programming problem; the matrix Q 'is a positive definite matrix of n multiplied by n, the dimension of the matrix A' is m multiplied by n, the dimension of the matrix B 'is k multiplied by n, p' is a vector of n multiplied by 1, B 'is a vector of m multiplied by 1, c' is a vector of k multiplied by 1, y is a result of the encrypted unconstrained quadratic programming problem, and the parameters are parameters of the encrypted unconstrained quadratic programming problem.
7. The verifiable constrained quadratic programming security outsourcing computation method of claim 1, wherein: and the third step is specifically that after the cloud server receives the encrypted quadratic programming problem, the cloud server solves the problem according to the requirement, and returns the final result to the client.
8. The verifiable constrained quadratic programming security outsourcing computation method of claim 1, wherein: the fourth step is specifically as follows: the client uses the KKT condition to correct the received result y*Verifying and recovering result x of original quadratic programming problem*=P3y*+ r wherein x*As a result of the original unconstrained quadratic programming problem, y*Is the result of the encrypted unconstrained quadratic programming problem, matrix P3And the vector r are parameters generated in the first step.
9. A verifiable constrained quadratic programming security wrapper computing system comprising an initialization module, characterized in that: for implementing the verifiable constrained quadratic programming security outsourcing computation method of any one of claims 1 to 8.
10. The verifiable constrained quadratic programming security wrapper computing system of claim 9, wherein: it comprises the following parts:
an initialization module: the client generates an initial matrix and a random vector, stores the initial matrix and the random vector in an initial matrix pool, and is used for solving the problem of subsequent encryption initial quadratic programming;
a blinding module: randomly extracting elementary matrix P from elementary matrix pool by user1、P2、P3Encrypting the original quadratic programming problem by the random vector r to protect the privacy information of the client;
a calculation module: the client sends the encrypted quadratic programming problem to a cloud server for solving, and the cloud server calculates the result y*Returning to the client;
a verification and recovery module: the client receives the result y*Then, the result x of the original quadratic programming problem is obtained by verifying and decrypting the result x*=P3y*+r。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110381851.5A CN113271293A (en) | 2021-04-09 | 2021-04-09 | Verifiable constrained quadratic programming security outsourcing calculation method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110381851.5A CN113271293A (en) | 2021-04-09 | 2021-04-09 | Verifiable constrained quadratic programming security outsourcing calculation method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113271293A true CN113271293A (en) | 2021-08-17 |
Family
ID=77228642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110381851.5A Pending CN113271293A (en) | 2021-04-09 | 2021-04-09 | Verifiable constrained quadratic programming security outsourcing calculation method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113271293A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114417414A (en) * | 2022-01-20 | 2022-04-29 | 三未信安科技股份有限公司 | Privacy protection method based on edge calculation |
CN114844908A (en) * | 2022-03-31 | 2022-08-02 | 上海大学 | Block chain-based modular index outsourcing fair payment method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052750A (en) * | 2014-06-24 | 2014-09-17 | 北京邮电大学 | Method for protecting privacy in convex quadratic programming outsourcing on basis of affine transformation |
CN106788980A (en) * | 2017-01-16 | 2017-05-31 | 中国人民解放军国防科学技术大学 | Safe encryption method in a kind of matrix multiplication sub-contract management towards cloud computing |
CN106775576A (en) * | 2017-03-28 | 2017-05-31 | 青岛大学 | The safely outsourced computational methods and system of the matrix multiplication that can verify that |
US20180083780A1 (en) * | 2015-03-31 | 2018-03-22 | Nec Europe Ltd. | Method for verifying information |
CN111107076A (en) * | 2019-12-16 | 2020-05-05 | 电子科技大学 | Safe and efficient matrix multiplication outsourcing method |
CN111417121A (en) * | 2020-02-17 | 2020-07-14 | 西安电子科技大学 | Multi-malware hybrid detection method, system and device with privacy protection function |
-
2021
- 2021-04-09 CN CN202110381851.5A patent/CN113271293A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052750A (en) * | 2014-06-24 | 2014-09-17 | 北京邮电大学 | Method for protecting privacy in convex quadratic programming outsourcing on basis of affine transformation |
US20180083780A1 (en) * | 2015-03-31 | 2018-03-22 | Nec Europe Ltd. | Method for verifying information |
CN106788980A (en) * | 2017-01-16 | 2017-05-31 | 中国人民解放军国防科学技术大学 | Safe encryption method in a kind of matrix multiplication sub-contract management towards cloud computing |
CN106775576A (en) * | 2017-03-28 | 2017-05-31 | 青岛大学 | The safely outsourced computational methods and system of the matrix multiplication that can verify that |
CN111107076A (en) * | 2019-12-16 | 2020-05-05 | 电子科技大学 | Safe and efficient matrix multiplication outsourcing method |
CN111417121A (en) * | 2020-02-17 | 2020-07-14 | 西安电子科技大学 | Multi-malware hybrid detection method, system and device with privacy protection function |
Non-Patent Citations (1)
Title |
---|
LIFENG ZHOU: "Outsourcing Large-Scale Quadratic Programmingto a Public Cloud", 《IEEE》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114417414A (en) * | 2022-01-20 | 2022-04-29 | 三未信安科技股份有限公司 | Privacy protection method based on edge calculation |
CN114844908A (en) * | 2022-03-31 | 2022-08-02 | 上海大学 | Block chain-based modular index outsourcing fair payment method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224814B (en) | Block chain data sharing method and device | |
CN110677487B (en) | Outsourcing data duplicate removal cloud storage method supporting privacy and integrity protection | |
US10375070B2 (en) | Generating cryptographic function parameters from compact source code | |
KR20180116278A (en) | Common information secrets for secure information exchange and hierarchical and deterministic cryptographic keys | |
CN106487506B (en) | Multi-mechanism KP-ABE method supporting pre-encryption and outsourcing decryption | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
CN110826089B (en) | Verifiable outsourcing computing method, client and cloud computing system for realizing safety and high efficiency of large-scale matrix multiplication | |
US20190319783A1 (en) | Generating Cryptographic Function Parameters Based on an Observed Astronomical Event | |
WO2017099117A1 (en) | Pre-calculation device, method, computer-readable recording medium, vector multiplication device, and method | |
CN114417414A (en) | Privacy protection method based on edge calculation | |
CN113674077A (en) | Consumption credit risk prevention method, system, equipment and storage medium | |
CN113271293A (en) | Verifiable constrained quadratic programming security outsourcing calculation method and system | |
CN105474575A (en) | Multi-party secure authentication system, authentication server, intermediate server, multi-party secure authentication method, and program | |
US10447475B1 (en) | System and method for managing backup of cryptographic keys | |
US11563566B2 (en) | Key splitting | |
US20170063535A1 (en) | Generating Cryptographic Function Parameters From a Puzzle | |
Yu et al. | Veridedup: A verifiable cloud data deduplication scheme with integrity and duplication proof | |
CN109684603B (en) | A kind of Efficient Solution large scale matrix determinant can verify that outsourcing calculation method, client and cloud computing system | |
CN117527223B (en) | Distributed decryption method and system for quantum-password-resistant grid | |
Bandaru et al. | Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment | |
Biksham et al. | A lightweight fully homomorphic encryption scheme for cloud security | |
Ramprasath et al. | Protected data sharing using attribute based encryption for remote data checking in cloud environment | |
Tang et al. | Efficient cross-user deduplication of encrypted data through re-encryption | |
Zhou et al. | CASO: Cost-aware secure outsourcing of general computational problems | |
CN112995189B (en) | Method for publicly verifying matrix multiplication correctness based on privacy protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210817 |
|
RJ01 | Rejection of invention patent application after publication |