Security conflict detection and elimination method for weighted bipartite graph matching
By converting the optimal matching problem of two-part graphs with weights into winning node selection problems, and designing corresponding conflict detection and elimination algorithms, using unsequence encryption and secret sharing technologies to ensure data security, the security and efficiency of two-part graphs in the existing technology are solved, and fast and secure matching results are achieved.
Patent Information
- Application Number
- CN202510190126.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-20
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2045-02-20
AI Technical Summary
It is difficult for the prior art to design a lightweight two-part graph optimal matching method while ensuring the security of weighted data. Especially in an edge computing environment, how to quickly achieve the optimal matching of two-part graphs and avoid the risk of privacy leakage is a difficult problem.
By converting the optimal matching problem of the two-part graph with weights into the winning node selection problem, a winning node conflict detection and elimination algorithm is designed, and data security is ensured by using unsequence encryption and secret sharing technology. The conflict detection and elimination algorithm with greedy algorithm ideas is adopted, and iterative comparison is made through the collaborative method of multi-edge servers to find the optimal allocation result.
It realizes the optimal matching of the two-part graph without revealing the weight value, improves the matching efficiency, and ensures the security of the weight data, avoiding the risk of privacy leakage.
Smart Images

Figure CN120030574A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of optimal matching of weighted bipartite graphs, and in particular to a method for detecting and eliminating security conflicts oriented to weighted bipartite graph matching. Background Art
[0002] The optimal matching of weighted bipartite graphs is a highly anticipated problem in the field of graph theory. Its core goal is to find a matching in a given bipartite graph so that the sum of the weights of the matching edges is maximized or minimized. This problem not only has theoretical value, but also plays an important role in many practical application scenarios such as resource allocation, project scheduling, and task matching. Taking project scheduling as an example, when a series of project subtasks need to be assigned to different staff members, since the cost of completing different subtasks for each staff member is different, a weighted bipartite graph matching algorithm can be used to find an optimal allocation plan to minimize the total cost of completing the project.
[0003] As the scale of bipartite graph data continues to expand, the traditional way of processing bipartite graph matching locally can no longer meet the user's demand for fast matching results. Therefore, there is an urgent need for a high-performance computing platform to quickly achieve optimal matching of bipartite graphs. Edge computing, as an emerging computing model, pushes computing tasks from the cloud to the edge of the network, bringing data processing and computing closer to users or devices, effectively improving service response speed and providing strong computing support for optimal matching of weighted bipartite graphs.
[0004] However, as the amount of stored data continues to increase, edge servers are more likely to become targets of attacks, which in turn leads to the risk of privacy leakage. This is because the weight data of the bipartite graph often contains special meanings, such as the degree of intimacy between nodes, transaction amounts and other sensitive information. In order to ensure the security of bipartite graph data, current research recommends that data owners should encrypt the data before outsourcing the bipartite graph data, and design a bipartite graph optimal matching scheme based on ciphertext, which can not only ensure the security of the weight data, but also successfully complete the optimal matching of the bipartite graph, achieving the dual goals of data protection and efficient computing.
[0005] The paper "User experience-driven secure task assignment in spatial crowdsourcing" models the waiting time between drivers and passengers into a bipartite graph, and designs a Hungarian algorithm based on homomorphic encryption to complete the optimal matching of the bipartite graph based on ciphertext, thereby minimizing the waiting time of all passengers. However, this solution requires complex homomorphic encryption calculations and requires that the number of drivers and passengers must be equal. Therefore, how to design a lightweight weighted bipartite graph optimal matching method while ensuring the security of weight data remains a thorny problem. Summary of the invention
[0006] In order to solve the above defects in the prior art, the present invention provides a secure conflict detection and elimination method for weighted bipartite graph matching. The method converts the optimal matching problem of weighted bipartite graph into a winning node selection problem, eliminates conflicts by designing a winning node conflict detection and elimination algorithm, and obtains the optimal matching result. In order to ensure security, the secure conflict detection and elimination algorithm designed by the method runs on three non-colluding edge servers. First, the method uses sequence-revealing encryption to encrypt the bipartite graph weight data, ensuring that the edge server can compare the data size without obtaining the data plaintext; secondly, the method uses secret sharing technology to split the weight value into two share weight values, ensuring that any edge server cannot obtain the complete weight value during the conflict elimination process; finally, the method designs a secure conflict detection and elimination algorithm based on the idea of greedy algorithm, and iteratively compares the conflicts through the collaboration of multiple edge servers until the optimal allocation result is found. The whole method is designed based on the principle of lightweight cryptography, does not require complex homomorphic encryption operations, and has high overall operating efficiency.
[0007] The method involves four types of entities: Trusted Third Party (TTP), Data Owner (DO), Data User (DU) and Edge Server (ES). It is assumed that the trusted third party, data owner and data user are trusted entities, and the edge server is a semi-honest entity, that is, the ES will execute the protocol honestly, but will intentionally or unintentionally speculate on the weight value during the execution of the protocol. The functions of the entities involved in the method are as follows:
[0008] Trusted Third Party TTP: The trusted third party is responsible for generating the keys required for secure matching of the bipartite graph and distributing the keys to the corresponding entities.
[0009] Data owner DO: The data owner owns the bipartite graph data and is responsible for encrypting the weight data in the graph and outsourcing it to the edge server to provide services.
[0010] Data user DU: The data user sends the nodes contained in the matching request to the edge server, expecting the edge server to return the best match between these nodes.
[0011] Edge Server ES: The edge server is responsible for storing the encrypted data uploaded by the data owner and processing the matching requests of the data user. When the optimal match is completed, the corresponding matching result is returned to the data user.
[0012] Given a security parameter λ, a prime number p that is much larger than the weight value, an order-revealing encryption scheme ORE = (Init, Enc, Cmp), an asymmetric encryption scheme PKE = (Gen, Enc, Dec) and a bipartite graph G = (U, V, E, W), where U = {u 1 ,u 2 ,…,u m} and V = {v 1 ,v 2 ,…,v n} contains all the vertices of the bipartite graph G and the vertex set U and the vertex set V do not intersect, E = {e i,j} i∈[1,m],j∈[1,n] is the set of all edges in the bipartite graph G, W = {w i,j} i∈[1,m],j∈[1,n] is the set of weights of all edges in the bipartite graph G.
[0013] The present invention provides a method for detecting and eliminating security conflicts for weighted bipartite graph matching, comprising the following steps:
[0014] Step S1: Execute the key generation algorithm (sk ORE ,{(pk l ,sk l )} l={1,2} )←KeyGen(λ), the key generation algorithm is executed by the trusted third party TTP. First, TTP inputs the security parameter λ, and then executes the algorithm ORE.Init(λ) to generate the decryption key sk ORE ; Then, TTP executes the algorithm PKE.G(λ) to generate two pairs of public and private key pairs (pk 1 ,sk 1 ) and (pk 2 ,sk 2 ); Finally, TTP will (sk ORE ,pk 1 ,pk 2 ) is sent to the data owner DO, and sk 1 and sk 2 Send to edge server ES1 and edge server ES2 respectively;
[0015] Step S2: Execute the bipartite graph encryption algorithm (EG)←GraphEnc(G,sk ORE ,pk 1 ,pk 2 ), the bipartite graph encryption algorithm is executed by the data owner DO. Given a bipartite graph G = (U, V, E, W), DO executes the GraphEnc algorithm to generate an encrypted bipartite graph EG, where the row index of EG stores the nodes in the vertex set U, and the column index of EG stores the nodes in the vertex set V. Specifically, for each weight value w in Gi,j , first run ORE.Enc(sk ORE ,w i,j ) algorithm generates the ciphertext value [[w i,j ]]; Then, the idea of additive secret sharing is used to convert w i,j Divided into two share values and in Then use asymmetric encryption PKE to Encrypted as in Finally Stored in EG[i][j], the detailed process of the bipartite graph encryption algorithm is shown in the following table. After the entire algorithm is completed, DO sends EG to the edge server ES 3 save.
[0016]
[0017] Step S3: Execute the matching request generation algorithm (Q U ,Q V )←ReqGen(G), the matching request generation algorithm is run by the data user DU, and the matching request generated by the algorithm indicates that DU expects the edge server to find an optimal match from some nodes in U to some nodes in V. In order to maintain generality, the method of the present invention assumes that the data user DU expects to find the node Q U =(u 1 ,u 2 ,…,u t ) to Q V =(v 1 ,v 2 ,…,v s ) is the best match. After this algorithm is completed, DU will (Q U ,Q V ) is sent to the edge server ES 3 .
[0018] Step S4: Execute the bipartite graph security matching algorithm (M U,V )←SecGraMatch(EG,Q U ,Q V ), the algorithm is jointly executed by three edge servers. When a matching request (Q U ,Q V ), the edge server executes the bipartite graph security matching algorithm according to EG to obtain the optimal matching result M U,V .
[0019] Furthermore, the optimal matching of a bipartite graph is defined as follows:
[0020] Let π(ui ,v j ) represents the matching state, if π(u i ,v j )=1, indicating that node u i With node v j Match; if π(u i ,v j )=0, it means that node u is not i Same node v j Matching, given Q U and Q V , the goal of optimal matching of bipartite graph is expressed as:
[0021]
[0022] In order to improve efficiency, the present invention will solve M U,V Transformed into a winning node selection problem, specifically: Edge Server ES 3 First, find Q from the encrypted bipartite graph EG U and Q V The weight value, share value and ciphertext value of the corresponding node in form a matrix and Then, ES 3 Will and Send to edge server ES respectively 1 and ES 2 , then, the edge server ES 1 and ES 2 according to Generate weight ranking matrix Perform winning node conflict detection, for each conflict v c ∈Q V , that is, v c It's Q U Maximum matching of multiple nodes in a collection, edge server ES 1 and ES 2 Constructing conflict resolution sets And ES 3 to jointly eliminate conflicts, thus U Find the best fit v c Node.
[0023] Furthermore, the detailed steps of the bipartite graph security matching algorithm are as follows:
[0024] Step S41: For Q U =(u 1 ,u 2 ,…,u t ) and Q V=(v 1 ,v 2 ,…,v s ), edge server ES 3 Find Q from the encrypted bipartite graph EG U and Q V The encrypted weight value and share value of the corresponding node in U u i and Q V v j , Edge Server ES 3 Obtained from EG[i][j] And set When the request (Q U ,Q V ) After all nodes in the process are processed, the edge server ES 3 Will and Send to edge server ES respectively 1 and ES 2 ;
[0025] Step S42: Conflict detection, when ES 1 receive ES 2 receive After that, ES 1 and ES 2 First, use the asymmetric encryption private key sk 1 and sk 2 right and Decrypt and obtain the plaintext share value, which is the new equal New equal Then, the edge server ES 1 and ES 2 Execute the RankMatrixCons algorithm to generate the ranking matrix And according to The ranking order in the share matrix and Then, the edge server ES 1 and ES 2 Detection The first node in each row of v is constructed j The conflict set Right now
[0026]
[0027] Step S43: Conflict elimination. This step eliminates each conflict set until the number of elements in all conflict sets is 1. For the sake of generality, assume that v j It's Q U The winner node among the ρ nodes, let Edge Server ES 1 and ES 2 Constructing conflict resolution sets Each conflict resolution situation will u k Same as v j Match, u k Other nodes except are matched with their second-ranked nodes;
[0028] for Any two cases S x and S y , E.S. 1 and ES 2 According to and Calculate the difference between these two cases and The calculation process is as follows:
[0029]
[0030] in, Indicates u x With its top-ranked node in The share weight value inside, Indicates u z The second-ranked node is The share weight value inside, Indicates u y With its top-ranked node in The share weight value inside, Indicates u y The second-ranked node is The share weight value inside, Indicates u x With its top-ranked node in The share weight value inside, Indicates u z The second-ranked node is The share weight value inside, Indicates u y With its top-ranked node in The share weight value inside, Indicates u y The second-ranked node is The share weight value inside;
[0031] When two situations S are obtained x and S y After the difference, the edge server ES 1 and ES 2 Respectively and Sent to edge server ES 3 , E.S. 3 calculate If d x,y ∈[0,p / 2], then S x The sum of the weights inside is greater than S y The weights and ES 3 Send x,y =1 for ES 1 and ES 2 If d x,y ∈[p / 2,p], then S x The sum of the weights inside is less than S y The weight and ES 3 Send x,y =0 for ES 1 and ES 2 , when the conflict elimination set After comparing all the situations inside, ES 1 and ES 2 You will know The case with the largest weight is S o , that is, satisfy the following formula, and set M U,V ←M U,V ∪{(u o ,v j )};
[0032]
[0033] At the same time, the edge server ES 1 and ES 2 Update the matrix according to the above formula That is, for All nodes inside, ES 1 and ES 2 Remove u o All rows except v j The relevant weight value is set to -1, that is, for z∈[1,m] and z≠o, set Updated matrix After that, the edge server continues to perform conflict detection and elimination according to step S42 and step S43 until the number of elements in all conflict sets is 1.
[0034] Next, the security of the method proposed in the present invention is explained. First, the sequence encryption ensures the security of the weight data; second, the secret sharing technology and the non-collusion assumption of multiple edge servers ensure that no server can obtain the complete weight value; finally, due to asymmetric encryption, the edge server ES 3 It is also impossible to locate the specific node based on the obtained weight difference.
[0035] Compared with the prior art, the present invention has the following beneficial technical effects:
[0036] (1) The present invention proposes a secure conflict detection and elimination method for weighted bipartite graph matching, which converts the optimal matching of bipartite graphs into the problem of winning node conflict detection and elimination, and can quickly complete the optimal matching of bipartite graphs without leaking weight values;
[0037] (2) The present invention proposes a secure winning node conflict detection method, which uses sequence encryption to ensure the security of weight data and ensures that the edge server can construct a ranking matrix to complete conflict detection;
[0038] (3) The present invention proposes a secure winning node conflict elimination method, which is based on a ranking matrix and secret sharing, and uses multiple edge servers to collaboratively find the optimal situation in the conflict set;
[0039] (4) The present invention proposes a secure weighted bipartite graph matching method, which does not require complex homomorphic encryption operations and can greatly improve the matching efficiency while ensuring the security of weight data. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0041] Figure 1 It is a system model diagram of a security conflict detection and elimination method for weighted bipartite graph matching provided by an embodiment of the present invention;
[0042] Figure 2 It is a flow chart of a bipartite graph security matching step in a security conflict detection and elimination method for weighted bipartite graph matching provided by an embodiment of the present invention;
[0043] Figure 3 It is an example diagram of an encrypted bipartite graph in a method for secure conflict detection and elimination for weighted bipartite graph matching provided by an embodiment of the present invention;
[0044] Figure 4 It is an example graph of secure matching of bipartite graphs in a method for secure conflict detection and elimination for weighted bipartite graph matching provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0045] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0046] like Figure 1 As shown, the present invention provides a security conflict detection and elimination method for weighted bipartite graph matching, and the system model of the method includes four types of entities: Trusted Third Party (TTP), Data Owner (DO), Data User (DU) and Edge Server (ES). It is assumed that the trusted third party, data owner and data user are trusted entities, and the edge server is a semi-honest entity, that is, ES will execute the protocol honestly, but will intentionally or unintentionally speculate on the weight value during the execution of the protocol.
[0047] Trusted third party: The trusted third party is responsible for generating the keys and parameters required for secure matching of the bipartite graph and distributing the keys to the corresponding entities.
[0048] Data owner: The data owner owns the complete bipartite graph data and is responsible for encrypting the weight data in the graph and outsourcing it to the edge server to provide services.
[0049] Data user: The data user sends the nodes contained in the matching request to the edge server, expecting the edge server to return the best match between these nodes.
[0050] Edge server: The edge server is responsible for storing the encrypted bipartite graph data uploaded by the data owner and processing the matching request of the data user. When the matching is completed, the corresponding matching result is returned to the data user. Multiple edge servers come from different service providers. In order to avoid reputation damage and other hazards, there is a non-collusion security assumption between multiple edge servers.
[0051] The workflow of each entity in the bipartite graph security optimal matching method is:
[0052] Trusted third party TTP: Given a security parameter λ, this entity runs the KeyGen(λ) algorithm to generate the decryption key sk ORE And asymmetric encryption public key / private key pair (pk 1 ,sk 1 ) and (pk 2 ,sk 2 ), after executing the algorithm, the trusted third party will (sk ORE ,pk 1 ,pk 2 ) is sent to the data owner DO, and sk 1 and sk 2 Send to edge server ES respectively 1 and edge server ES 2 .
[0053] Data owner DO: Given a bipartite graph G = (U, V, E, W), the entity runs the bipartite graph encryption algorithm GraphEnc to generate an encrypted bipartite graph EG. After executing the algorithm, the data owner DO sends EG to the edge server ES 3 save.
[0054] Data user DU: When DU expects to find an optimal match from some nodes in U to some nodes in V, the data user DU executes the matching request generation algorithm ReqGen algorithm to generate a matching request (Q U ,Q V ), and (Q U ,Q V ) is sent to the edge server ES 3 .
[0055] Edge server: Given an encrypted bipartite graph EG and a matching request (Q U ,Q V ), edge server ES 1 ,ES 2 and ES 3 Jointly execute the bipartite graph secure matching algorithm SecGraMatch(EG,Q U ,Q V ) to obtain the best matching result M U,V ,SecGraMatch(EG,Q U ,Q V ) The steps of the algorithm are as follows Figure 2 shown.
[0056] This embodiment takes a bipartite graph G = (U, V, E, W) with vertex sets |U| = 5 and |V| = 5 as an example to illustrate the steps of the method in detail. In the example, the weight value in W ranges from [1, 10], and the large prime number p = 193.
[0057] Step 1: The trusted third party runs the KeyGen algorithm to generate a key and sends the corresponding key to the corresponding entity in the system, including:
[0058] Step 11: Given the security parameter λ, the trusted third party runs the algorithm ORE.Init(λ) to generate the decryption key sk ORE ;
[0059] Step 12: Given the security parameter λ, the trusted third party runs the algorithm PKE.G(λ) to generate two pairs of public / private keys (pk 1 ,sk 1 ) and (pk 2 ,sk 2 );
[0060] Step 13: The trusted third party will (sk ORE ,pk 1 ,pk 2 ) is sent to the data owner DO, and sk 1 and sk 2 Send to edge server ES respectively 1 and edge server ES 2 .
[0061] Step 2: The data owner runs the GraphEnc algorithm to encrypt the bipartite graph G into EG. After executing the algorithm, the data owner sends EG to the edge server ES 3 Save, the encrypted bipartite graph EG is as follows Figure 3 As shown, specifically:
[0062] Step 21: For the weight value w in G i,j , the data owner runs ORE.Enc(sk ORE ,w i,j ) algorithm generates ciphertext value
[0063] Step 22: For the weight value w in G i,j , the data owner will w i,j Divided into two share values and in
[0064] Step 23: For the share value and The data owner uses asymmetric encryption to encrypt, that is,
[0065] Step 24: The data owner will Store in EG[i][j];
[0066] Step 25: When all weight values in G are encrypted, the data owner sends EG to the edge server ES 3 save.
[0067] Step 3: The data user executes the ReqGen algorithm to generate a matching request (Q U ,Q V ), where Q U = {u 1 ,u 2}, Q V = {v 1 ,v 2 ,v 3}. After executing the algorithm, the data user will (Q U ,Q V ) is sent to the edge server ES 3 .
[0068] Step 4: Given the encrypted bipartite graph EG and the matching request (Q U ,Q V ), edge server ES 1 ,ES 2 and ES 3 Joint implementation of SecGraMatch (EG,Q U ,Q V ) algorithm to obtain the optimal matching result M U,V An example of algorithm execution is shown in Figure 2. Figure 4 After executing the algorithm, the edge server will send the result M U,V Sent to data users. Specifically:
[0069] Step 41: For u i ∈Q U and v j ∈Q V (i∈[1,2],j∈[1,3]), edge server ES 3 Get from EG[i][j] And set When Q U and Q V After all the weight values between nodes in ES are processed, 3 Will and Send to edge server ES respectively 1 and ES2 ;
[0070] Step 42: When ES 1 receive ES 2 receive After that, ES 1 and ES 2 Use the asymmetric encrypted private key sk 1 and sk 2 right and Decrypt and obtain the plaintext share value, which is the new equal New equal
[0071] Step 43: Edge Server ES 1 and ES 2 Execute the RankMatrixCons algorithm to generate the ranking matrix And according to The ranking order in the share matrix and Perform corresponding sorting;
[0072] Step 44: Edge Server ES 1 and ES 2 Detection The first node in each row of v is constructed 1 The conflict set Right now
[0073] Step 45: For Edge Server ES 1 and ES 2 Constructing conflict resolution sets for S 1 and S 2 , E.S. 1 and ES 2 According to and Calculate the difference between these two cases and And respectively and Send to ES 3 ;
[0074] Step 46: Edge Server ES 3 calculate Due to d 1,2 ∈[1,p / 2],ES3 Setting 1,2 =1 and returns to the edge server ES 1 and ES 2 ;
[0075] Step 47: When receiving d 1,2 =1, edge server ES 1 and ES 2 According to formula d o,y =1, Update Matrix Set And get M U,V ←M U,V ∪{(u 1 ,v 1 )};
[0076] Edge Server ES 1 and ES 2 According to the new matrix Conflict detection and elimination are performed. Since the conflict set constructed in the new ranking matrix and The number of elements in is 1, so all conflicts are eliminated, and the edge server obtains M U,V ←M U,V ∪{(u 2 ,v 3 )}.
[0077] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A security conflict detection and elimination method for weighted bipartite graph matching, characterized in that: The method comprises: Step S1: The trusted third party TTP executes the key generation algorithm (sk ORE ,{(pk l ,sk l )} l={1,2} )←KeyGen(λ), generate a key and send the key to the data owner DO, edge server ES1 and edge server ES2; Step S2: Given a bipartite graph G, the data owner DO executes the bipartite graph encryption algorithm (EG)←GraphEnc(G,sk ORE ,pk1,pk2), encrypt the bipartite graph G into EG, and send EG to the edge server ES3 for storage; Step S3: Data user DU executes matching request generation algorithm (Q U ,Q V )←ReqGen(G), the matching request generated by the algorithm indicates that DU expects the edge server to find an optimal match from some nodes in U to some nodes in V, and sets the data user DU to expect to find node Q U =(u1,u2,…,u t ) to Q V =(v1,v2,…,v s ) is the best match. After executing the algorithm, DU will (Q U ,Q V ) is sent to the edge server ES3; Step S4: Execute the bipartite graph security matching algorithm (M U,V )←SecGraMatch(EG,Q U ,Q V ), the algorithm is jointly executed by three edge servers. When a matching request (Q U ,Q V ), the edge server executes the bipartite graph security matching algorithm according to EG to obtain the optimal matching result M U,V .
2. The method according to claim 1, characterized in that The step S1 further comprises: Step S11: TTP inputs security parameter λ and then executes algorithm ORE.Init(λ) to generate decryption key sk ORE ; Step S12: TTP executes algorithm PKE.G(λ) to generate two pairs of public and private key pairs (pk1, sk1) and (pk2, sk2); Step S13: TTP converts (sk ORE ,pk1,pk2) is sent to the data owner DO, and sk1 and sk2 are sent to the edge server ES1 and edge server ES2 respectively.
3. The method according to claim 1, characterized in that The step S2 further comprises: Step S21: For each weight value w in G i,j , the data owner runs ORE.Enc(sk ORE ,w i,j ) algorithm generates ciphertext value Step S22: Use the idea of additive secret sharing to convert w i,j Divided into two share values and in Step S23: Use asymmetric encryption PKE to Encrypted as in Step S24: Stored in EG[i][j]. When all weight values in G are encrypted, DO sends EG to the edge server ES3 for storage.
4. The method according to claim 1, characterized in that The step S4 further comprises: Step S41: For Q U =(u1,u2,…,u t ) and Q V =(v1,v2,…,v s ), the edge server ES3 finds Q from the encrypted bipartite graph EG U and Q V The encrypted weight value and share value of the corresponding node in Q U u i and Q V v j , edge server ES3 obtains from EG[i][j] And set When the request (Q U ,Q V ) is processed, the edge server ES3 will and Send to edge servers ES1 and ES2 respectively; Step S42: Conflict detection: When ES1 receives ES2 received After that, ES1 and ES2 use asymmetric encryption private keys sk1 and sk2 to and Decrypt and obtain the plaintext share value, which is the new equal New equal Then, edge servers ES1 and ES2 execute the RankMatrixCons algorithm to generate the ranking matrix And according to The ranking order in the share matrix and Then, the edge servers ES1 and ES2 detect The first node in each row of v is constructed j The conflict set Right now Step S43: conflict elimination. This step eliminates conflicts for each conflict set until the number of elements in all conflict sets is 1.
5. The method according to claim 4, characterized in that The step S43 further comprises: Setting v j It's Q U The winner node among the ρ nodes, let Edge servers ES1 and ES2 construct conflict elimination sets Each conflict resolution situation will u k Same as v j Match, u k Other nodes except are matched with their second-ranked nodes; for Any two cases S x and S y , ES1 and ES2 are based on and Calculate the difference between these two cases and The calculation process is as follows: in, Indicates u x With its top-ranked node in The share weight value inside, Indicates u z The second-ranked node is The share weight value inside, Indicates u y With its top-ranked node in The share weight value inside, Indicates u y The second-ranked node is The share weight value inside, Indicates u x With its top-ranked node in The share weight value inside, Indicates u z The second-ranked node is The share weight value inside, Indicates u y With its top-ranked node in The share weight value inside, Indicates u y The second-ranked node is The share weight value inside; When two situations S are obtained x and S y After the difference, edge servers ES1 and ES2 will and Send to edge server ES3, ES3 calculates If d x,y ∈[0,p / 2], then S x The sum of the weights inside is greater than S y The weights inside, ES3 sends d x,y =1 for ES1 and ES2; if d x,y ∈[p / 2,p], then S x The sum of the weights inside is less than S y The weights inside, ES3 sends d x,y = 0 for ES1 and ES2, when the conflict elimination set After comparing all the situations inside, ES1 and ES2 will know The case with the largest weight is S o , that is, satisfy the following formula, and set M U,V ←M U,V ∪{(u o ,v j )}: At the same time, edge servers ES1 and ES2 update the matrix according to the above formula That is, for All nodes inside, ES1 and ES2 will be except u o All rows except v j The relevant weight value is set to -1, that is, for z∈[1,m] and z≠o, set Updated matrix After that, the edge server continues to perform conflict detection and elimination according to step S42 and step S43 until the number of elements in all conflict sets is 1.
Citation Information
Patent Citations
Privacy-preserving spatial crowdsourcing bidding method
CN109003172A
Privacy protection-based user authenticated outsourcing image denoising method
CN111241561A
User-centered data retrieval and sharing scheme in cloud computing environment
CN118611987A
Method for retrieving encrypted graph, system for retrieving encrypted graph, and computer
US20170322977A1
Data security sharing method in multi-edge node collaboration mode under industrial cloud environment
US20210373537A1