Privacy graph calculation method and device
By dividing the nodes in the graph into the first and second categories, and performing calculations in homomorphic encryption form of encryption keys, the problem of high communication complexity in multi-party privacy graph calculation is solved, and an efficient privacy graph is achieved Compute, significantly improves processing speed and reduces traffic.
Patent Information
- Application Number
- CN202411486372.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-22
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2044-10-22
AI Technical Summary
The existing multi-party privacy graph computing technology has a high communication complexity when the graph data is large, which affects the graph computing efficiency and becomes a bottleneck in privacy graph computing.
By dividing the nodes in the graph into first and second types of nodes, homomorphic encryption technology is used to calculate in the form of an encryption key, and parameter information is synchronized during the calculation cycle, using secret sharing form and homomorphic encryption Transform between forms to reduce traffic.
Effectively saves traffic, improves the efficiency of privacy graph calculation between the two parties, and reduces the communication complexity of single-round iteration to O(|V|), which significantly improves execution speed and reduces communication bytes in large-scale graph data processing. number.
Smart Images

Figure CN119293852A_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of the present specification relate to the field of secure computing technology, and in particular, to methods and devices for privacy graph computing. Background Art
[0002] A graph is a data structure consisting of vertices and edges, such as a bipartite graph, a knowledge graph, etc. Graph data processing (graph analysis) can perform multiple rounds of iterative calculations on the graph, and a single round of analysis will obtain a new representation based on the current vertex representation. Graph analysis has been widely used in various fields, such as web page rating, fraud detection, protein classification, etc.
[0003] In actual use, graph data is often distributed among multiple institutions (data parties). In some cases, there is graph data that is not transmitted between institutions because different data parties are unwilling to disclose privacy to each other or data sharing is prohibited. For example, in a financial transfer graph (accounts as graph vertices, transfer records as graph edges), graph data distributed among different financial institutions cannot be directly shared with other financial institutions as highly sensitive data. For graph analysis tasks, a wider range of data will lead to higher quality analysis results. For example, in the scenario of detecting financial fraud on a transfer graph, compared with two financial institutions analyzing based on their respective known transfer graphs, analyzing on the union of the two parties' data may find more potential financial fraud samples and improve the accuracy of the analysis results. However, since sensitive graph data cannot be directly shared with each other, no one party can directly analyze on the union.
[0004] With the development of privacy computing technology, technologies such as obfuscated circuits, secret sharing, and homomorphic encryption have made it possible for multiple participants to analyze the union of their data, and in principle, each participant can only obtain the pre-agreed analysis results, and cannot know other private data. Privacy computing is able to support different participants to provide their own private data and use it as input to obtain calculation results, but the participants will not disclose their own private input data. For example, homomorphic encryption privacy computing technology allows one party to perform operations such as addition and multiplication on data based on the encrypted data content without knowing the plaintext data itself. In the secret sharing privacy computing mode, a single data is split among different participants by addition or other methods, so that no participant can directly know the true value of the data.
[0005] Multi-party private graph computing can be performed by multiple data parties to jointly analyze graphs based on privacy protection. Conventional multi-party private graph computing uses a single encryption technology for private computing under conventional graph computing algorithms, such as secret sharing methods. Therefore, its communication complexity is usually high, which affects the efficiency of graph computing. When the scale of graph data is large, it even becomes a bottleneck for multi-party private graph computing. How to reduce the amount of communication in private graph computing has become an important and challenging issue in graph analysis. Summary of the invention
[0006] One or more embodiments of this specification describe a method and device for privacy graph calculation to solve one or more problems mentioned in the background technology.
[0007] According to a first aspect, a method for privacy graph calculation is provided, which is used for a first party and a second party to jointly perform security graph calculation, the first party holds a first graph, the nodes in the first graph include second-category nodes shared with the second graph held by the second party, and first-category nodes other than the second-category nodes, and in a single calculation cycle of the graph calculation, the method includes: respectively obtaining parameter ciphertexts corresponding to the parameters of each node, wherein the parameter ciphertext is in the form of second key encryption provided by the second party, the parameter ciphertext of a single first-category node is determined locally, and the parameter ciphertext of a single second-category node is securely negotiated and determined with the second party in the form of secret sharing, and securely converted into a synchronization value ciphertext in the form of local homomorphic encryption; using the parameter ciphertexts of each node, performing calculation operations in the form of homomorphic ciphertexts on the nodes in the first graph based on the corresponding parameters, and obtaining each ciphertext corresponding to each node.
[0008] In one embodiment, in an initial computing cycle, the parameter ciphertext of a single first-type node is determined by encrypting the parameters of the single first-type node using a second key; in a non-initial computing cycle, the parameter ciphertext of a single first-type node is determined by the ciphertext calculated in a previous computing cycle.
[0009] In one embodiment, in the initial calculation cycle, the first parameter value of the first party and the second parameter value of the second party of the above-mentioned single second-type node are both in plain text form; the parameter ciphertext of the single second-type node is determined by negotiation with the second party in accordance with a predetermined synchronization strategy in the following manner: when the predetermined synchronization strategy is to take the maximum value or the minimum value, a secure comparison is performed with the second party in the form of secret sharing to determine that the larger value or the smaller value of the first parameter value and the second parameter value is the synchronization value, and a first fragment of the synchronization value is obtained during the security comparison process; when the predetermined strategy is to add or average, the following secure calculation is performed with the second party: the first parameter value is split into the sum of two sub-values, and a sub-value of each of the first parameter value and the second parameter value is exchanged with the second party; the sub-value of the locally retained first parameter value and the sub-value of the second parameter value obtained from the second party are processed according to the predetermined strategy to obtain the first fragment of the synchronization value.
[0010] In one embodiment, in a non-initial calculation cycle, the first party holds the first parameter value ciphertext of the above-mentioned single second-type node, and the second party holds the second parameter value ciphertext of the above-mentioned single second-type node; the parameter ciphertext of the single second-type node is determined by negotiation with the second party in accordance with a predetermined synchronization strategy in the following manner: jointly with the second party, converting the first parameter value ciphertext and the second parameter value ciphertext into plaintext data in a secret sharing form; using the plaintext data in the secret sharing form to perform secure calculations with the second party based on a predetermined synchronization strategy to obtain a first fragment of the synchronization value.
[0011] In one embodiment, for the first node in the first graph, the calculation includes: fusing the parameter ciphertexts of the first node and its neighboring nodes by one of summing, averaging, maximum value, minimum value, median, and weighted summation.
[0012] According to a second aspect, a device for privacy graph calculation is provided, which is used for a first party and a second party to jointly perform security graph calculation, wherein the first party holds a first graph, and the nodes in the first graph include second-class nodes shared with the second graph held by the second party, and first-class nodes other than the second-class nodes; the device includes: an acquisition unit, a calculation unit;
[0013] In a single computation cycle of graph computation:
[0014] The acquisition unit is configured to respectively acquire parameter ciphertexts corresponding to the parameters of each node, wherein the parameter ciphertexts are in a form encrypted by a second key provided by the second party, the parameter ciphertexts of a single first-type node are determined locally, and the parameter ciphertexts of a single second-type node are securely negotiated and determined with the second party in a secret sharing form and securely converted into synchronization value ciphertexts in a local homomorphic encryption form;
[0015] The calculation unit is configured to use the parameter ciphertext of each node to perform calculations in the form of homomorphic ciphertext on the nodes in the first graph based on the corresponding parameters to obtain the ciphertexts corresponding to the nodes respectively.
[0016] In one embodiment, in the initial calculation cycle, the first parameter value of the first party and the second parameter value of the second party of the above-mentioned single second-type node are both in plain text form; the acquisition unit is configured to negotiate with the second party in accordance with a predetermined synchronization strategy to determine the parameter ciphertext of the single second-type node in the following manner: when the predetermined synchronization strategy is to take the maximum value or the minimum value, perform a secure comparison with the second party in the form of secret sharing to determine the larger value or the smaller value of the first parameter value and the second parameter value as the synchronization value, and obtain the first fragment of the synchronization value during the security comparison process; when the predetermined strategy is to add or take the average, perform the following secure calculation with the second party: split the first parameter value into the sum of two sub-values, and exchange one sub-value of the first parameter value and one sub-value of the second parameter value with the second party; process the sub-value of the locally retained first parameter value and the sub-value of the second parameter value obtained from the second party in accordance with the predetermined strategy to obtain the first fragment of the synchronization value.
[0017] In another embodiment, in a non-initial aggregation period, the first party holds the first parameter value ciphertext of the above-mentioned single second-type node, and the second party holds the second parameter value ciphertext of the above-mentioned single second-type node; the acquisition unit is configured to negotiate with the second party in accordance with a predetermined synchronization strategy to determine the parameter ciphertext of the single second-type node in the following manner: jointly with the second party convert the first parameter value ciphertext and the second parameter value ciphertext into plaintext data in a secret sharing form; use the plaintext data in the secret sharing form to perform secure calculations with the second party based on a predetermined synchronization strategy to obtain a first fragment of the synchronization value.
[0018] According to a third aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed in a computer, the computer is caused to execute the method of the first aspect.
[0019] According to a fourth aspect, a computing device is provided, comprising a memory and a processor, wherein an executable code is stored in the memory, and when the processor executes the executable code, the method of the first aspect is implemented.
[0020] Through the method and device provided by the embodiments of this specification, in the privacy graph computing business scenario jointly conducted by two parties, the first party and the second party each hold local graph data. Considering that there are a few public nodes in the computing process, the nodes in the graph data are classified and divided into the second type of nodes as public nodes and the first type of nodes as non-public nodes. In order to save communication volume, the overall architecture adopts a calculation method in which the first party and the second party each calculate in the homomorphic encryption form of the other party's encryption key. For the second type of nodes, since the two parties may have different parameters for calculation, the parameter information of the two parties is synchronized in each calculation cycle. The parameter information synchronization process is combined with the conversion of the privacy computing form, and finally exists in the ciphertext form of the synchronization value, so that the first party and the second party can each perform homomorphic ciphertext calculations locally. In this way, the communication volume can be reduced to the communication during the synchronization process of the parameter information of the second type of nodes, which effectively saves the communication volume and greatly improves the efficiency of the privacy graph calculation of the two parties. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.
[0022] Figure 1 A schematic diagram of an implementation architecture of the technical concept of this specification is shown;
[0023] Figure 2 An interaction diagram of two parties in a calculation cycle in a privacy graph calculation process according to one embodiment is shown;
[0024] Figure 3 An interactive diagram showing the synchronization of parameter values between two parties in a privacy graph computation process of a specific example;
[0025] Figure 4 A flowchart of a privacy graph calculation performed by a first party according to one embodiment is shown;
[0026] Figure 5 A flowchart showing parameter value synchronization performed by a first party during a privacy graph calculation process according to one embodiment is shown;
[0027] Figure 6 A schematic block diagram of a privacy graph computing device according to an embodiment is shown. DETAILED DESCRIPTION
[0028] The technical solution provided in this specification is described below in conjunction with the accompanying drawings.
[0029] Figure 1FIG. 1 shows a specific architecture diagram of graph data involving two parties. Figure 1 As shown, the first party and the second party, as data holders, each hold graph data generated based on the business data of the corresponding business party. The business party here can be a service party that performs a predetermined business, for example, a service party for financial business (such as a bank, a financial service platform, etc.), a service party for communication business (telecom operator), etc. According to different specific business parties, the corresponding business data is different, and the nodes (also recorded as vertices) and connection relationships of the graph data are also different. For example, in financial business, it can correspond to transfer business data, and the corresponding graph data is a transfer relationship graph. The nodes in the graph data can be user identifiers determined by financial accounts, identity identification codes, etc. (such as a bank card number corresponding to a user identifier), and the connection relationship can be a transfer relationship. There is a transfer record between the two nodes connected by a connection edge. For another example, in communication business, it can correspond to telephone call business data, and the corresponding graph data is a call relationship graph. The nodes in the graph data can be a communication account with an independent call function (such as a mobile phone number), and the connection relationship can be a call relationship. There is a call record between the two nodes connected by a connection edge. In this way, the graph data established by a single data party based on the corresponding business data can be a bipartite graph, a knowledge graph, etc. The graph data of a single business party is not necessarily fully connected.
[0030] In some business scenarios, the business data processed by a single business party can be extended to other business parties. For example, inter-bank transfer business in financial business involves the financial accounts of two financial business parties, and call business can also involve communication accounts across telecom operators, that is, interaction. In this way, there may be intersections in the graph data constructed by two data holders who hold the data of two business parties respectively. Figure 1 As shown in the figure, blank circles represent the business entities of the first party (such as financial accounts or communication accounts, etc.), and gray circles represent the business entities of the second party. Since the cross-business data is recorded by the two business parties separately, the account entities of the second party (such as B, D, etc.) may appear in the graph data of the first party, and the account entities of the first party (such as A, C, E, etc.) may appear in the graph data of the second party. In this way, there may be common edges in the graph data of the first party and the second party, such as Figure 1 The bold connecting edges are A→B, C→D, D→E, etc. In this case, graph data analysis may achieve better results under the joint analysis of the first and second parties.
[0031] The two nodes connected by a common edge are usually one on the first party and one on the second party. Therefore, the common edge is usually the data disclosed by the first and second parties. The data of the nodes on the first party (such as A and B) is usually not available to the second party, and the data of the nodes on the second party (such as A and B) is usually not available to the first party. Therefore, the first party and the second party may hold different data for a single common node.
[0032] When the first and second parties perform analysis and calculation based on graph data, they often need to calculate neighbor node information. For example, graph analysis using graph neural networks and PageRank can be performed based on a secure computing architecture while protecting the data privacy of both parties. For example, a single layer of a graph neural network can perform weighted calculations on the representations of neighbor nodes of the current node to update the representation of the current node; a single iteration of PageRank can calculate the weights of each neighbor node of the current node (such as the degree of the node) and use it to update the calculation message of the current node, and the weights of each node are updated in a single iteration based on the weights of neighbor nodes in the previous round. In order to make full use of the data of the public nodes on the first and second parties respectively, the first and second parties can perform joint privacy graph calculations.
[0033] Assuming |V| represents the number of vertices of the graph, and |E| represents the number of edges of the graph, the graph analysis methods used in conventional techniques and their complexity are, for example:
[0034] 1. Use the adjacency matrix to express graph data. When used for graph analysis, the adjacency matrix needs to be scanned once in each iteration, and the communication complexity is O(|V| 2 );
[0035] 2. Based on the two-party garbled circuit representation, the unified garbled circuit list of points and edges is used to express the graph data. In each iteration of graph analysis, the two-tone sorting method is used to reduce the communication complexity to less than the square, which is O((|V|+|E|)log 2 (|V|+|E|));
[0036] 3. Based on the three-party secret sharing representation, a unified list of points and edges is also used to express graph data, but only O((|V|+|E|)log(|V|+|E|)) sorting with communication volume is required in the first round of iteration, and each subsequent round only needs to perform permutation instead of sorting, thus achieving a communication complexity of O(|V|+|E|);
[0037] etc.
[0038] Among the methods listed above, experiments have shown that the bottleneck for reducing their running time lies in the communication part. When the communication complexity is related to the number of edges |E|, the overall communication time is high. Moreover, the solution corresponding to the lowest communication complexity O(|V|+|E|) is often suitable for three-party scenarios, while private graph calculations performed by two parties are more difficult.
[0039] In order to solve the communication bottleneck problem in the privacy graph calculation performed by two parties, the technical concept proposed in this specification divides the nodes in the graph of a single data party into two categories, such as first-category nodes and second-category nodes, respectively. The technical scenario targeted by this specification assumes that both the first party and the second party have graph data constructed based on local business data, such as the first graph and the second graph, respectively. In the interactive business between the first party and the second party, the local node of the first party is connected to the local node of the second party, and the corresponding connecting edge is used as a common edge. The first type of node can be a node whose neighboring nodes are all local nodes, and the second type of node is a node that contains neighboring nodes that are non-local nodes. In other words, the second type of node can be understood as a public node or a node connected by a public edge, that is, a node involved in the interactive business between the first party and the second party (such as inter-bank transfers, inter-operator calls, etc.).
[0040] Under the technical concept of this specification, the first party and the second party can each perform graph calculation under the parameter ciphertext of homomorphic encryption. The parameters here can be various parameters used for calculation, such as node representation vectors in graph neural networks, weights in PageRank-based graph analysis, etc. Specifically, the local holds the ciphertext encrypted by the other party's encryption key (i.e., homomorphic ciphertext), and the other party holds the decryption key corresponding to the encryption key, so that neither party can directly decrypt the calculation result. Depending on whether there is homomorphic multiplication in the graph algorithm, semi-homomorphic or fully homomorphic homomorphic encryption methods can be selected. For the first type of nodes, their initial parameter values or intermediate parameter values are all local. For the second type of nodes, the parameter values held by the other party also need to be considered. Therefore, in each graph calculation cycle, the second type of node parameters held by both parties can be synchronized in the form of secret sharing to determine the shared synchronization value, and the shared synchronization value is converted into the homomorphic ciphertext form of each party, so as to complete the calculation locally in a homomorphic encryption manner, and each party obtains the corresponding calculation result ciphertext based on the local graph calculation. Since the calculation under the homomorphic encryption method does not require communication, the communication volume is reduced to the secret sharing communication in the second type of node synchronization process and the communication in the process of conversion between homomorphic encryption and secret sharing forms, which greatly reduces the communication volume.
[0041] The following is combined with Figure 2 The technical concept of this specification is described in detail with specific examples such as the following.
[0042] like Figure 2As shown, assume that the first party is denoted as P0, the second party is denoted as P1, V is a node, E is a connecting edge, the graph data held by the first party is denoted as {V0, E0}, and the graph data held by the second party is denoted as {V1, E1}. The common edge generated by the first and second parties based on cross-business (both parties can obtain corresponding information) is denoted as {E p}, the nodes connected to them can be determined by the common edges, that is, the second type of nodes, such as {V p In addition, the first party and the second party each hold a key pair, and keep the decryption key (such as called a private key) locally and send the encryption key (such as called a public key) to the other party. Figure 2 In the example, the first party provides the first key Pk0 to the second party, so that the second party's calculation is performed in the form of homomorphic ciphertext encrypted by the first key Pk0, and the second party provides the second key Pk1 to the first party, so that the first party's calculation is performed in the form of homomorphic ciphertext encrypted by the second key Pk1. The first party and the second party each retain the decryption key corresponding to the first key Pk0 and the second key Pk1, which is used to decrypt the value encrypted by the corresponding key to obtain the plaintext data.
[0043] In the initial case, the first party and the second party can each determine the parameters based on local business data. The parameters here can be determined according to the business objectives or business logic of graph computing or graph analysis, such as the characterization vector of the node (such as a graph analysis framework based on a graph neural network, etc.), or the weight (such as a scalar value of a graph analysis framework based on PageRank, such as the degree of the node, etc.). The parameter is the input data for graph computing. For example, in the business processing process based on graph data, for each node, the parameters of its neighboring nodes can be aggregated to the current node. The calculation result can be called an aggregate message. The calculated parameter can be updated by one of the following: the corresponding aggregate message itself, other information determined according to the aggregate message (such as the node weight obtained by further processing the aggregate message in the graph analysis framework based on PageRank), which is not limited here.
[0044] It can be understood that the second-type nodes coexist in the first party and the second party, but may have different graph calculation parameter values. For example, the first node is any second-type node, and the parameter value of the first node in the first party is recorded as the first parameter value, and the parameter value of the first node in the second party is recorded as the second parameter value. To this end, the first party and the second party can negotiate a common parameter value for each second-type node according to a predetermined synchronization strategy, such as recorded as a synchronization value.
[0045] refer to Figure 2 As shown, the first node V pFor example, the first party and the second party can negotiate the synchronization value corresponding to the first node based on the first parameter value and the second parameter value according to the predetermined synchronization strategy, and the synchronization value is in a secret sharing form between the first party and the second party, and the first party holds the first fragment (V p )0, the second party holds the second shard of the synchronization value (V p )1. The predetermined synchronization strategy may be taking the maximum value, taking the minimum value, taking the median, adding, taking the average, etc.
[0046] At the beginning, the parameter values of both parties are all plain text data locally, so the shared parameter synchronization value can be directly negotiated in the form of secret sharing. For example, when the predetermined method is to take the maximum value or the minimum value, a secure comparison method can be used to determine the two fragments of the corresponding synchronization value in the form of secret sharing. When the predetermined method is to add or average, the first party and the second party can each split the first parameter value and the second parameter value into two sub-values (which can be used as fragments in the form of secret sharing, i.e., share) and add them, and send one of the sub-values to the other party, and the other party processes the received sub-values and the locally retained sub-values according to the predetermined synchronization strategy to obtain the secret sharing form of the synchronization value. Taking the predetermined synchronization strategy as summation as an example, the first party sends the first node V p The first parameter value w in the local p0 Split into two sub-values (w p0 )0 and (w p0 )1, and (w p0 )1 is sent to the second party, and the second party sends the first node V p The local second parameter value w p1 Split into (w p1 )0 and (w p1 )1, and (w p1 )0 is sent to the first party. The first party can p0 )0 and (w p1 )0 sum to determine the first node V p The first shard of the synchronization value, the second party (w p0 )1 and (w p1 )1 sum to determine the first node V p The second shard of the synchronization value. Figure 2 In the first shard set, the parameters of the second type of nodes can be recorded as (V p )0, the second shard set on the second side is recorded as (V p )1.
[0047] In order to perform calculations under homomorphic ciphertext, the parameters of the second type of nodes can be converted from secret sharing form to homomorphic ciphertext form (such as denoted as A2H). pFor example, on the one hand, the first party and the second party can each use the local encryption key to send the first parameter value of the first node or the first fragment (V p )0, the second fragment (V p )1, and the ciphertext (such as Figure 2 Pk0(V p )0 or Pk1(V p )1) is passed to the other party. On the other hand, the first party and the second party can also use the other party's encryption key to encrypt the local fragment and obtain the ciphertext encrypted by the other party's key (such as Figure 2 Pk1(V p )1.Pk0(V p )0). In this way, the first party obtains the first fragment ciphertext Pk1 (V p )0 and the second fragment ciphertext Pk1(V p )1, the second party obtains the first fragment ciphertext Pk0(V encrypted by the encryption key of the first party p )0 and the second fragment Pk0(V p )1, so that the first party and the second party can each use the homomorphic ciphertext to perform addition operations locally to obtain the ciphertext form of the synchronization value of the second type of node. For example, the first party obtains Pk1(V p )=Pk1(V p )0+Pk1(V p )1, the second party obtains Pk0(V p )=Pk0(V p )0+Pk0(V p )1. This realizes the conversion from the secret sharing form of the negotiated synchronization value to the homomorphic ciphertext form.
[0048] In this way, both the first party and the second party can obtain the ciphertext form of each second-type node encrypted with the encryption key of the other party. According to the secure computing rules of homomorphic encryption, the first party and the second party can also use the encryption key of the other party to encrypt the local first-type nodes (such as Figure 2 (V0-V p )、(V1-V p )) is encrypted to obtain the corresponding ciphertext form, such as Pk1(V0-V p )、Pk0(V1-V p). At this point, the first party has obtained the homomorphic ciphertext of the parameters of all local nodes {V0} encrypted by the second party's encryption key (second key), and the second party has obtained the homomorphic ciphertext of the parameters of all local nodes {V1} encrypted by the first party's encryption key (first key), so that each party can use the homomorphic ciphertext of the parameter values of the local graph data to calculate the information of the neighboring nodes to obtain the calculation results. The calculation method varies depending on the business objectives. Specifically, the calculation method can be, for example, summing, averaging, maximizing, minimizing, medianing, weighted summing, etc. of the parameter values of the neighboring nodes (which may or may not include themselves). In Figure 2 In the example, the ciphertext in the calculation result of the first party can be recorded as Pk1(V0), and the ciphertext in the calculation result of the second party can be recorded as Pk0(V1).
[0049] Thus, the initial calculation cycle (such as Figure 2 In the subsequent calculation cycle, the above process is repeated, wherein the parameter value of a single calculation cycle is determined based on the calculation result of the previous round. The parameter value of the subsequent calculation cycle can be the calculation result itself. For example, the parameter value is the current representation of the node in the graph. The node representation calculated by the single-layer graph neural network can be used as the information for the next round of calculation of the corresponding node. The parameter value of the subsequent calculation cycle can also be determined by performing predetermined processing on the calculation result. For example, in the PageRank algorithm, the parameter is the weight of the node, and the calculation result is determined by summing the weights of neighboring nodes. For example, the calculation result of the current node v is w t-1 is the weight corresponding to round t-1 (t = 1, 2, 3, ...), u is the first-order neighbor of v, w is the edge weight, f g 、f s Two algorithms are defined, such as f s is the product, f g To sum, the weight of the current node v can be updated as w t is the updated weight of the current round, f A Defines another algorithm like sum etc.
[0050] The difference between the subsequent calculation cycle and the initial calculation cycle is that the current value synchronization method of the parameters of the second type of nodes is different. According to the foregoing, the first party and the second party can each determine the local parameter ciphertext value of the second type of node based on the current calculation result, and then negotiate to synchronize the parameter synchronization value of the second type of node, and each party obtains the ciphertext form of the synchronization value encrypted by the encryption key of the other party.
[0051] That is, the current value of the parameter of the second type of node can be negotiated in ciphertext form. Taking the first node as an example, after the previous calculation cycle, the first party holds the first parameter value ciphertext Pk1(V p )0, the second party holds the second parameter value ciphertext Pk0(V p )1, the negotiation result is to first obtain the non-ciphertext secret sharing form, such as the first fragment (V p )0 and the second fragment (V p )1, and then convert it into ciphertext form. Figure 3 The negotiation process is described in detail.
[0052] refer to Figure 3 The first party holds the first parameter value ciphertext Pk1(V p )0, the first party can generate a first reference random number, such as y0 (or -y0, the principle is the same, this article takes y0 as an example for description), and encrypt the first reference random number with the second key Pk1, such as Pk1(y0). In this way, the first party can calculate the ciphertext of the sum of the first parameter value ciphertext and the first reference random number in the form of homomorphic encryption, such as the first sum ciphertext: Pk1[(V p )0+y0]=Pk1(V p )0+Pk1(y0). Then, the first party P0 can cipher the first sum value Pk1[(V p )0+y0] is sent to the second party P1. The second party P1 uses the local decryption key (which exists in the form of a key pair with the encryption key Pk1) to decrypt Pk1[(V p )0+y0], we can get the first sum value (V p )0+y0. Thus, the opposite number of the first reference random number held by the first party P0, -y0, and the first sum value (V p )0+y0, which constitutes the secret sharing form of the first parameter value calculated by the first node in the previous round, that is, completing the conversion of the homomorphic ciphertext to the decrypted secret sharing form (such as denoted as H2A).
[0053] Similarly, for the second parameter value ciphertext Pk0(V p )1, the second reference random number y1 generated by the second party can also be used to convert it into a decrypted secret sharing form, such as the fragment obtained by the first party is the second sum value (V p)1-y1, the shard obtained by the second party is the opposite number of the second reference random number -y1. In the form of secret sharing, the synchronization value of the first node (i.e., the parameter shared by both parties) can be determined according to the predetermined synchronization strategies such as taking the maximum value, taking the minimum value, adding, taking the average, etc. described above, and the first party obtains the first shard of the synchronization value, and the second party obtains the second shard of the synchronization value. Taking the addition as an example, the first party can take the two shards -y0 and (V p )1+y1 is added as the first shard of the synchronization value, and the second party can use the two shards held locally -y1 and (V p )0+y0 is added as the second slice of the synchronization value.
[0054] Similar to the initial calculation cycle, in order to perform calculations in the form of homomorphic encryption, the first party may encrypt the first shard of the synchronization value using the encryption key Pk0 of the first party and provide it to the second party, so that the second party can homomorphically sum the second shard encrypted using the encryption key Pk0 of the first party with the encrypted first shard, and obtain the synchronization value ciphertext encrypted using the encryption key Pk0 of the first party at the second party. Similarly, the first party can obtain the synchronization value ciphertext encrypted using the encryption key Pk1 of the second party.
[0055] In this way, the first party can obtain the homomorphic ciphertext of all nodes (including first-type nodes and second-type nodes) encrypted using the second party's encryption key Pk1, and the second party can obtain the homomorphic ciphertext of all nodes encrypted using the first party's encryption key Pk0. Thus, the first party and the second party can each perform calculations in the current calculation cycle in the ciphertext state of the corresponding encryption key.
[0056] In this way, after multiple calculation cycles, the first party and the second party each obtain the calculation results of the local node or the parameters in the previous text. For the second type of node, the first party and the second party can negotiate and synchronize the calculation results or parameters, or they may not negotiate and synchronize the calculation results or parameters. The final calculation results or parameters can be used for subsequent business processing, such as using weights or node representations to analyze the association relationship of nodes.
[0057] Based on the above Figure 2 , Figure 3Based on the principle described, the privacy graph calculation process provided in this specification has an application scenario of two data parties (such as the first party and the second party, referred to as the two parties). In the business data of the first party and the second party, due to the existence of interactive business data, graph-based business processing can be jointly performed. Here, the business subject of the interactive business data is the entity corresponding to the node of the graph data, such as communication number, financial account, etc., interactive business and business between two business subjects, such as transfer, communication, etc. In this way, there are common edges in the graph data of both parties, and the nodes connected by the common edges can be called common nodes, such as recorded as second-class nodes. Other value nodes can be recorded as first-class nodes.
[0058] In the specific business processing process, the first party and the second party can each calculate the calculation parameter value of the neighboring node for the local node to obtain the calculation result. Since the graph data of the first party and the second party have an intersection, that is, common edges and second-class nodes, the two parties can effectively utilize each other's data and improve the accuracy of business processing by jointly performing graph calculations.
[0059] It can be understood that in the graph data of the first party and the second party, the second type of nodes have different calculation parameter values. In order to mutually utilize each other's data, in each calculation cycle of the graph calculation, the common nodes (i.e., the second type of nodes) of the first party and the second party can be synchronized with each other. Assuming that the first node is any node in the second type of nodes, in a single calculation round, the first party and the second party can respectively hold the first parameter value and the second parameter value corresponding to the first node for the first node.
[0060] The first parameter value and the second parameter value here are plaintext data of the corresponding party in the initial calculation cycle. Under the technical concept of this specification, the calculation process is based on the ciphertext encrypted by the other party's encryption key for homomorphic calculation. Therefore, in subsequent calculation cycles (non-initial calculation cycles), the first parameter value and the second parameter value can be in ciphertext form, such as recorded as the first parameter value ciphertext and the second parameter value ciphertext. The ciphertext here is the ciphertext of the corresponding calculation parameter value of the first node based on the encryption key of the other party. The calculation parameter can be the calculation result of the previous calculation round, or it can be determined based on further processing of the calculation result, which is not limited here.
[0061] During the calculation process, for the first node, the first parameter value and the second parameter value are used for synchronization to determine the corresponding synchronization value. During the synchronization process, a secret sharing form can be used, and after the synchronization value is determined, each party converts it into a ciphertext form of the other party's encryption key.
[0062] Figure 4The process of privacy graph calculation according to the embodiment of this specification is shown. The process is executed by a single participant in the privacy graph calculation, such as the first party. The corresponding execution subject is a computer, device, server, etc. with certain computing capabilities corresponding to the first party. Figure 4 As shown, the process of privacy graph calculation performed by the first party may include the following steps: Step 401, respectively obtain the parameter ciphertexts corresponding to the parameters of each node, wherein the parameter ciphertexts are in the form of second key encryption provided by the second party, the parameter ciphertexts of a single first-type node are determined locally, and the parameter ciphertexts of a single second-type node are securely negotiated and determined with the second party in the form of secret sharing, and securely converted into synchronization value ciphertexts in the form of local homomorphic encryption; Step 402, using the parameter ciphertexts of each node, perform homomorphic ciphertext calculations on the nodes in the first graph based on the corresponding parameters to obtain the ciphertexts corresponding to each node.
[0063] First, in step 401, the parameter ciphertext corresponding to the parameters of each node is obtained respectively.
[0064] The parameters here can be various parameters of the node used for graph calculation, such as node representation vectors in graph neural network calculations, node weights in PageRank-based graph analysis, etc.
[0065] According to the data processing rules of homomorphic encryption, the parameter ciphertext here is in the form of encryption with the second key provided by the second party. Usually, the parameter ciphertext of a single first-class node can be determined locally by the first party. In the initial calculation cycle, the parameter ciphertext of a single first-class node is determined by encrypting its calculation parameter plaintext via the second key (the encryption key provided by the second party). In the non-initial calculation cycle, the parameter ciphertext of a single first-class node is determined by its calculation message in the previous calculation cycle, such as the parameter ciphertext calculated under the homomorphic ciphertext in the previous calculation cycle, which is directly used as the parameter of the current calculation cycle.
[0066] The parameter ciphertext of a single second-type node is the synchronization value ciphertext determined through security negotiation with the second party. The security negotiation process includes the conversion between the secret sharing form and the homomorphic encryption form. Figure 5 As shown, the following steps are included.
[0067] Step 501, based on the local first parameter value of the above-mentioned single second-type node and a predetermined synchronization strategy, a first fragment of the synchronization value is obtained by performing a secure calculation with the second party in a secret sharing form.
[0068] It can be understood that the predetermined strategy can be one of adding, averaging, taking the maximum value, taking the minimum value, taking the median, adding, averaging, weighted averaging, etc.
[0069] In the case of the initial calculation cycle, the first parameter value and the second parameter value are the plaintext data of the first party and the second party respectively, which are easier to convert into a secret sharing form. When the predetermined synchronization strategy is to take the maximum value or the minimum value, a secure comparison method is used with the second party to perform a secure calculation, and a secret sharing form of the synchronization value can be obtained, and the first fragment of the synchronization value can be obtained locally. When the predetermined strategy is to add or average, the first party can perform the following secure calculation with the second party: split the first parameter value into the sum of two sub-values (modulus in the secret sharing form), and exchange one sub-value of the first parameter value and the second parameter value with the second party; the sub-value of the first parameter value retained locally and the sub-value of the second parameter value obtained from the second party are processed according to the predetermined synchronization strategy, such as adding or averaging, to obtain the first fragment of the synchronization value.
[0070] In a non-initial calculation cycle, the first parameter value ciphertext and the second parameter value ciphertext are both in local homomorphic ciphertext forms, which can be first converted into a secret sharing form of plaintext, and then processed based on a predetermined synchronization strategy to determine the secret sharing form of the synchronization value between the first party and the second party.
[0071] For example, the first party may generate a first reference random number and determine the opposite of the first reference random number as the first shard of the first parameter value. On the other hand, after encrypting the first reference random number with the second key, homomorphically add it with the first parameter value ciphertext to obtain a first sum ciphertext, and provide the first sum ciphertext to the second party so that the second party can decrypt the first sum ciphertext using the decryption key corresponding to the second key to obtain the first sum as the second shard of the first parameter value. The first sum and the opposite of the first reference random number constitute a secret sharing form of the first parameter value.
[0072] Similarly, the second party can perform similar operations to generate a second reference random number and determine the opposite of the second reference random number as the second shard of the second parameter value. On the other hand, after the second reference random number is encrypted with the first key, it is homomorphically added with the second parameter value ciphertext to obtain the second sum ciphertext, and the second sum ciphertext is provided to the first party. The first party decrypts the second sum ciphertext using the decryption key corresponding to the first key to obtain the second sum as the first shard of the second parameter value. The second sum and the opposite of the second reference random number constitute the secret sharing form of the second parameter value.
[0073] Similar to the initial calculation cycle, the first party can perform a secure calculation with the second party based on the above-mentioned second sum value (the plaintext fragment of the second parameter value) and the opposite number of the first reference random number (the plaintext fragment of the first parameter value) to obtain the first fragment of the synchronization value based on a predetermined synchronization strategy.
[0074] In this way, the corresponding shards of the synchronization value in the form of a secret share can be determined between the two parties.
[0075] In an optional example, other homomorphic encryption to secret sharing conversion methods may be used to determine the secret sharing form of the first parameter value and the second parameter value, and obtain the first fragment of the synchronization value on the first party and the second fragment of the synchronization value on the second party, which will not be repeated here.
[0076] Based on each shard, the secret sharing form can be converted into the homomorphic ciphertext form of the first party and the second party respectively.
[0077] Step 502: Based on the first shard of the synchronization value, the first party and the second party jointly perform a secure conversion from a secret sharing form to a homomorphic encryption form to obtain a synchronization value ciphertext.
[0078] The conversion from secret sharing to homomorphic encryption can be performed in a conventional manner, as illustrated below with a specific example.
[0079] The first party obtains a first ciphertext by encrypting the first slice of the synchronization value with the second key. On the other hand, the second ciphertext can be obtained by receiving the second ciphertext encrypted with the first key from the second party. The first party homomorphically adds the first ciphertext with the second ciphertext obtained from the second party to obtain the synchronization value ciphertext of the first node in the form encrypted with the second key. The second party can obtain a third ciphertext by encrypting the second slice of the synchronization value with the first key. On the other hand, the fourth ciphertext obtained by encrypting the second slice of the synchronization value with the second key can be received from the first party. The second party homomorphically adds the third ciphertext with the fourth ciphertext obtained from the first party to obtain the synchronization value ciphertext of the first node in the form encrypted with the first key.
[0080] Then, through step 402, the parameter ciphertext of each node is used to perform calculations in the form of homomorphic ciphertext on the nodes in the first graph based on the corresponding calculation parameters to obtain the ciphertexts corresponding to the nodes.
[0081] Under the technical concept of this specification, the calculation process of the first party and the second party for graph calculation can be independent of each other. For example, the synchronization value ciphertext obtained by the first party is the synchronization value ciphertext in the form of second key encryption, and constitutes a homomorphic encryption form with the first type of node, both of which are encrypted with the second key, so that each node in the local graph data can be used to perform local graph calculations in the form of homomorphic encryption to obtain the ciphertext of the calculation results of each node in the local graph data. Similarly, the second party can use the parameters in the first key encryption form to perform calculation operations locally.
[0082] Taking the above calculation as the aggregation of neighbor node information as an example, for a single node, the calculation of neighbor node information can be to merge the neighbor node information into the current single node, so as to reflect the correlation features mined through neighbor information on the single node.
[0083] For example, in the graph computing process performed by the graph neural network, each node has a representation vector. The initial representation vector is extracted through the corresponding business data, and the aggregation of neighbor node information is the fusion of the neighbor node representation vector and the current node representation vector. For example, the neighbor node aggregation process of a node u at the kth layer is expressed as: g(u) k =∑W k [(wv) k-1 +b], where W k is the parameter matrix of the kth layer (also the parameter that needs to be determined in the graph learning process), v is the representation vector of a single neighbor node of node u at the k-1th layer, w is the weight of a single neighbor node in the aggregation process of node u, and b is a constant parameter. The fusion result is the calculation result and can be used as the parameter of the next calculation round.
[0084] For another example, in a graph analysis algorithm based on PageRank, the information used for calculation of each node is the node weight, which can be the degree of the node (the number of connected edges) or a value determined by other methods, which is not limited here. The calculation of neighbor nodes is the aggregation of weights, such as the sum of weights. The calculation result is the calculation result, which can be used as the parameter for the next round of calculation, or the weight can be further updated on this basis as the parameter for the next round, such as the weight update is
[0085] In this way, after multiple computing cycles, although the first party and the second party perform local homomorphic ciphertext calculations during the calculation process, based on the second type of nodes, they fully utilize the other party's graph data to achieve joint privacy computing and improve the business effect of the effectiveness of graph analysis.
[0086] Reviewing the above process, in the technical solution provided in this specification, in the privacy graph computing business scenario jointly conducted by two parties, the first party and the second party each hold local graph data. Considering that there are only a few public nodes in the computing process, the nodes in the graph data are classified and divided into the second type of nodes as public nodes and the first type of nodes as non-public nodes. In order to save communication volume, the overall architecture adopts a calculation method in which the first party and the second party each calculate in the homomorphic encryption form of the other party's encryption key. For the second type of nodes, since the two parties may have different parameters for calculation, the public node parameter information of the two parties is synchronized in each calculation cycle. The parameter information synchronization process is combined with the conversion of the privacy computing form, and finally exists in the ciphertext form of the synchronization value, so that the first party and the second party can each perform homomorphic ciphertext calculations locally. In this way, the communication volume can be reduced to the communication in the synchronization process of the second type of node information, which effectively saves the communication volume and greatly improves the efficiency of the privacy graph calculation of the two parties.
[0087] Through complexity analysis, the technical solution provided in this specification can achieve a communication complexity of O(|V|) for a single round of iteration. Compared with the communication complexity of conventional technical solutions, which at least includes the number of edges |E|, the communication complexity of the technical solution provided in this specification is only related to the number of vertices |V|, which greatly reduces the amount of communication in actual use. Experimental results show that on a graph with 100 million connected edges, the execution speed of this solution can be up to 6837 times faster than that of conventional two-party privacy graph analysis solutions such as GraphSC, and the number of communication bytes can be reduced to one-29010th.
[0088] According to another embodiment, a device for private graph computing is also provided, which is used for synchronizing parameters of the second type of nodes as public nodes in a single computing cycle during the joint graph computing process between the first party and the second party. The device can be set in any computer, device, or server with a certain computing capability. Figure 6 As shown, according to an embodiment, a privacy graph calculation apparatus 600 may include an acquisition unit 601 and a calculation unit 602 .
[0089] In a single computation cycle of graph computation:
[0090] The acquisition unit 601 may be configured to respectively acquire parameter ciphertexts corresponding to the parameters of each node, wherein the parameter ciphertexts are in a form encrypted by a second key provided by the second party, the parameter ciphertexts of a single first-type node are determined locally, and the parameter ciphertexts of a single second-type node are securely negotiated and determined with the second party in a secret sharing form and securely converted into synchronization value ciphertexts in a local homomorphic encryption form;
[0091] The calculation unit 602 may be configured to use the parameter ciphertext of each node to perform calculations in the form of homomorphic ciphertext on the nodes in the first graph based on the corresponding parameters, and obtain ciphertexts corresponding to each node.
[0092] In one embodiment: in the initial calculation cycle, the first parameter value of the single second-type node on the first party and the second parameter value on the second party are both in plain text; the acquisition unit 601 can be configured to negotiate with the second party according to a predetermined synchronization strategy to determine the parameter ciphertext of the single second-type node in the following manner:
[0093] When the predetermined synchronization strategy is to take the maximum value or the minimum value, perform a secure comparison in the form of secret sharing with the second party to determine that the larger or smaller value of the first parameter value or the second parameter value is the synchronization value, and obtain the first fragment of the synchronization value during the secure comparison process;
[0094] When the predetermined strategy is summing and averaging, the following security calculation is performed with the second party: the first parameter value is split into the sum of two sub-values, and one sub-value of the first parameter value and the second parameter value is exchanged with the second party; the sub-value of the first parameter value retained locally and the sub-value of the second parameter value obtained from the second party are processed according to the predetermined strategy to obtain the first fragment of the synchronization value.
[0095] In one embodiment, in a non-initial calculation cycle, the first party holds the ciphertext of the first parameter value of the single second-type node, and the second party holds the ciphertext of the second parameter value of the single second-type node;
[0096] The acquisition unit 601 may be configured to determine the parameter ciphertext of a single second-type node through negotiation with the second party according to a predetermined synchronization strategy in the following manner:
[0097] jointly with the second party, converting the first parameter value ciphertext and the second parameter value ciphertext into plaintext data in a secret sharing form;
[0098] The plaintext data in the secret sharing form is used to perform a secure calculation with the second party based on a predetermined synchronization strategy to obtain a first fragment of the synchronization value.
[0099] It is worth mentioning that Figure 6 The device 600 shown is Figure 4 The method described corresponds to Figure 4 The corresponding description in the method embodiment is also applicable to the device 600 and will not be repeated here.
[0100] According to another embodiment, there is also provided a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute a combination of Figure 4 , Figure 5 The method described by et al.
[0101] According to another embodiment of the present invention, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the Figure 4 , Figure 5 The method described by et al.
[0102] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the embodiments of this specification can be implemented by hardware, software, firmware, or any combination thereof. When implemented by software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium.
[0103] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of the technical concept of this specification. It should be understood that the above description is only the specific implementation method of the technical concept of this specification, and is not used to limit the protection scope of the technical concept of this specification. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the embodiments of this specification should be included in the protection scope of the technical concept of this specification.
Claims
1. A method for private graph computing, for a first party and a second party to jointly perform secure graph computing, wherein the first party holds a first graph, and the nodes in the first graph include second-category nodes common to the second graph held by the second party, and first-category nodes other than the second-category nodes, and in a single computing cycle of the graph computing, the method comprises: Obtain parameter ciphertexts corresponding to the parameters of each node respectively, wherein the parameter ciphertexts are in a form encrypted by a second key provided by the second party, the parameter ciphertexts of a single first-type node are determined locally, and the parameter ciphertexts of a single second-type node are securely negotiated and determined with the second party in a secret sharing form, and securely converted into synchronization value ciphertexts in a local homomorphic encryption form; By using the parameter ciphertext of each node, a homomorphic ciphertext calculation is performed on the nodes in the first graph based on the corresponding parameters to obtain the ciphertexts corresponding to each node.
2. The method of claim 1, wherein: In an initial calculation cycle, a ciphertext of a parameter of a single first-type node is determined by encrypting the parameter of the single first-type node using a second key; In a non-initial calculation cycle, the parameter ciphertext of a single first-type node is determined by the ciphertext calculated in the previous calculation cycle.
3. The method of claim 1, wherein: In the initial calculation cycle, the first parameter value of the first party and the second parameter value of the second party of the above single second-type node are both in plain text form; The parameter ciphertext of the single second-type node is determined by negotiation with the second party according to a predetermined synchronization strategy in the following manner: When the predetermined synchronization strategy is to take the maximum value or the minimum value, perform a security comparison in the form of secret sharing with the second party to determine that the larger value or the smaller value of the first parameter value or the second parameter value is the synchronization value, and obtain the first fragment of the synchronization value during the security comparison process; In the case where the predetermined strategy is summing and averaging, the following security calculation is performed with the second party: the first parameter value is split into a sum of two sub-values, and one sub-value of each of the first parameter value and the second parameter value is exchanged with the second party; The subvalue of the first parameter value retained locally and the subvalue of the second parameter value obtained from the second party are processed according to the predetermined strategy to obtain the first fragment of the synchronization value.
4. The method of claim 1, wherein: In a non-initial calculation cycle, the first party holds the ciphertext of the first parameter value of the single second-type node, and the second party holds the ciphertext of the second parameter value of the single second-type node; The parameter ciphertext of the single second-type node is determined through negotiation with the second party in the following manner: jointly with the second party, converting the first parameter value ciphertext and the second parameter value ciphertext into plaintext data in a secret sharing form; The plaintext data in the secret sharing form is used to perform a secure calculation with the second party based on a predetermined synchronization strategy to obtain a first fragment of the synchronization value.
5. The method of claim 1, wherein: For a first node in the first graph, the calculation includes: The parameter ciphertexts of the first node and its neighboring nodes are merged by one of the following methods: summing, averaging, maximum value, minimum value, median, and weighted summation.
6. A device for privacy graph computing, used for a first party and a second party to jointly perform security graph computing, wherein the first party holds a first graph, and the nodes in the first graph include second-type nodes shared with the second graph held by the second party, and first-type nodes other than the second-type nodes; the device comprises: Acquisition unit, calculation unit; In a single computation cycle of graph computation: The acquisition unit is configured to respectively acquire parameter ciphertexts corresponding to the parameters of each node, wherein the parameter ciphertexts are in a form encrypted by a second key provided by the second party, the parameter ciphertexts of a single first-type node are determined locally, and the parameter ciphertexts of a single second-type node are securely negotiated and determined with the second party in a secret sharing form and securely converted into synchronization value ciphertexts in a local homomorphic encryption form; The calculation unit is configured to use the parameter ciphertext of each node to perform calculations in the form of homomorphic ciphertext on the nodes in the first graph based on the corresponding parameters to obtain the ciphertexts corresponding to the nodes respectively.
7. The device of claim 6, wherein: In the initial calculation cycle, the first parameter value of the first party and the second parameter value of the second party of the above single second-type node are both in plain text form; The acquisition unit is configured to determine the parameter ciphertext of a single second-type node through negotiation with the second party according to a predetermined synchronization strategy in the following manner: When the predetermined synchronization strategy is to take the maximum value or the minimum value, perform a security comparison in the form of secret sharing with the second party to determine that the larger value or the smaller value of the first parameter value or the second parameter value is the synchronization value, and obtain the first fragment of the synchronization value during the security comparison process; In the case where the predetermined strategy is summing and averaging, the following security calculation is performed with the second party: the first parameter value is split into a sum of two sub-values, and one sub-value of each of the first parameter value and the second parameter value is exchanged with the second party; The subvalue of the first parameter value retained locally and the subvalue of the second parameter value obtained from the second party are processed according to the predetermined strategy to obtain the first fragment of the synchronization value.
8. The device of claim 6, wherein: In a non-initial calculation cycle, the first party holds the ciphertext of the first parameter value of the single second-type node, and the second party holds the ciphertext of the second parameter value of the single second-type node; The acquisition unit is configured to determine the parameter ciphertext of a single second-type node through negotiation with the second party according to a predetermined synchronization strategy in the following manner: jointly with the second party, converting the first parameter value ciphertext and the second parameter value ciphertext into plaintext data in a secret sharing form; The plaintext data in the secret sharing form is used to perform a secure calculation with the second party based on a predetermined synchronization strategy to obtain a first fragment of the synchronization value.
9. A computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute the method according to any one of claims 1 to 5.
10. A computing device comprising a memory and a processor, characterized in that: The memory stores executable codes, and when the processor executes the executable codes, the method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Federal graph clustering method and device based on distributed graph embedding and readable storage medium
CN114492647A
Multi-party fusion computing system, multi-party fusion computing method and readable storage medium
CN114944935A
Federal map calculation method and device and electronic equipment
CN116186782A
Graph convolutional neural network training method, apparatus and device
CN116527824A
Secure multi-party computing atlas fusion method and system, electronic equipment and medium
CN117933381A