CN113271293A - Verifiable constrained quadratic programming security outsourcing calculation method and system - Google Patents

Verifiable constrained quadratic programming security outsourcing calculation method and system Download PDF

Info

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
Application number
CN202110381851.5A
Other languages
Chinese (zh)
Inventor
徐啸
任艳丽
余凌赞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN202110381851.5A priority Critical patent/CN113271293A/en
Publication of CN113271293A publication Critical patent/CN113271293A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation 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

Verifiable constrained quadratic programming security outsourcing calculation method and system
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:
Figure BDA0003013317580000011
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 form
Figure BDA0003013317580000021
Wherein, 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 ω12,…,ω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, wherein
Figure BDA0003013317580000022
Here, 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 data
Figure BDA0003013317580000031
And 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 form
Figure BDA0003013317580000051
Wherein 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, wherein
Figure BDA0003013317580000052
The 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 problem
Figure BDA0003013317580000053
And 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
Figure BDA0003013317580000071
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, namely
Figure BDA0003013317580000081
Wherein 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:
Figure BDA0003013317580000082
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 mapping
Figure BDA0003013317580000083
An 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, wherein
Figure BDA0003013317580000084
Wherein ω 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 blinding
Figure BDA0003013317580000085
s.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 in
Figure BDA0003013317580000091
Can obtain
Figure BDA0003013317580000092
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:
Figure BDA0003013317580000093
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 form
Figure FDA0003013317570000011
Wherein 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, wherein
Figure FDA0003013317570000012
The 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 data
Figure FDA0003013317570000021
And 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。
CN202110381851.5A 2021-04-09 2021-04-09 Verifiable constrained quadratic programming security outsourcing calculation method and system Pending CN113271293A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
LIFENG ZHOU: "Outsourcing Large-Scale Quadratic Programmingto a Public Cloud", 《IEEE》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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