Method, device and equipment for maximizing group compactness in decentralized network based on secure multi-party computing, and medium
By adopting a decentralized network method based on secure multi-party computing in social network analysis, the problem of privacy protection in the process of maximizing group intimacy is solved, and the effect of efficiently identifying the optimal seed set and improving computing security in a multi-party computing environment is achieved.
Patent Information
- Application Number
- CN202510188894.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-20
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2045-02-20
AI Technical Summary
The prior art has not fully solved the privacy protection problem in the process of maximizing group in social network analysis, especially in the process of group-centric calculation and maximizing group-closeness.
Using a decentralized network method based on secure multi-party computing, the cloud server determines the distance list after obtaining the graph data sent by multiple data providers in secret sharing form through a cloud server, and uses a secure seed set based on iterative policy to explore the protocol, determine the current optimal seed set from the current window, and expand the window until all nodes in the graph are included.
Efficiently identify the optimal seed set in a multi-party computing environment, improve the security of the computing process, and ensure data privacy is not leaked.
Smart Images

Figure CN119995868A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data security technology, and in particular to a method, device, equipment and medium for maximizing group compactness in a decentralized network based on secure multi-party computing. Background Art
[0002] In social network analysis, maximizing group intimacy / closeness plays a vital role in identifying influential entities, aiming to identify the most influential node groups in the graph, thereby achieving optimal allocation of resources and maximizing benefits.
[0003] Although group intimacy maximization has important applications in many fields, it still faces serious privacy issues. Especially when analyzing social network data, the data provided contains a large amount of private information of different users from different platforms or systems. Building a social network through these data can reveal the intimacy and influence of key nodes in the network, but these data often contain a lot of sensitive information. Once leaked, it may cause great risks to the privacy security and personal life of users.
[0004] However, most existing studies focus on privacy protection schemes for single node centrality calculations, while privacy protection issues in group centrality calculations and group proximity maximization processes have not been fully explored, resulting in insufficient privacy protection. Summary of the invention
[0005] In view of this, the purpose of the present invention is to provide a method, device, equipment and medium for maximizing group density in a decentralized network based on secure multi-party computing, which can efficiently identify the optimal seed set in a multi-party computing environment and improve the security of the computing process. The specific scheme is as follows:
[0006] In a first aspect, the present application provides a method for maximizing group compactness in a decentralized network based on secure multi-party computing, which is applied to a cloud server, including:
[0007] After obtaining graph data sent by multiple data providers in the form of secret sharing, single-source shortest path calculation is performed on each of the data providers as a source node to determine corresponding distance information;
[0008] Determine a distance list corresponding to the current decentralized network by receiving a distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method;
[0009] After receiving the query request sent by the preset analysis party, determine the current optimal seed set from the nodes included in the current window by using the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request, and expand the current window based on the current optimal seed set;
[0010] If the current window does not contain the nodes in the graph corresponding to the current decentralized network, then based on the current window, the method jumps back to the step of determining the current optimal seed set using the preset secure seed set exploration protocol based on the iterative strategy, the distance list, and the seed set size information in the query request, until the current window contains the nodes in the graph corresponding to the current decentralized network, and then performs secure seed set exploration again through the current window, and determines the obtained current optimal seed set as the target seed set corresponding to the query request, so as to return the target seed set to the preset analysis party.
[0011] Optionally, the single-source shortest path calculation is performed on each of the data providers as a source node to determine the corresponding distance information, including:
[0012] Taking each of the data providers as a source node;
[0013] For any source node, the shortest path from the current source node to each node in the graph corresponding to the current decentralized network is calculated using the forgetting priority queue to determine the distance array corresponding to the current source node;
[0014] A distance matrix is determined by integrating the distance arrays corresponding to the source nodes.
[0015] Optionally, the receiving a distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method to determine a distance list corresponding to the current decentralized network includes:
[0016] Dividing the distance matrix into blocks according to the row order of the distance matrix to obtain a plurality of sub-matrices;
[0017] Sending each of the sub-matrices to the corresponding data provider according to the row order, so that the data provider determines the corresponding reachable node set and the shortest distance corresponding to each reachable node in the reachable node set by using the received sub-matrix to obtain a distance representation;
[0018] receiving the distance representations sent by each of the data providers in a secret sharing form, and numerically integrating each of the distance representations to obtain a corresponding integrated distance representation;
[0019] The distance list corresponding to the current decentralized network is determined by numbering and connecting based on the integrated distance representation.
[0020] Optionally, returning the target seed set to the preset analysis party includes:
[0021] Encrypting the target seed set corresponding to the query request to obtain an encrypted seed set;
[0022] The encrypted seed set is returned to the preset analysis party so that the preset analysis party reconstructs the target seed set based on the encrypted seed set.
[0023] Optionally, the determining the current optimal seed set by using a preset safe seed set exploration protocol based on an iteration strategy, the distance list, and the seed set size information in the query request includes:
[0024] Determine a corresponding seed set to be explored from a graph corresponding to the current decentralized network based on the seed set size information in the query request;
[0025] For any of the seed sets to be explored, an approximate optimal seed set is obtained based on the distance matrix and the greedy algorithm, and the seed set is used as the initial current window;
[0026] By performing a read operation on the nodes included in the current window, the starting index of each node in the current seed set to be explored is retrieved from the distance list in turn, and an array for recording the shortest distance corresponding to the current seed set to be explored is updated with the corresponding shortest distance array using the obtained retrieval results;
[0027] By comparing each element in the shortest distance array with the number of nodes, the first reachable node set size information and the first distance information corresponding to the current seed set to be explored are determined;
[0028] Determine the corresponding seed set centrality information based on the reachable node set size information and distance information corresponding to the current seed set to be explored, and determine the current optimal centrality using the seed set centrality information;
[0029] Determine a current temporary seed set based on the node information in the initial window, and determine the size information and second distance information of a second reachable node set corresponding to the current temporary seed set and target distance information of the current temporary seed set relative to the current seed set to be explored;
[0030] Through fixed-point number division, the first reachable node set size information, the first distance information, the second reachable node set size information, the second distance information and the target distance information, it is determined whether the upper bound of the centrality corresponding to the current seed set to be explored is greater than the current optimal centrality, and when the centrality judgment result is no, the current optimal seed set is determined based on the current optimal centrality.
[0031] Optionally, after determining whether the upper bound of the centrality corresponding to the current seed set to be explored is greater than the current optimal centrality through fixed-point number division, the first reachable node set size information, the first distance information, the second reachable node set size information, the second distance information and the target distance information, the method further includes:
[0032] If the centrality judgment result is yes, the current temporary seed set is updated based on the node information in the initial window, and the new current temporary seed set is used to jump again to the step of determining the second reachable node set size information and the second distance information corresponding to the current temporary seed set and the target distance information of the current temporary seed set relative to the current seed set to be explored, until the current optimal seed set is determined.
[0033] Optionally, after determining the current window based on the current optimal seed set, the method further includes:
[0034] Initializing a random access machine array based on the number of nodes in the graph corresponding to the current decentralized network to obtain a second array; the second array is used to determine whether each node in the graph has been included in the current window;
[0035] Determine whether the number of target nodes outside the current window in the graph supports triggering a window expansion operation to obtain a corresponding expansion determination result;
[0036] If the extension judgment result is yes, the nodes in the current optimal seed set are replaced in sequence based on the nodes outside the current window in the graph, and after each replacement, the seed set centrality information of the new current optimal seed set is calculated;
[0037] The highest centrality is selected as the sorting criterion, and the centrality information of each seed set is sorted by using the casual cardinality sorting method to obtain the corresponding sorting result;
[0038] The current window is expanded based on the sorting result to obtain a new current window.
[0039] In a second aspect, the present application provides a device for maximizing group compactness in a decentralized network based on secure multi-party computing, which is applied to a cloud server and includes:
[0040] A distance information determination module is used to, after obtaining graph data sent by multiple data providers in the form of secret sharing, perform single-source shortest path calculation on each of the data providers as a source node to determine the corresponding distance information;
[0041] A distance list determination module, configured to determine a distance list corresponding to the current decentralized network by receiving a distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method;
[0042] A seed set exploration module, configured to determine a current optimal seed set from nodes included in a current window by using a preset safe seed set exploration protocol based on an iteration strategy, the distance list and the seed set size information in the query request after receiving a query request sent by a preset analysis party, and to expand the current window based on the current optimal seed set;
[0043] The target seed set determination module is used to jump again to the step of determining the current optimal seed set from the nodes included in the current window based on the current window using the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request if the current window does not contain the nodes in the graph corresponding to the current decentralized network, until the current window contains the nodes in the graph corresponding to the current decentralized network, perform safe seed set exploration again through the current window, and determine the obtained current optimal seed set as the target seed set corresponding to the query request, so as to return the target seed set to the preset analysis party.
[0044] In a third aspect, the present application provides an electronic device, including:
[0045] Memory, used to store computer programs;
[0046] A processor is used to execute the computer program to implement the steps of the aforementioned method for maximizing group compactness in a decentralized network based on secure multi-party computing.
[0047] In a fourth aspect, the present application provides a computer-readable storage medium for storing a computer program, which, when executed by a processor, implements the steps of the aforementioned method for maximizing group density in a decentralized network based on secure multi-party computing.
[0048] It can be seen that in the present application, after obtaining graph data sent by multiple data providers in the form of secret sharing through a cloud server, each of the data providers is used as a source node to perform a single-source shortest path calculation to determine the corresponding distance information; by receiving the distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method, a distance list corresponding to the current decentralized network is determined; after receiving a query request sent by a preset analysis party, a preset secure seed set exploration protocol based on an iterative strategy, the distance list and the seed set size information in the query request are used to determine the current node from the nodes contained in the current window. The method comprises the following steps: first, determining the previous optimal seed set and expanding the current window based on the current optimal seed set; if the current window does not contain the nodes in the graph corresponding to the current decentralized network, then re-jumping to the step of determining the current optimal seed set based on the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request based on the current window, until the current window contains the nodes in the graph corresponding to the current decentralized network, performing safe seed set exploration again through the current window, and determining the obtained current optimal seed set as the target seed set corresponding to the query request, so as to return the target seed set to the preset analysis party. That is, this application proposes a privacy protection scheme for the problem of maximizing group intimacy. Specifically, through a cloud server, after obtaining graph data sent by multiple data providers in the form of secret sharing, a distance list corresponding to the current decentralized network is determined based on a preset graph distance representation method, and after receiving a query request sent by a preset analysis party, multiple rounds of current optimal seed set screening and current window expansion are performed through a preset secure seed set exploration protocol based on an iterative strategy, a distance list, and seed set size information in the request, until the current window is expanded to include all nodes in the graph corresponding to the current decentralized network, and the target seed set is screened out again through exploration. In this way, the optimal seed set can be efficiently identified in a multi-party computing environment, and the security of the computing process can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] 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 only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0050] Figure 1 A flow chart of a method for maximizing group compactness in a decentralized network based on secure multi-party computing provided by this application;
[0051] Figure 2A schematic diagram of a system framework for maximizing group closeness in a decentralized network based on secure multi-party computing provided in this application;
[0052] Figure 3 A schematic diagram of the structure of a device for maximizing group compactness in a decentralized network based on secure multi-party computing provided by the present application;
[0053] Figure 4 A structural diagram of an electronic device provided for this application. DETAILED DESCRIPTION
[0054] 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.
[0055] Although group intimacy maximization has important applications in many fields, it still faces serious privacy issues. However, existing research mostly focuses on the privacy protection scheme of single node centrality calculation, while the privacy protection problem in the group centrality calculation and group intimacy maximization process has not been fully explored, resulting in insufficient privacy protection. To this end, this application provides a group closeness maximization scheme in a decentralized network based on secure multi-party computing, which can efficiently identify the optimal seed set in a multi-party computing environment and improve the security of the computing process.
[0056] See also Figure 1 As shown, the embodiment of the present invention discloses a method for maximizing group compactness in a decentralized network based on secure multi-party computing, which is applied to a cloud server and includes:
[0057] Step S11: After obtaining graph data sent by multiple data providers in the form of secret sharing, each of the data providers is used as a source node to perform single-source shortest path calculation to determine the corresponding distance information.
[0058] Specifically, in this embodiment, the data provider in the network holds a partial data set representing a subset of the entire network, namely, graph data, and stores the graph data in the form of an edge list. In addition, the graph data is sent to the cloud server in the form of secret sharing.
[0059] It is understandable that after the cloud server receives the graph data sent by the data provider in the form of secret sharing, it will trigger a single-source shortest path calculation operation to determine the distance information. The specific operation execution process is: take each data provider as a source node; for any source node, use the forgetting priority queue to calculate the shortest path from the current source node to each node in the graph corresponding to the current decentralized network to determine the distance array corresponding to the current source node. Among them, the algorithm used to calculate the shortest path can be the Dijkstra algorithm, which uses the forgetting priority queue to find the shortest path from a single source node to each node.
[0060] Afterwards, the cloud server divides the calculated distance matrix (denoted by M) into blocks according to the row order and divides it into multiple continuous sub-matrices (denoted by denoted by ), for example, a submatrix is formed from the i-th row to the j-th row in the matrix, and the row order of the matrix is maintained during the block division process. These submatrices are then sent to random data providers in sequence.
[0061] It is further understood that after receiving the submatrix, each data provider removes irrelevant elements in each row and converts the column index and corresponding value of the valid element into a two-tuple, such as (rp, dp). These two-tuples are concatenated into the Rcd array, and the number of valid elements in each row is accumulated and recorded in the Ind array. Based on the above processing, the submatrix is converted into the corresponding distance representation .
[0062] Step S12: Determine a distance list corresponding to the current decentralized network by receiving a distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method.
[0063] In this embodiment, after the cloud server sends each distance array in batches to the corresponding data provider, the data provider determines the corresponding reachable node set and the shortest distance corresponding to each reachable node in the reachable node set by using the received multiple distance arrays to obtain a distance representation. Afterwards, the cloud server receives the distance representation sent by each data provider in the form of secret sharing, and numerically integrates each distance representation to obtain a corresponding integrated distance representation, and then numbers and connects based on the integrated distance representation to determine the distance list corresponding to the current decentralized network. In other words, the cloud server receives the distance representation sent back by each data provider. To integrate, specifically concatenate the Rcd arrays in order and accumulate the Ind arrays in order. Then the cloud server can obtain the distance list of the entire graph, which is the share of RedisList.
[0064] Thus, after this process, the cloud server will obtain a share of the distance representation of the entire graph. In this way, the cloud server can guarantee privacy when computing and storing data, while ensuring that each participant can only access the required part of the data and cannot obtain the private information of other data providers. Finally, the distance representation of the entire graph is effectively shared and ready for the subsequent online computation phase.
[0065] Furthermore, it should be pointed out that in this scheme, the only information shared between all participants is the number of vertices and edges in the graph, while the actual values are kept confidential. In order to optimize storage overhead and facilitate centrality calculation, a new distance representation method called RedisList is proposed based on the inspiration of edge list representation, which is a preset graph distance representation method, expressed as , used to store the reachable nodes of all nodes and their corresponding shortest distances. In addition, if stored in the form of secret sharing, its representation needs to add additional double brackets: . The array Rcd is a list of reachable nodes organized by vertex (i.e., node), which contains reachable nodes and their corresponding distances. The array Rcd first stores all reachable nodes of vertex 0, followed by the reachable nodes of vertex 1, and so on. Similar to the index array, the length of the Ind array is ,in, Represents the number of all nodes in the entire graph. Each node in the graph , at the front of the array In the Ind array, each index corresponds to a node identifier, and the value of Ind[v] indicates the position of the first reachable node of node v in the Rcd array. Finally, Ind[|V|+1] stores the value of |Rcd|. The Ind array has an obvious feature: for any vertex v, the size of its reachable node set can be calculated by To get the space complexity of this data structure is ,Considering the sparsity of social networks, the total number of reachable nodes is usually small, ,so the data structure proposed in this scheme is more efficient in ,space utilization than the traditional distance matrix.
[0066] Step S13: After receiving the query request sent by the preset analysis party, the current optimal seed set is determined from the nodes included in the current window using the preset safe seed set exploration protocol based on the iterative strategy, the distance list and the seed set size information in the query request, and the current window is expanded based on the current optimal seed set.
[0067] In this embodiment, in order to obtain the node set with the highest centrality, the preset analysis party first sends a query request to the cloud server to specify the required seed set size. After receiving the query request, the cloud server will determine the corresponding seed set to be explored from the graph corresponding to the current decentralized network based on the seed set size information in the query request, and will perform multiple rounds of security window expansion and seed set exploration. During the whole process, security centrality calculations will be repeated to support each round of expansion and exploration.
[0068] Specifically, regarding the calculation of security centrality in each round, for example, given a graph G(V, E) and a seed set S⊂V, the group proximity centrality of the seed set S is Defined as:
[0069] ;
[0070] in, is the set of vertices that can be reached from at least one node in the seed set S. The seed set closeness centrality can also be expressed as:
[0071] ;
[0072] in, is the distance, farness, of the seed set S. In order to calculate the centrality of a set of nodes, namely the seed set, two key parameters are required: the size of the reachable node set, that is, the number of reachable nodes Since centrality metrics are frequently used throughout the protocol, efficiently computing these two key parameters is a crucial issue.
[0073] The calculation method in this embodiment accepts a seed set S and a distance list As input, it returns the distance set of the seed set S , and the number of reachable nodes and distance Among them, the symbol Represents the secret sharing form of x.
[0074] For any seed set to be explored, first, an approximate optimal seed set is obtained based on the distance matrix and the greedy algorithm, and the seed set is used as the initial current window. In the initial window, a length of ORAM array (Oblivious Random Access Machine) , and set the value of each entry to , indicating that all nodes are unreachable, is used to store distance information to obtain the current window after initialization. Next, an ORAM Read operation is performed on the current window to obtain Retrieve a seed set from an array The first node in The starting index of the Traverse each seed, that is, the node in the seed set, to obtain all nodes reachable from the seed, and record the distances to these nodes, store them in the array [[D]], to obtain the shortest distance array corresponding to the current seed set to be explored. During the traversal process, it is also necessary to constantly check whether there is a shorter distance If there is a shorter distance, an ORAM Write operation is called to update The distance value of the corresponding position in is the shorter distance. Move to the starting position of the next node in the seed set, and it is considered that the reachable node set of the current node has been visited. Then get the starting position of the next seed and continue traversing. Finally, traverse array, and safely compare each element with the value Compare to check whether the two are equal to determine the size of the reachable node set of the current seed set S and calculate the distance , that is, determining the first reachable node set size information and the first distance information corresponding to the current seed set to be explored.
[0075] After that, the corresponding seed set centrality information can be determined by substituting the reachable node set size information and distance information corresponding to the current seed set to be explored into the above formula, and the current optimal centrality can be determined using the seed set centrality information. , we can use its upper bound to determine whether it is necessary to further traverse it. From the formula, we can see that the upper bound of the centrality can be calculated by the upper bound of the reachable node set and the lower bound of the shortest distance array.
[0076] For any partial seed set S and , ,in ,have:
[0077] ;
[0078] in, The set of vertices in V except those that have been added to S can be called the candidate seed set. The seed set selected in is represented as , adding it to S, it is expressed as ,in ,and , express , which means the number of nodes that need to be added to the current seed set S to obtain the optimal seed set of length k; , is the previous set of the current set S, that is, After adding a node in S, we can get S. Correspondingly, the seed set distance The calculation formula for the lower bound of is as follows:
[0079] ;
[0080] In the formula, a, b, and p represent three nodes respectively; is the set of reachable points of the set consisting of the three nodes a, b, and p; is the set of reachable points of node a. Based on this feature, this scheme is based on an efficient pruning method that can effectively explore the window to identify the optimal seed set. During the entire process of maximizing the tightness of the security group, the seed set exploration protocol will be executed multiple times within the window. In each round of exploration, a temporary seed set is constructed. , which initially contains only one seed ( , , is the number of nodes in the current window (the first round can also be called the initial window), that is, the window size). For each seed set to be explored and the temporary seed set, its , in order to perform relative distance calculations later, it is also necessary to calculate the upper bound of the centrality of the temporary seed set. Next, find a new seed from the current window W ( , ), add the new seeds to the temporary seed set, and after adding, calculate the size and distance of the reachable node set of the current temporary seed set and the distance of the current temporary seed set relative to the seed set S to be explored . So far, the information required for pruning has been traversed and collected in this way. By using this information from the two seed sets, the upper bound of the centrality of the entire seed set can be predicted by safe fixed-point number division to determine the current optimal seed set without accurately searching the third seed set. That is, the current temporary seed set is determined based on the node information in the initial window W, and the second reachable node set size information and the second distance information corresponding to the current temporary seed set and the target distance information of the current temporary seed set relative to the current seed set to be explored are determined; through fixed-point number division, the first reachable node set size information, the first distance information, the second reachable node set size information, the second distance information and the target distance information, it is determined whether the upper bound of the centrality corresponding to the current seed set to be explored is greater than the current optimal centrality, and when the centrality judgment result is no, the current optimal seed set is determined based on the current optimal centrality.
[0081] It is important to understand that regarding the specific process of pruning using fixed-point division, a safe fixed-point comparison function can be used to determine whether the predicted upper bound of the centrality corresponding to the current seed set to be explored is greater than the current optimal centrality. If it is greater, it means that a better seed set can be found by traversing the remaining nodes. , ,express and Because when hour, can be ignored because it has already been considered in the last window exploration. For each complete seed set ,when (k is the seed set size information in the query request), perform accurate centrality calculations through safe fixed-point number division. Based on the comparison results, we determine whether the current optimal seed set needs to be updated until the current optimal seed set is obtained. Otherwise, update the current temporary seed set based on the node information in the initial window, update the upper bound of the reachable node set and the lower bound of the distance respectively, and use the new current temporary seed set to jump back to the step of determining the second reachable node set size information and the second distance information corresponding to the current temporary seed set, as well as the target distance information of the current temporary seed set relative to the current seed set to be explored.
[0082] At the same time, regarding the expansion of the safety window, in order to efficiently identify potential optimal seed sets and improve pruning efficiency, this embodiment maintains a set of nodes, called a window, that is, vertices that are more likely to become members of a high centrality seed set should be added to the window first. The seed set exploration protocol is only executed on the nodes within the specified window, which helps to efficiently identify high centrality seed sets that are better than seed sets formed by vertices outside the window. In order to identify the optimal seed set (i.e., the exact solution), the window needs to be gradually expanded until it covers all vertices in the graph.
[0083] When the window needs to be expanded, a seed candidate set is first constructed, which contains all , and then select the nodes outside the window and add them to the existing window. The seed candidate set is created by sorting each node v by the centrality of the new seed set, which is generated by replacing the nodes in S with v (i.e. ), where each s∈ , each ). The protocol then adds the selected vertices to the window, effectively doubling the size of the window (i.e., the new window is twice the size of the original window).
[0084] In order to perform window expansion, first based on the number of nodes in the graph corresponding to the current decentralized network Initialize the random access machine array and set the value of each entry to 0 to obtain the second array ; The second array is used to determine whether each node in the graph has been included in the current window. After that, it is determined whether the number of target nodes in the graph outside the current window supports triggering the window expansion operation to obtain the corresponding expansion judgment result. In other words, it is determined whether there are enough nodes outside the window to support a window expansion. If not, the remaining nodes are directly added to the window, so that If there is, then traverse all nodes outside the window, replace the nodes in the current optimal seed set in turn, and calculate the seed set centrality information of the new current optimal seed set after each replacement. Then, use the highest centrality as the sorting criterion, and use the casual cardinality sorting method to sort the centrality information of various subsets to obtain the corresponding sorting results. Then select the previous Nodes are added to the window, thereby expanding the window to obtain a new current window. In addition, the results are stored in Arrays and The purpose of these two arrays is to store nodes and record the maximum centrality that can be achieved by replacing the current seed set with each node, which will be used as the basis for sorting.
[0085] Furthermore, we need to introduce the overall protocol for securely computing the group closeness maximization problem. In the initial stage, we first define a secret sharing array , whose length is , initialize it to In an MPC (Secure MultiParty Computation) environment, in order to prevent loop conditions from leaking arrays To get the corresponding relationship between the elements in the array, you need to first The order of the nodes is randomized to ensure that the cloud server cannot infer the specific nodes being traversed. The secure Dijkstra algorithm is then called to complete the calculation of the single-source shortest path for all nodes, and the distance arrays obtained are integrated into a distance matrix. In order to reduce the extra computational overhead caused by irrelevant elements in the distance matrix, the distance matrix is converted into a RedisList. However, in the MPC setting, it is still a major challenge to effectively remove irrelevant elements from the matrix and construct a RedisList without showing the number of reachable nodes. To this end, the cloud server divides the calculated distance matrix M into multiple consecutive sub-matrices according to the order of rows. , for example, form a submatrix from row i to row j, ensuring that the order of the matrix rows is maintained during the block division process. Send these submatrices to random data providers in order.
[0086] After receiving the submatrix, each data provider removes irrelevant elements in each row and converts the column index and corresponding value of the valid element into a two-tuple, such as These two-tuples are concatenated into the Rcd array, and the number of valid elements in each row is accumulated and recorded in the Ind array. Based on the above processing, the submatrix is converted into the corresponding distance representation The cloud server represents the distance in the form of RedisList sent back by each data provider. To integrate, concatenate each Rcd array in order, and accumulate the Ind array in order. Then each cloud server can obtain the RedisList share of the entire graph.
[0087] Then initialize a length of The ORAM array W is used to maintain a window (i.e., the current window). Based on the distance matrix M, a safe greedy algorithm can be used to efficiently obtain a highly centralized seed set. , used to initialize window W.
[0088] Step S14: If the current window does not contain the nodes in the graph corresponding to the current decentralized network, then based on the current window, jump again to the step of determining the current optimal seed set using the preset secure seed set exploration protocol based on the iteration strategy, the distance list, and the seed set size information in the query request, until the current window contains the nodes in the graph corresponding to the current decentralized network, perform secure seed set exploration again through the current window, and determine the obtained current optimal seed set as the target seed set corresponding to the query request, so as to return the target seed set to the preset analysis party.
[0089] In this embodiment, the current window will be gradually expanded to explore all possible seed sets within the window to find the optimal seed set until the window contains all vertices in the graph. Finally, the optimal seed set It can be determined through the final iteration of the maximum window and used as the target seed set corresponding to the query request.
[0090] It is also necessary to understand that the cloud server will return the optimal seed set after encryption to the preset analysis party, and the preset analysis party can reconstruct it locally to obtain the node set with the highest centrality. That is, the target seed set corresponding to the query request is encrypted to obtain the encrypted seed set; the encrypted seed set is returned to the preset analysis party so that the preset analysis party can reconstruct the target seed set based on the encrypted seed set.
[0091] Throughout the above process, the data provider will ensure that its input graph remains private and will not be leaked to the cloud server.
[0092] In summary, the solution described in this embodiment has the following benefits:
[0093] 1) As the first privacy-preserving scheme for the group closeness maximization problem, this scheme allows multiple data providers to jointly find the node group with the highest centrality while ensuring that their respective input graph data are not leaked;
[0094] 2) The solution proposes a new graph distance representation method, namely the preset graph distance representation method, named RedisLis, which is used to store reachable points and their shortest distance information. This structure is more suitable for centrality calculation scenarios and has significantly improved performance compared to traditional distance matrices.
[0095] 3) The scheme also proposes a secure seed set exploration protocol based on an iterative strategy, which efficiently identifies the optimal seed set in a multi-party computing environment through an effective pruning method;
[0096] 4) It can be well applied to the situation where network data is held by multiple parties, and complete secure calculations without leaking private information;
[0097] 5) Provable security and efficiency.
[0098] It can be seen that this application proposes a privacy protection scheme for the problem of maximizing group intimacy. Specifically, through the cloud server, after obtaining the graph data sent by multiple data providers in the form of secret sharing, the distance list corresponding to the current decentralized network is determined based on the preset graph distance representation method, and after receiving the query request sent by the preset analysis party, the current optimal seed set screening and current window expansion are performed multiple rounds through the preset secure seed set exploration protocol based on the iterative strategy, the distance list and the seed set size information in the request, until the current window is expanded to include all nodes in the graph corresponding to the current decentralized network, and the target seed set is screened out again through exploration. In this way, the optimal seed set can be efficiently identified in a multi-party computing environment, and the security of the computing process can be improved.
[0099] Combine the following Figure 2 The system framework schematic diagram disclosed in the figure specifically illustrates the technical solution of the embodiment of the present application.
[0100] Combination Figure 2 As shown, in a specific embodiment, a system for maximizing group closeness in a decentralized network based on secure multi-party computing involves three entities: data providers, cloud servers, and analysts (i.e., preset analysts), wherein there are three cloud servers, and the three entities work together as follows: Figure 2 CS (Cloud Server) 1, CS2, and CS3 in the figure. CS1 is used for preprocessing, that is, receiving the encrypted graph sent by the data provider in the form of secret sharing, and performing security distance calculation to obtain the total distance information of the entire graph. After receiving the analyst's query request, based on the seed set size information k, CS2 and CS3 jointly perform centrality calculation based on the preset security seed set exploration protocol, implement multiple rounds of security seed set exploration and security window expansion, so as to determine the target seed set corresponding to the query request, and CS2 returns it to the analyst.
[0101] See also Figure 3 As shown, the embodiment of the present application also discloses a device for maximizing group compactness in a decentralized network based on secure multi-party computing, which is applied to a cloud server and includes:
[0102] The distance information determination module 11 is used to, after obtaining the graph data sent by multiple data providers in the form of secret sharing, perform single-source shortest path calculation on each of the data providers as a source node to determine the corresponding distance information;
[0103] A distance list determination module 12 is used to determine a distance list corresponding to the current decentralized network by receiving a distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method;
[0104] The seed set exploration module 13 is used to determine the current optimal seed set from the nodes included in the current window by using the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request after receiving the query request sent by the preset analysis party, and expand the current window based on the current optimal seed set;
[0105] The target seed set determination module 14 is used to jump again to the step of determining the current optimal seed set based on the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request if the current window does not contain the nodes in the graph corresponding to the current decentralized network, until the current window contains the nodes in the graph corresponding to the current decentralized network, perform safe seed set exploration again through the current window, and determine the obtained current optimal seed set as the target seed set corresponding to the query request, so as to return the target seed set to the preset analysis party.
[0106] Among them, for more specific working processes of the above-mentioned modules, please refer to the corresponding contents disclosed in the aforementioned embodiments, which will not be repeated here.
[0107] It can be seen that this application proposes a privacy protection scheme for the problem of maximizing group intimacy. Specifically, through the cloud server, after obtaining the graph data sent by multiple data providers in the form of secret sharing, the distance list corresponding to the current decentralized network is determined based on the preset graph distance representation method, and after receiving the query request sent by the preset analysis party, the current optimal seed set screening and current window expansion are performed multiple rounds through the preset secure seed set exploration protocol based on the iterative strategy, the distance list and the seed set size information in the request, until the current window is expanded to include all nodes in the graph corresponding to the current decentralized network, and the target seed set is screened out again through exploration. In this way, the optimal seed set can be efficiently identified in a multi-party computing environment, and the security of the computing process can be improved.
[0108] In some specific embodiments, the distance information determination module 11 can be specifically used to take each of the data providers as a source node; for any source node, use a forgetting priority queue to calculate the shortest path from the current source node to each node in the graph corresponding to the current decentralized network to determine the distance array corresponding to the current source node; and determine the distance matrix by integrating the distance arrays corresponding to each of the source nodes.
[0109] In some specific embodiments, the distance list determination module 12 may specifically include:
[0110] A matrix partitioning unit, used for partitioning the distance matrix into blocks according to the row order of the distance matrix to obtain a plurality of sub-matrices;
[0111] A submatrix sending unit, configured to send each of the submatrices to the corresponding data provider according to a row order, so that the data provider determines a corresponding reachable node set and a shortest distance corresponding to each reachable node in the reachable node set by using the received submatrix to obtain a distance representation;
[0112] a distance representation acquisition unit, configured to receive the distance representations sent by each of the data providers in a secret sharing form, and numerically integrate each of the distance representations to obtain a corresponding integrated distance representation;
[0113] The distance list determination unit is used to perform numbering and connection based on the integrated distance representation to determine a distance list corresponding to the current decentralized network.
[0114] In some specific embodiments, the target seed set determination module 14 may specifically include:
[0115] A seed set encryption unit, used for encrypting a target seed set corresponding to the query request to obtain an encrypted seed set;
[0116] The seed set returning unit is used to return the encrypted seed set to the preset analysis party, so that the preset analysis party reconstructs the target seed set based on the encrypted seed set.
[0117] In some specific embodiments, the seed set exploration module 13 may specifically include:
[0118] A to-be-explored seed set determination unit, configured to determine a corresponding to-be-explored seed set from a graph corresponding to the current decentralized network based on the seed set size information in the query request;
[0119] A first array initialization unit is used to obtain an approximate optimal seed set for any of the seed sets to be explored based on the distance matrix and the greedy algorithm, and use the seed set as the initial current window;
[0120] A shortest distance array determination unit is used to retrieve the starting index of each node in the current to-be-explored seed set from the distance list in sequence by performing a read operation on the nodes included in the current window, and update an array for recording the shortest distance corresponding to the current to-be-explored seed set using the obtained search results, with the corresponding shortest distance array;
[0121] A comparing unit, configured to determine first reachable node set size information and first distance information corresponding to the current seed set to be explored by comparing each element in the shortest distance array with the number of nodes;
[0122] An optimal centrality determination unit, configured to determine the corresponding seed set centrality information based on the reachable node set size information and distance information corresponding to the current seed set to be explored, and determine the current optimal centrality using the seed set centrality information;
[0123] A target distance determination unit, configured to determine a current temporary seed set based on the node information in the initial window, and determine the size information and second distance information of a second reachable node set corresponding to the current temporary seed set and target distance information of the current temporary seed set relative to the current seed set to be explored;
[0124] The current optimal seed set determination unit is used to determine whether the upper bound of the centrality corresponding to the current seed set to be explored is greater than the current optimal centrality through fixed-point number division, the first reachable node set size information, the first distance information, the second reachable node set size information, the second distance information and the target distance information, and determine the current optimal seed set based on the current optimal centrality when the centrality judgment result is no.
[0125] In some specific embodiments, the device for maximizing group compactness in a decentralized network based on secure multi-party computing may further include:
[0126] A seed set updating unit is used to update the current temporary seed set based on the node information in the initial window if the centrality judgment result is yes, and use the new current temporary seed set to jump again to the step of determining the second reachable node set size information and the second distance information corresponding to the current temporary seed set and the target distance information of the current temporary seed set relative to the current seed set to be explored, until the current optimal seed set is determined.
[0127] In some specific embodiments, the device for maximizing group compactness in a decentralized network based on secure multi-party computing may further include:
[0128] A second array initialization unit is used to perform random access machine array initialization based on the number of nodes in the graph corresponding to the current decentralized network to obtain a second array; the second array is used to determine whether each node in the graph has been included in the current window;
[0129] A window extension judgment unit, used to judge whether the number of target nodes outside the current window in the graph supports triggering a window extension operation, so as to obtain a corresponding extension judgment result;
[0130] A node replacement unit, configured to replace the nodes in the current optimal seed set in sequence based on the nodes outside the current window in the graph if the extension judgment result is yes, and calculate the seed set centrality information of the new current optimal seed set after each replacement;
[0131] A centrality sorting unit, used to select the highest centrality as a sorting criterion and sort the centrality information of each seed set using an inadvertent cardinality sorting method to obtain a corresponding sorting result;
[0132] The window expansion unit is used to expand the current window based on the sorting result to obtain a new current window.
[0133] Furthermore, the present application also discloses an electronic device. Figure 4 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content in the diagram cannot be regarded as any limitation on the scope of use of the present application.
[0134] Figure 4 A schematic diagram of the structure of an electronic device 20 provided in an embodiment of the present application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the method for maximizing group density in a decentralized network based on secure multi-party computing disclosed in any of the aforementioned embodiments. In addition, the electronic device 20 in this embodiment may specifically be an electronic computer.
[0135] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.
[0136] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.
[0137] The operating system 221 is used to manage and control the hardware devices and computer program 222 on the electronic device 20, which can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program that can be used to complete the method for maximizing group density in a decentralized network based on secure multi-party computing performed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks.
[0138] Furthermore, the present application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the aforementioned disclosed method for maximizing group compactness in a decentralized network based on secure multi-party computing is implemented. The specific steps of the method can be referred to the corresponding contents disclosed in the aforementioned embodiments, and will not be repeated here.
[0139] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0140] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0141] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0142] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0143] The technical solution provided by the present application is introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technicians in this field, according to the idea of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A method for maximizing group density in a decentralized network based on secure multi-party computing, characterized in that: Applied to cloud servers, including: After obtaining graph data sent by multiple data providers in the form of secret sharing, single-source shortest path calculation is performed on each of the data providers as a source node to determine corresponding distance information; Determine a distance list corresponding to the current decentralized network by receiving a distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method; After receiving the query request sent by the preset analysis party, determine the current optimal seed set from the nodes included in the current window by using the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request, and expand the current window based on the current optimal seed set; If the current window does not contain the nodes in the graph corresponding to the current decentralized network, then based on the current window, the method jumps back to the step of determining the current optimal seed set using the preset secure seed set exploration protocol based on the iterative strategy, the distance list, and the seed set size information in the query request, until the current window contains the nodes in the graph corresponding to the current decentralized network, and then performs secure seed set exploration again through the current window, and determines the obtained current optimal seed set as the target seed set corresponding to the query request, so as to return the target seed set to the preset analysis party.
2. The method for maximizing group density in a decentralized network based on secure multi-party computing according to claim 1, characterized in that: The single-source shortest path calculation is performed on each of the data providers as a source node to determine the corresponding distance information, including: Taking each of the data providers as a source node; For any source node, the shortest path from the current source node to each node in the graph corresponding to the current decentralized network is calculated using the forgetting priority queue to determine the distance array corresponding to the current source node; A distance matrix is determined by integrating the distance arrays corresponding to the source nodes.
3. The method for maximizing group compactness in a decentralized network based on secure multi-party computing according to claim 2, characterized in that: The receiving the distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method to determine a distance list corresponding to the current decentralized network includes: Dividing the distance matrix into blocks according to the row order of the distance matrix to obtain a plurality of sub-matrices; Sending each of the sub-matrices to the corresponding data provider according to the row order, so that the data provider determines the corresponding reachable node set and the shortest distance corresponding to each reachable node in the reachable node set by using the received sub-matrix to obtain a distance representation; receiving the distance representations sent by each of the data providers in a secret sharing form, and numerically integrating each of the distance representations to obtain a corresponding integrated distance representation; The distance list corresponding to the current decentralized network is determined by numbering and connecting based on the integrated distance representation.
4. The method for maximizing group density in a decentralized network based on secure multi-party computing according to claim 1, characterized in that: The step of returning the target seed set to the preset analysis party includes: Encrypting the target seed set corresponding to the query request to obtain an encrypted seed set; The encrypted seed set is returned to the preset analysis party so that the preset analysis party reconstructs the target seed set based on the encrypted seed set.
5. The method for maximizing group density in a decentralized network based on secure multi-party computing according to claim 2, characterized in that: The method of determining the current optimal seed set from the nodes included in the current window by using the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request includes: Determine a corresponding seed set to be explored from a graph corresponding to the current decentralized network based on the seed set size information in the query request; For any of the seed sets to be explored, an approximate optimal seed set is obtained based on the distance matrix and the greedy algorithm, and the seed set is used as the initial current window; By performing a read operation on the nodes included in the current window, the starting index of each node in the current seed set to be explored is retrieved from the distance list in turn, and an array for recording the shortest distance corresponding to the current seed set to be explored is updated with the corresponding shortest distance array using the obtained retrieval results; By comparing each element in the shortest distance array with the number of nodes, the first reachable node set size information and the first distance information corresponding to the current seed set to be explored are determined; Determine the corresponding seed set centrality information based on the reachable node set size information and distance information corresponding to the current seed set to be explored, and determine the current optimal centrality using the seed set centrality information; Determine a current temporary seed set based on the node information in the initial window, and determine the size information and second distance information of a second reachable node set corresponding to the current temporary seed set and target distance information of the current temporary seed set relative to the current seed set to be explored; Through fixed-point number division, the first reachable node set size information, the first distance information, the second reachable node set size information, the second distance information and the target distance information, it is determined whether the upper bound of the centrality corresponding to the current seed set to be explored is greater than the current optimal centrality, and when the centrality judgment result is no, the current optimal seed set is determined based on the current optimal centrality.
6. The method for maximizing group compactness in a decentralized network based on secure multi-party computing according to claim 5, characterized in that: After determining whether the upper bound of the centrality corresponding to the current seed set to be explored is greater than the current optimal centrality by using the fixed-point number division, the first reachable node set size information, the first distance information, the second reachable node set size information, the second distance information and the target distance information, the method further includes: If the centrality judgment result is yes, the current temporary seed set is updated based on the node information in the initial window, and the new current temporary seed set is used to jump again to the step of determining the second reachable node set size information and the second distance information corresponding to the current temporary seed set and the target distance information of the current temporary seed set relative to the current seed set to be explored, until the current optimal seed set is determined.
7. The method for maximizing group compactness in a decentralized network based on secure multi-party computing according to claim 1, characterized in that: After determining the current window based on the current optimal seed set, the method further includes: Initializing a random access machine array based on the number of nodes in the graph corresponding to the current decentralized network to obtain a second array; the second array is used to determine whether each node in the graph has been included in the current window; Determine whether the number of target nodes outside the current window in the graph supports triggering a window expansion operation to obtain a corresponding expansion determination result; If the extension judgment result is yes, the nodes in the current optimal seed set are replaced in sequence based on the nodes outside the current window in the graph, and after each replacement, the seed set centrality information of the new current optimal seed set is calculated; The highest centrality is selected as the sorting criterion, and the centrality information of each seed set is sorted by using the casual cardinality sorting method to obtain the corresponding sorting result; The current window is expanded based on the sorting result to obtain a new current window.
8. A device for maximizing group density in a decentralized network based on secure multi-party computing, characterized in that: Applied to cloud servers, including: A distance information determination module is used to, after obtaining graph data sent by multiple data providers in the form of secret sharing, perform single-source shortest path calculation on each of the data providers as a source node to determine the corresponding distance information; A distance list determination module, configured to determine a distance list corresponding to the current decentralized network by receiving a distance representation determined by each of the data providers based on the corresponding distance information and a preset graph distance representation method; A seed set exploration module, configured to determine a current optimal seed set from nodes included in a current window by using a preset safe seed set exploration protocol based on an iteration strategy, the distance list and the seed set size information in the query request after receiving a query request sent by a preset analysis party, and to expand the current window based on the current optimal seed set; The target seed set determination module, if the current window does not contain the nodes in the graph corresponding to the current decentralized network, then jumps back to the step of determining the current optimal seed set from the nodes included in the current window using the preset safe seed set exploration protocol based on the iteration strategy, the distance list and the seed set size information in the query request based on the current window, until the current window contains the nodes in the graph corresponding to the current decentralized network, and then performs safe seed set exploration again through the current window, and determines the obtained current optimal seed set as the target seed set corresponding to the query request, so as to return the target seed set to the preset analysis party.
9. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the method for maximizing group compactness in a decentralized network based on secure multi-party computing as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: Used to store a computer program, which, when executed by a processor, implements the method for maximizing group compactness in a decentralized network based on secure multi-party computing as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Secure spatial network query method based on secure partition tree
CN110287392A
Influence maximization method and system based on group in social network
CN112214689A
Searching method, device and equipment for household appliance network diagram based on secure multi-party computing
CN117993020A
Social network key node set identification method and system based on group propagation, and storage medium
CN119179857A
Group communication and service optimization system
US20200177683A1