A method, apparatus, device, storage medium, and product for tag propagation.
By using homomorphic encryption algorithms to encrypt and securely aggregate label probabilities, data security risks during label propagation are resolved, enabling privacy-preserving label propagation and ensuring secure data transmission and aggregation among all participants.
Patent Information
- Application Number
- CN202410838301.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-26
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-06-26
AI Technical Summary
Existing label propagation methods use plaintext, which poses a data security risk.
Homomorphic encryption algorithms are used to encrypt and propagate the labeling probabilities, and the encrypted labeling probabilities are securely aggregated during the iterative update process. Public and private keys are used for data encryption and decryption to ensure the secure propagation of labeling information among all participants.
This enables privacy-preserving label propagation in scenarios where the original data does not leave the database, avoiding data security risks and ensuring that the data used during label propagation is usable but not visible, thus improving data security.
Smart Images

Figure CN118869249B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of label propagation technology, and in particular to a label propagation method, apparatus, device, storage medium and product. Background Technology
[0002] Label propagation, one of the most popular graph-based semi-supervised learning methods, is the process of propagating labeled information from labeled data to unlabeled data based on the inherent relationships between them. It obtains the labeling information of unlabeled data by mining the relationships between the data. However, current label propagation schemes use plaintext, leading to data security risks during the process. Summary of the Invention
[0003] This application provides a label propagation method, apparatus, device, storage medium, and product to address the data security risks inherent in the label propagation process in the prior art.
[0004] To achieve the above objectives, embodiments of this application provide a label propagation method, including:
[0005] Obtain the public key generated based on the homomorphic encryption algorithm;
[0006] In this iteration update, the obtained public key is used to encrypt the labeling probability of the participant's own node to obtain the encrypted labeling probability, and it is transmitted to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant.
[0007] The system receives encrypted labeling probabilities transmitted from other participants' nodes to their own unlabeled nodes. The other participants obtain public keys generated based on homomorphic encryption algorithms. In this iteration, they use the obtained public keys to encrypt the labeling probabilities of their own nodes to obtain encrypted labeling probabilities, and then transmit them to their own unlabeled nodes.
[0008] Based on the encrypted label probability received by the participating party this time, the label probability is updated to obtain the updated label probability;
[0009] When the preset iteration stop condition is met, the iteration update stops, and the label of the unlabeled node of the participant is obtained according to the latest labeling probability of the participant.
[0010] As an improvement to the above scheme, if a central node exists, obtaining the public key generated based on the homomorphic encryption algorithm includes:
[0011] The central node receives a first public key sent by a central node; wherein the central node is used to generate its own first private key and first public key using a homomorphic encryption algorithm, and sends the first public key to the participating parties and other participating parties, so that the participating parties and other participating parties use the first public key to encrypt the labeled probability of their own nodes;
[0012] The step of updating the annotation probability based on the encrypted annotation probability received by the participating party to obtain the updated annotation probability includes:
[0013] Based on the propagation probability of each node to the associated unlabeled node belonging to the participant, the encrypted labeling probability received by the participant this time is weighted and summed to obtain the updated encrypted labeling probability.
[0014] The updated encrypted labeling probability is sent to the central node for decryption to obtain the updated labeling probability.
[0015] As an improvement to the above scheme, the step of sending the updated encrypted labeling probability to the central node for decryption to obtain the updated labeling probability includes:
[0016] Generate random numbers;
[0017] The updated encrypted label probability is obfuscated using the first public key and the random number to obtain a first obfuscation result, which is then sent to the central node. The central node is further configured to decrypt the first obfuscation result using the first private key to obtain a first decryption result, which is then returned to the participating party.
[0018] Receive and parse the first decryption result to obtain the updated annotation probability.
[0019] As an improvement to the above scheme, if there is no central node, the public key generated based on the homomorphic encryption algorithm is obtained, including:
[0020] The participant generates its own second public key and second private key using a homomorphic encryption algorithm, and sends the second public key to other participants so that the participants can use the second public key to encrypt the label probability of their own nodes.
[0021] The system receives a third public key from other participants, wherein the other participants also use a homomorphic encryption algorithm to generate their own third public key and third private key, so that the other participants can use the third public key to encrypt the label probability of their own nodes; the other participants also use the third public key to send the third public key to the participants.
[0022] The step of updating the annotation probability based on the encrypted annotation probability received by the participating party to obtain the updated annotation probability includes:
[0023] The encryption label probability received by the participating party this time is divided according to the transmission source to obtain multiple sets of sub-encryption label probabilities;
[0024] For each group of sub-encryption label probabilities, the sub-encryption label probabilities of each group are weighted and summed according to the propagation probability of each node to the associated unlabeled node belonging to the participant itself, so as to obtain the updated sub-encryption label probabilities of each group.
[0025] The updated label probability is obtained based on the sub-encryption label probability of each group after this update.
[0026] As an improvement to the above scheme, the step of obtaining the updated labeling probability based on the updated sub-encryption labeling probability of each group includes:
[0027] For the first set of sub-encryption label probabilities after this update, the second private key is used to decrypt them to obtain the first sub-label probabilities after this update; wherein, the first set of sub-encryption label probabilities refers to the encryption label probabilities of the transmission source being the participant.
[0028] Generate random numbers;
[0029] For the updated second set of sub-encryption label probabilities, the corresponding third public key and the random number are used to obfuscate the data to obtain a second obfuscation result, which is then sent to the corresponding other participants. The other participants also use the third private key to decrypt the received second obfuscation result to obtain a second decryption result, which is then returned to the participants. The second set of sub-encryption label probabilities refers to the encryption label probability when the transmission source is another participant.
[0030] Receive and parse the second decryption result to obtain the updated second sub-label probability;
[0031] The updated sub-label probabilities are summed with the updated second sub-label probabilities to obtain the updated label probabilities.
[0032] As an improvement to the above scheme, the iteration stopping condition includes any of the following:
[0033] The current iteration count has reached the preset maximum number of iterations;
[0034] The change in the labeling probability of unlabeled nodes before and after this iteration is less than the preset change value.
[0035] To achieve the above objectives, embodiments of this application also provide a tag dissemination device, comprising:
[0036] The public key acquisition module is used to obtain the public key generated based on the homomorphic encryption algorithm.
[0037] The transmission module is used to encrypt the labeling probability of a participant's own node using the obtained public key in this iteration update, obtain the encrypted labeling probability, and transmit it to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant.
[0038] The receiving module is used to receive encrypted labeling probabilities transmitted from nodes of other participants to unlabeled nodes associated with the participants themselves. Other participants are used to obtain public keys generated based on homomorphic encryption algorithms. In this iteration update, they use the obtained public keys to encrypt the labeling probabilities of their own nodes to obtain encrypted labeling probabilities, and then transmit them to unlabeled nodes associated with the participants.
[0039] The update module is used to update the annotation probability based on the encrypted annotation probability received by the participant this time, so as to obtain the updated annotation probability.
[0040] The annotation result acquisition module is used to stop iterative updates when a preset iteration stop condition is met, and obtain the labels of the unlabeled nodes of the participant based on the latest annotation probability of the participant.
[0041] To achieve the above objectives, embodiments of this application also provide a tag propagation device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor implements the tag propagation method as described above when executing the computer program.
[0042] To achieve the above objectives, embodiments of this application also provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the tag propagation method as described above.
[0043] To achieve the above objectives, embodiments of this application also provide a computer program product, including a computer program / instructions, which, when executed by a processor, implement the tag propagation method as described above.
[0044] Compared with the prior art, the tag propagation method, apparatus, device, storage medium and product provided in this application embodiment achieves encrypted propagation of tag information among various participants and secure aggregation of tag information by homomorphically encrypting the transmitted tag probability. The final tagging result is consistent with the tagging result directly propagated in the entire fully connected graph, thereby realizing privacy and security tag propagation in the scenario where the original data does not leave the database. It also makes the data usable but invisible in the tag propagation process and avoids data security risks. Attached Figure Description
[0045] Figure 1 This is a flowchart of a tag propagation method provided in an embodiment of this application;
[0046] Figure 2 This is a network architecture diagram of the participating parties provided in an embodiment of this application;
[0047] Figure 3 This is another network architecture diagram of the participating parties provided in the embodiments of this application.
[0048] Figure 4 This is a structural block diagram of a tag dissemination device provided in an embodiment of this application;
[0049] Figure 5 This is a structural block diagram of a tag propagation device provided in an embodiment of this application. Detailed Implementation
[0050] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0051] See Figure 1 , Figure 1 This is a flowchart of a tag propagation method provided in an embodiment of this application. The tag propagation method includes:
[0052] S1. Obtain the public key generated based on the homomorphic encryption algorithm;
[0053] S2. In this iteration update, the obtained public key is used to encrypt the labeling probability of the participant's own node to obtain the encrypted labeling probability, and it is transmitted to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant.
[0054] S3. Receive the encrypted labeling probability transmitted from other participants' nodes to the associated unlabeled nodes belonging to the participant; wherein, other participants are used to obtain the public key generated based on the homomorphic encryption algorithm, and in this iteration update, use the obtained public key to encrypt the labeling probability of their own nodes to obtain the encrypted labeling probability, and transmit it to the associated unlabeled nodes belonging to the participant.
[0055] S4. Based on the encrypted label probability received by the participating party this time, update the label probability to obtain the updated label probability;
[0056] It is understood that the encrypted label probability received by the participating party this time includes: the encrypted label probability of the participating party's own node transmitted to the associated unlabeled node belonging to the participating party, and the encrypted label probability of the other participating party's node transmitted to the associated unlabeled node belonging to the participating party; here, "associated" means associated with a node.
[0057] S5. When the preset iteration stop condition is met, stop the iteration update and obtain the label of the unlabeled node of the participant based on the latest labeling probability of the participant.
[0058] It is understood that the embodiments of this application are applied to participating parties, where participating parties interact with other related participating parties to achieve privacy and security label propagation in scenarios where the original data of multiple participating parties does not leave the database. The label propagation process is the same for each participating party. The following describes the participating parties involved in label propagation:
[0059] Each participant consists of several nodes. Let's assume there are N participants, each represented by A. n n = 1, 2, ..., N indicates that each participant contains m n There are nodes, each with l n Each labeled node and u n m unlabeled nodes n =l n +u n The labeled data of the nth participant is represented as in, If the sum of the datasets contained in the first n participants is represented, then the unlabeled data of the nth participant can be represented using... This indicates that the category label for the nth participant is... The number of categories C is known, and all of them exist in the label data. It is a set to be labeled.
[0060] The label propagation process is also an iterative update process of the labeling matrix (each participant's labeling matrix consists of the labeling probabilities of its own labeled nodes and the labeling probabilities of its unlabeled nodes). Before the iterative update, the edge weights between nodes and their associated nodes in each participant are calculated, and the propagation probability of a node propagating to its associated nodes is calculated based on these edge weights. Furthermore, the labeling matrix of each participant needs to be initialized. The following explains the propagation probability calculation and labeling matrix initialization process:
[0061] Based on the relationships between the nodes, a fully connected graph is created, and its edge weights are calculated as follows:
[0062] ω ij =ln(D ij +1); 1≤i,j≤S N Formula (1)
[0063] Among them, D ij This represents the initial connection strength between node i and node j. Depending on the specific scenario, its meaning can be the number of calls / call duration between the two nodes, etc. S N This represents the total number of nodes across all participants. Since each participant only possesses data for a subset of the nodes, each participant can only calculate a portion of the edge weights ω. ij The value is given by equation (1), where ω is the edge weight calculated by the nth participant. ij S n-1 <i≤S n ,1≤j≤S N .
[0064] To measure the probability of a node's label propagating to its associated nodes via an edge, we define an S. N ×S N The probability transfer matrix T is shown in the following equation:
[0065]
[0066] Among them, T ij Let ω represent the propagation probability from node j to node i. This formula means normalizing each row of the probability propagation matrix T so that the sum of the elements in each row is 0. Similarly, ω... ij Since each participant only possesses a subset of the node's data, each participant can only compute a portion of T. ij If the value is T, then, according to formula (2), the propagation probability calculated by the nth participant is expressed as T. ij S n-1 <i≤S n ,1≤j≤S N .
[0067] At the same time, define an S N Let Y be the label matrix of ×C, and let Y ic =δ(y i (c), where the i-th row represents the label probability of node i, and the c-th column represents the category. If Y ic A value of 1 indicates that node i belongs to category c; otherwise, it is 0. Each participant also possesses only a portion of the label matrix. The label probability calculated by the nth participant is represented as Y. ic S n-1 <i≤S n ,1≤c≤C. Where, Y ic S n-1 <i≤S n-1 +l n ,1≤c≤C represents the labeling probability of labeled nodes, which remains unchanged during the iterative calculation. ic S n-1 +l n <i≤S n-1 +l n +u n ,1≤c≤C represents the labeling probability of unlabeled nodes, which needs to be calculated through an iterative process. To accelerate the convergence of the algorithm, the labeling matrix is initialized according to formula (3), setting its initial value as follows:
[0068]
[0069] Here, δ is the Deta function, which takes the value 1 if the parameters are equal, and 0 otherwise.
[0070] After the propagation probability calculation and annotation matrix initialization are completed, iterative updates begin. In each iteration, each participant calculates the weighted sum of the annotation probabilities transmitted from each node according to formula (4) to update the annotation probability of its own node:
[0071]
[0072] For the nth participant, it only needs to update F. ic S n-1 <i≤S n According to the calculation logic, the nth participant needs to obtain all of Y. ic Only then can the label probability of itself be updated. However, since nodes are not fully connected, it is only necessary to obtain the label probabilities of the nodes associated with itself. Fortunately, each participant has node data associated with it, thus allowing us to obtain the label probabilities that need to be propagated. The set of nodes associated with the unlabeled nodes in the nth participant is... in, This indicates that it exists. Therefore, the annotation matrix that the nth participant needs to obtain is Y. (n) ={Y ic ; i∈I n ,1≤c≤C}, which is the labeling probability of all nodes associated with the unlabeled nodes of the nth participant. This method can reduce data interaction between participants and improve computation speed.
[0073] Based on the above description, to ensure data security in scenarios where the original data does not leave the database, this embodiment of the application uses a homomorphic encryption algorithm to encrypt the labeling probabilities of each participant during the iteration process, ensuring that data is not leaked during label propagation. After the labeling probabilities are encrypted, the encrypted labeling probabilities are obtained, and propagation begins. That is, according to the association relationship between each node, the encrypted labeling probabilities are transmitted to the associated nodes, so that each participant can receive the encrypted labeling probabilities transmitted from the associated nodes. Then, each participant can update its labeling probabilities based on the received encrypted labeling probabilities, obtaining the updated labeling probabilities. When a preset iteration stop condition is met, the iteration update stops, and the labels of the unlabeled nodes of each participant are obtained based on the latest labeling probabilities of each participant.
[0074] This application's embodiments combine homomorphic encryption technology to homomorphically encrypt the annotation probability, enabling encrypted propagation of annotation information among all participants and secure aggregation of the annotation information. The final annotation result is consistent with the annotation result propagated directly throughout the fully connected graph, thereby achieving privacy-preserving label propagation in scenarios where the original data does not leave the database. This makes it more practical, realizes that the data in the label propagation process is usable but not visible, avoids data security risks, and has higher security.
[0075] Furthermore, this application embodiment provides two scenarios: one with a trusted third party, where interactions occur between the participants and between the participants and the trusted third party, resulting in faster computation and higher efficiency; and the other without a trusted third party, where interactions occur between the participants, which has lower requirements and a wider range of applications. These two scenarios will be described below.
[0076] In one optional embodiment, a central node is provided, which acts as a trusted third party and is connected to the networks of each participating party. Furthermore, based on association relationships, the associated participating party networks are connected. Here, it is assumed that participating party 1, participating party 2, and participating party 3 are all associated, and their networks are connected pairwise. The resulting network architecture is as follows: Figure 2 .
[0077] Specifically, the central node uses a homomorphic encryption algorithm to generate its own first private key and first public key, and then sends the first public key to each participant so that each participant can use the first public key to encrypt the labeled probability of their own node.
[0078] Each participant calculates the edge weight according to formula (1) and the propagation probability from each node to the associated node according to formula (2).
[0079] Each participant initializes its own annotation matrix Y according to formula (3). ic S n-1 <i≤S n ,1≤c≤C.
[0080] Start iterative updates:
[0081] In this iteration, each participant uses a homomorphic encryption algorithm and the first public key to encrypt the label probability of their own node, obtaining the encrypted label probability [[Y]. ic ]];S n-1 <i≤S n ,1≤c≤C, and transmit it to the unlabeled nodes of each associated participant. In this way, each unlabeled node of the participant will receive the encrypted label probability transmitted by the nodes associated with the unlabeled node (including the associated nodes belonging to the participant itself and the associated nodes belonging to other participants); here, two square brackets are used to represent homomorphic encryption;
[0082] Each participant updates its own encrypted label probability based on the encrypted label probability it receives this time, and obtains its own updated labeled probability. Specifically, each participant calculates the weighted sum of the encrypted label probabilities it receives this time based on the propagation probability of each node to its own unlabeled nodes, and obtains its own updated encrypted label probability.
[0083] At this point, each participant has obtained the annotation matrix in ciphertext state, which needs to be decrypted before it can be used. Therefore, each participant sends its updated encrypted annotation probability to the central node for decryption, thus obtaining its own updated annotation probability. Specifically, each participant generates random numbers, and the random numbers generated by each participant form a random number matrix. The dimension of each participant's random number matrix is the same as the dimension of the annotation matrix formed by the annotation probabilities of its unlabeled nodes. Each participant uses its first public key and its own generated random numbers to obfuscate its updated encrypted annotation probability, obtaining its own first obfuscation result, which is then sent to the central node. The central node decrypts the result and returns the first decryption result to the corresponding participant. Each participant receives and parses the first decryption result to obtain its own updated annotation probability. Thus, one round of iterative update is completed.
[0084] When each participant meets the preset iteration stopping condition, the iteration update stops, and the label of each unlabeled node is obtained according to its latest labeling probability.
[0085] The following example, using one participant n, illustrates the process of one iteration update:
[0086] In this iteration update, the first public key is used to encrypt the labeling probability of the participant's own node to obtain the encrypted labeling probability, and it is transmitted to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant.
[0087] Receive encrypted labeling probabilities from other participants' nodes and transmit them to the associated unlabeled nodes belonging to the participant; wherein, other participants are used to obtain the first public key, and in this iteration update, use the first public key to encrypt the labeling probabilities of their own nodes to obtain encrypted labeling probabilities, and transmit them to the associated unlabeled nodes belonging to the participant.
[0088] Based on the propagation probability of each node to the associated unlabeled node belonging to the participant, the encrypted labeling probability received by the participant this time is weighted and summed to obtain the updated encrypted labeling probability.
[0089] Understandably, in this step, each participant needs to obtain the labeling probabilities of each node within its own participant in order to update its own labeling matrix. However, this data is distributed among other participants, so it is necessary to aggregate the data in each participant. In the specific calculation process, the m-th participant needs to send the labeling probabilities of the nodes in the m-th participant that are associated with the n-th participant to the n-th participant. As shown in formula (5):
[0090] [[Y ic ]];i∈I n ,1≤c≤C,S m-1 <i≤S m Formula (5)
[0091] In the formula, Let I represent the set of nodes belonging to the m-th participant that are associated with the unlabeled node of the n-th participant; where m equals n, or m ≠ n. Then, for the unlabeled node of the n-th participant, I... n This includes nodes associated with the unlabeled node that belong to the participating party itself, as well as nodes associated with the unlabeled node that belong to other participating parties.
[0092] The updated encryption label probability is obtained by weighted summation according to formula (6):
[0093]
[0094] In the formula, T ik This represents the propagation probability from node k to node i. Since this part of the calculation has already limited the update range to unlabeled nodes, there is no need to redefine the labeling probability of labeled nodes.
[0095] In one optional embodiment, sending the updated encrypted labeling probability to the central node for decryption to obtain the updated labeling probability includes:
[0096] Generate random number R ic Using the first public key and the random number R ic The updated encrypted label probability is obfuscated; specifically, a homomorphic encryption algorithm and the first public key are used to obfuscate the random number R. ic Encryption yields [[R] ic ]];S n-1 +l n <i≤S n ,1≤c≤C; Summing the encrypted random number and the updated encrypted label probability yields the first obfuscation result.
[0097] The first obfuscation result is sent to the central node, which then uses the first private key to decrypt it, obtaining the first decryption result. The central node returns the first decryption result to the participating party;
[0098] Receive and parse the first decryption result. Specifically, parse the first decryption result by subtracting a random number to obtain the updated annotation probability. At this point, the annotation probabilities of the unlabeled nodes of the participating parties after this update are obtained. These annotation probabilities form the annotation matrix of the unlabeled nodes after this update, thus completing one round of iterative update.
[0099] The embodiments of this application decompose the original complex tag propagation process into multi-step ciphertext state addition and multiplication operations, and add random numbers for obfuscation, thereby achieving secure and accurate calculation of the algorithm.
[0100] In an optional embodiment, there is no central node. Based on association relationships, the associated participant networks are connected. Here, it is assumed that participant 1, participant 2, participant 3, and participant 4 are all associated, and their networks are connected pairwise. The resulting network architecture is as follows: Figure 3 .
[0101] Specifically, each participant generates its own public and private keys using a homomorphic encryption algorithm, enabling each participant to encrypt the probability of labeling its own node using its generated public key. In addition, each participant sends its generated public key to other participants, so that each participant can receive the other participants' own public keys sent by other participants. This is for subsequent obfuscation operations.
[0102] To distinguish them, let's take one participant as an example. This participant generates its own public and private keys, referred to as the second public key and the second private key, respectively. Other participants associated with this participant generate their own public and private keys, referred to as the third public key and the third private key, respectively. The participant then uses a homomorphic encryption algorithm to generate its own second public and second private keys, and sends the second public key to the other participants, enabling them to encrypt the labeling probability of their own nodes using the second public key. The participant receives the third public key sent by the other participants. These other participants also use homomorphic encryption algorithms to generate their own third public and third private keys, enabling them to encrypt the labeling probability of their own nodes using the third public key. Furthermore, they send the third public key to the participant.
[0103] Each participant calculates the edge weight according to formula (1) and the propagation probability from each node to the associated node according to formula (2).
[0104] Each participant initializes its own annotation matrix Y according to formula (3). ic S n-1 <i≤S n ; 1≤x≤C.
[0105] Start iterative updates:
[0106] In this iteration, each participant uses a homomorphic encryption algorithm and its own generated public key to encrypt the label probability of its own node, obtaining the encrypted label probability. The encryption probability is determined by each participant (n) using their respective generated public key (key). n The labeled probability is encrypted and then transmitted to the associated unlabeled nodes. That is, for one of the participants, the encrypted labeled probability of that participant is encrypted using the participant's own public key and the public keys of other participants respectively.
[0107] Each participant updates its own encrypted label probability based on the encrypted label probability it received this time, thus obtaining its updated label probability. Since the encrypted label probability received by each participant is encrypted using the public keys of different participants, to ensure the subsequent obfuscation results can be decrypted, the encrypted label probabilities received by each participant are divided according to the transmission source, resulting in multiple sets of sub-encrypted label probabilities. Each set of sub-encrypted label probabilities is then weighted and summed to obtain the updated sub-encrypted label probability for each set.
[0108] At this point, each participant has obtained the intermediate results in ciphertext, namely the updated sub-encrypted label probabilities for each group. These probabilities need to be decrypted and summed before they can be used. Therefore, each participant generates random numbers, forming a random number matrix. The dimension of each participant's random number matrix is the same as the dimension of the label matrix formed by the label probabilities of their unlabeled nodes. Each participant uses their corresponding public key and their generated random numbers to obfuscate their updated encrypted label probabilities, obtaining their second obfuscation result. This result is sent to the other participants, who decrypt it and return a second decryption result. Each participant receives and parses the second decryption result to obtain their updated second sub-label probabilities. Furthermore, each participant uses their generated private key to decrypt their updated sub-encrypted label probabilities for their own nodes, obtaining the updated first sub-label probability. The updated first and second sub-label probabilities are then summed to obtain the updated label probability. Thus, one round of iterative update is completed.
[0109] When each participant meets the preset iteration stopping condition, the iteration update stops, and the label of each unlabeled node is obtained according to its latest labeling probability.
[0110] The following example, using one participant n, illustrates the process of one iteration update:
[0111] In this iteration update, the labeling probability of the participant's own node is encrypted using the second public key to obtain the encrypted labeling probability, and then transmitted to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant.
[0112] Receive encrypted labeling probabilities from other participants' nodes and transmit them to the associated unlabeled nodes belonging to the participant; wherein, other participants use their third public key to obtain their own third public key, and in this iteration update, use their own third public key to encrypt the labeling probabilities of their own nodes to obtain encrypted labeling probabilities, and transmit them to the associated unlabeled nodes belonging to the participant.
[0113] The encryption label probability received by the participating party this time is divided according to the transmission source to obtain multiple sets of sub-encryption label probabilities;
[0114] For each group of sub-encryption label probabilities, the sub-encryption label probabilities of each group are weighted and summed according to the propagation probability of each node to the associated unlabeled node belonging to the participant itself, so as to obtain the updated sub-encryption label probabilities of each group.
[0115] Based on the updated sub-encryption label probability for each group, the updated label probability is obtained.
[0116] Understandably, in this step, each participant needs to obtain the label probabilities of all nodes connected to it in order to update the label matrix of its own node. However, this data is distributed among other participants, so it is necessary to aggregate the data in each participant. In the specific calculation process, the m-th participant needs to send the label probabilities of the m-th participant's node associated with the n-th participant to the n-th participant, as shown in equation (7):
[0117]
[0118] in, This represents the set of nodes belonging to the m-th participant that are associated with the untagged nodes of the n-th participant; where m is equal to n, or m is not equal to n.
[0119] The participants update the label probability by performing a weighted sum based on the propagation probability and the received label probability. However, for the nth participant, the received label probability is encrypted using the public keys generated by different participants, so it needs to be calculated separately. The nth participant divides the received encrypted label probability according to the transmission source, obtaining multiple sets of sub-encrypted label probabilities. The weighted summation of the probabilities of each group of sub-encryption labels yields the updated probability of each group of sub-encryption labels, calculated according to formula (8):
[0120]
[0121] S n-1 +l n <i≤S n ,1≤c≤C
[0122] In the formula, represents the propagation probability from node k to node i; since this part of the calculation has already limited the update range to unlabeled nodes, there is no need to redefine the labeling probability of labeled nodes. Next, the final labeling probability is calculated.
[0123] In one optional embodiment, obtaining the updated label probability based on the updated sub-encryption label probability of each group includes:
[0124] The updated first set of sub-encryption label probabilities is decrypted using the second private key to obtain the updated first sub-label probabilities. Wherein, the first group of sub-encryption label probabilities refers to the encryption label probability that the transmission source is the participating party;
[0125] Generate random numbers
[0126] For the updated second set of sub-encryption label probabilities, the corresponding third public key and random number are used. Obfuscation is performed to obtain a second obfuscated result. Specifically, a homomorphic encryption algorithm and the corresponding third public key are used to obfuscate the random number. Encryption is performed to obtain encrypted random numbers. The second obfuscation result is obtained by summing the encrypted random number and the probability of the second set of sub-encryption labels after this update. The second set of sub-encryption label probabilities refers to the encryption label probability when the transmission source is another participant;
[0127] The second obfuscation result is sent to the corresponding other participant m, where m ≠ n; the corresponding other participant m uses its third private key to decrypt the result and obtain the second decryption result. The other participating parties will return the second decryption result to the participating parties.
[0128] The participants receive the second decryption result by subtracting a random number from it. The analysis yields the probability of the second sub-label after this update. Based on the updated first label probability and the updated second sub-label probability, through... Summing these probabilities yields the updated label probabilities. Thus, one round of iterative updates is complete.
[0129] The embodiments of this application decompose the original complex tag propagation process into multi-step ciphertext state addition and multiplication operations, and add random numbers for obfuscation, thereby achieving secure and accurate calculation of the algorithm.
[0130] In one alternative embodiment, the iteration stopping condition includes any of the following:
[0131] The current iteration count has reached the preset maximum number of iterations;
[0132] The change in the annotation matrix of unannotated nodes before and after this iteration is less than the preset change value.
[0133] In this embodiment of the application, when the number of iterations reaches the preset maximum number of iterations, or when the change value between the annotation matrix before and after the current iteration is less than the preset change value, the iteration update is stopped, and the latest annotation probability of the participating party is obtained.
[0134] Optionally, the change in the annotation matrix before and after this iteration includes: the total change in the annotation matrix of the unannotated nodes of each participant before and after this iteration.
[0135] Specifically, each participant calculates the change in the annotation matrix of its unannotated nodes before and after this iteration update according to formula (9):
[0136]
[0137] Specifically, if a central node exists, the total change value is obtained through the following steps:
[0138] Each participant calculates the change in its own annotation matrix before and after this iteration update according to formula (9), and encrypts the change value using a homomorphic encryption algorithm and the first public key to obtain the encrypted change value [[Dist i The encrypted change values sent by each participant are then sent to the central node. The central node sums the encrypted change values sent by each participant to obtain the total encrypted value. Then, the encrypted total value is decrypted using the first private key to obtain the total change value, which is then returned to each participant.
[0139] If there is no central node, the total change value is obtained through the following steps:
[0140] Each participant calculates the change value between the labeling matrix of its own unlabeled nodes before and after the current iteration update according to formula (9), sums the change values calculated by each participant to any participant, obtains the total change value, and returns it to each participant.
[0141] In one specific embodiment, the embodiments of this application are applied to an anti-fraud scenario. Assuming N banks cooperate to identify fraudulent bank cards, each bank has its own bank card customers, corresponding to the nodes in the embodiments of this application. The banks maintain transaction records between their customers and other customers, which can serve as edge weights between nodes. Implementing the embodiments of this application yields a final converged annotation matrix, which contains the fraud probability of each bank's own users. These bank cards can then be monitored or further risk assessments can be conducted.
[0142] See Figure 4 , Figure 4 This is a structural block diagram of a tag dissemination device 10 provided in an embodiment of this application. The tag dissemination device 10 includes:
[0143] Public key acquisition module 11 is used to acquire the public key generated based on the homomorphic encryption algorithm;
[0144] The transmission module 12 is used to encrypt the labeling probability of the participant's own node using the obtained public key in this iteration update, obtain the encrypted labeling probability, and transmit it to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant.
[0145] The receiving module 13 is used to receive the encrypted labeling probability transmitted from the nodes of other participants to the associated unlabeled nodes belonging to the participant itself; wherein, the other participants are used to obtain the public key generated based on the homomorphic encryption algorithm, and in this iteration update, use the obtained public key to encrypt the labeling probability of their own nodes to obtain the encrypted labeling probability, and transmit it to the associated unlabeled nodes belonging to the participant.
[0146] Update module 14 is used to update the annotation probability based on the encrypted annotation probability received by the participant this time, so as to obtain the updated annotation probability;
[0147] The annotation result acquisition module 15 is used to stop iterative updates when a preset iteration stop condition is met, and obtain the label of the unlabeled node of the participant based on the latest annotation probability of the participant.
[0148] Optionally, the public key acquisition module 11 includes:
[0149] The first public key acquisition unit is used to receive the first public key sent by the central node; wherein, the central node is used to generate its own first private key and first public key using a homomorphic encryption algorithm, and send the first public key to the participating parties and other participating parties, so that the participating parties and other participating parties use the first public key to encrypt the labeled probability of their own nodes.
[0150] The update module 14 includes:
[0151] The first calculation unit is used to perform a weighted summation of the encrypted labeling probabilities received by the participant this time, based on the propagation probability of each node to the associated unlabeled node belonging to the participant itself, to obtain the updated encrypted labeling probability.
[0152] The first update unit is used to send the updated encrypted labeling probability to the central node for decryption to obtain the updated labeling probability.
[0153] The first update unit includes:
[0154] The first random number generation unit is used to generate random numbers;
[0155] The first obfuscation unit is used to obfuscate the updated encrypted label probability using the first public key and the random number to obtain a first obfuscation result, and send the first obfuscation result to the central node; the central node is also used to decrypt the first obfuscation result using the first private key to obtain a first decryption result, and return the first decryption result to the participating party;
[0156] The first decryption unit is used to receive and parse the first decryption result to obtain the updated annotation probability.
[0157] Optionally, the public key acquisition module 11 includes:
[0158] The second public key acquisition unit is used to generate the second public key and the second private key of the participant using a homomorphic encryption algorithm, and send the second public key to other participants so that the participants can use the second public key to encrypt the label probability of their own nodes.
[0159] The third public key acquisition unit is used to receive a third public key sent by other participants. The other participants are also used to generate their own third public key and third private key using a homomorphic encryption algorithm, so that the other participants can use the third public key to encrypt the label probability of their own nodes. The other participants are also used to send the third public key to the participants.
[0160] The update module 14 further includes:
[0161] A grouping unit is used to divide the encryption label probability received by the participants this time according to the transmission source to obtain multiple groups of sub-encryption label probabilities;
[0162] The second calculation unit is used to calculate the weighted sum of the sub-encryption labeling probabilities of each group according to the propagation probability of each node to the associated unlabeled node belonging to the participant, so as to obtain the updated sub-encryption labeling probabilities of each group.
[0163] The second update unit is used to obtain the updated label probability based on the updated sub-encryption label probability of each group.
[0164] The second update unit includes:
[0165] The second decryption unit is used to decrypt the updated first group of sub-encryption label probabilities using the second private key to obtain the updated first sub-label probabilities; wherein, the first group of sub-encryption label probabilities refers to the encryption label probabilities whose transmission source is the participating party.
[0166] The second random number generation unit is used to generate random numbers;
[0167] The second obfuscation unit is used to obfuscate the updated second set of sub-encryption label probabilities using the corresponding third public key and the random number to obtain a second obfuscation result, and then send the second obfuscation result to the corresponding other participants; the other participants are also used to decrypt the received second obfuscation result using the third private key to obtain a second decryption result, and then return the second decryption result to the participants; the second set of sub-encryption label probabilities refers to the encryption label probability of the transmission source being other participants;
[0168] The third decryption unit is used to receive and parse the second decryption result to obtain the updated second sub-label probability.
[0169] The third calculation unit is used to sum the probability of the first sub-label after this update and the probability of the second sub-label after this update to obtain the updated label probability.
[0170] Optionally, the iteration stopping condition includes any of the following:
[0171] The current iteration count has reached the preset maximum number of iterations;
[0172] The change in the labeling probability of unlabeled nodes before and after this iteration is less than the preset change value.
[0173] It is worth noting that the working process of each module in the tag propagation device 10 described in this application embodiment can refer to the working process of the tag propagation method described in the above embodiment, and will not be repeated here.
[0174] The tag propagation device 10 provided in this application embodiment achieves encrypted propagation of tag information among various participants and secure aggregation of tag information by homomorphically encrypting the transmitted tag probability. The final tagging result is consistent with the tagging result directly propagated in the entire fully connected graph, thereby realizing privacy-secure tag propagation in the scenario where the original data does not leave the database. It also achieves data usability without visibility during the tag propagation process, avoiding data security risks.
[0175] Furthermore, this application also provides a computer-readable storage medium, which includes a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the tag propagation method as described in any of the above embodiments.
[0176] Furthermore, this application also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implements the tag propagation method as described in any of the above embodiments.
[0177] See Figure 5 , Figure 5 This is a structural block diagram of a tag distribution device 20 provided in an embodiment of this application. The tag distribution device 20 includes: a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. When the processor 21 executes the computer program, it implements the steps in the above-described tag distribution method embodiments. Alternatively, when the processor 21 executes the computer program, it implements the functions of each module / unit in the above-described device embodiments.
[0178] For example, the computer program may be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the tag dissemination device 20.
[0179] The tag distribution device 20 may include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art will understand that the schematic diagram is merely an example of the tag distribution device 20 and does not constitute a limitation on the tag distribution device 20. It may include more or fewer components than illustrated, or combine certain components, or use different components. For example, the tag distribution device 20 may also include input / output devices, network access devices, buses, etc.
[0180] The processor 21 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. The processor 21 is the control center of the tag distribution device 20, connecting all parts of the tag distribution device 20 via various interfaces and lines.
[0181] The memory 22 can be used to store the computer programs and / or modules. The processor 21 implements various functions of the tag dissemination device 20 by running or executing the computer programs and / or modules stored in the memory 22 and calling the data stored in the memory 22. The memory 22 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 22 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital card (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0182] If the modules / units integrated in the tag propagation device 20 are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by the processor 21, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0183] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the device embodiments provided in this application, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.
[0184] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications are also considered to be within the scope of protection of this application.
Claims
1. A method for disseminating tags, characterized in that, include: Obtain the public key generated based on the homomorphic encryption algorithm; In this iteration update, the obtained public key is used to encrypt the labeling probability of the participant's own node to obtain the encrypted labeling probability, and it is transmitted to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant. The system receives encrypted labeling probabilities transmitted from other participants' nodes to their own unlabeled nodes. The other participants obtain public keys generated based on homomorphic encryption algorithms. In this iteration, they use the obtained public keys to encrypt the labeling probabilities of their own nodes to obtain encrypted labeling probabilities, and then transmit them to their own unlabeled nodes. Based on the encrypted label probability received by the participating party this time, the label probability is updated to obtain the updated label probability; When the preset iteration stop condition is met, the iteration update stops, and the label of the unlabeled node of the participant is obtained according to the latest labeling probability of the participant.
2. The tag propagation method as described in claim 1, characterized in that, If a central node exists, obtaining the public key generated based on the homomorphic encryption algorithm includes: The central node receives a first public key sent by a central node; wherein the central node is used to generate its own first private key and first public key using a homomorphic encryption algorithm, and sends the first public key to the participating parties and other participating parties, so that the participating parties and other participating parties use the first public key to encrypt the labeled probability of their own nodes; The step of updating the annotation probability based on the encrypted annotation probability received by the participating party to obtain the updated annotation probability includes: Based on the propagation probability of each node to the associated unlabeled node belonging to the participant, the encrypted labeling probability received by the participant this time is weighted and summed to obtain the updated encrypted labeling probability. The updated encrypted labeling probability is sent to the central node for decryption to obtain the updated labeling probability.
3. The tag propagation method as described in claim 2, characterized in that, The step of sending the updated encrypted labeling probability to the central node for decryption to obtain the updated labeling probability includes: Generate random numbers; The updated encrypted label probability is obfuscated using the first public key and the random number to obtain a first obfuscation result, which is then sent to the central node. The central node is further configured to decrypt the first obfuscation result using the first private key to obtain a first decryption result, which is then returned to the participating party. Receive and parse the first decryption result to obtain the updated annotation probability.
4. The tag propagation method as described in claim 1, characterized in that, If no central node exists, obtain the public key generated based on the homomorphic encryption algorithm, including: The participant generates its own second public key and second private key using a homomorphic encryption algorithm, and sends the second public key to other participants so that the participants can use the second public key to encrypt the label probability of their own nodes. The system receives a third public key from other participants, wherein the other participants also use a homomorphic encryption algorithm to generate their own third public key and third private key, so that the other participants can use the third public key to encrypt the label probability of their own nodes; the other participants also use the third public key to send the third public key to the participants. The step of updating the annotation probability based on the encrypted annotation probability received by the participating party to obtain the updated annotation probability includes: The encryption label probability received by the participating party this time is divided according to the transmission source to obtain multiple sets of sub-encryption label probabilities; For each group of sub-encryption label probabilities, the sub-encryption label probabilities of each group are weighted and summed according to the propagation probability of each node to the associated unlabeled node belonging to the participant itself, so as to obtain the updated sub-encryption label probabilities of each group. The updated label probability is obtained based on the sub-encryption label probability of each group after this update.
5. The tag propagation method as described in claim 4, characterized in that, The step of obtaining the updated label probability based on the updated sub-encryption label probability of each group includes: For the first set of sub-encryption label probabilities after this update, the second private key is used to decrypt them to obtain the first sub-label probabilities after this update; wherein, the first set of sub-encryption label probabilities refers to the encryption label probabilities of the transmission source being the participant. Generate random numbers; For the updated second set of sub-encryption label probabilities, the corresponding third public key and the random number are used to obfuscate the data to obtain a second obfuscation result, which is then sent to the corresponding other participants. The other participants also use the third private key to decrypt the received second obfuscation result to obtain a second decryption result, which is then returned to the participants. The second set of sub-encryption label probabilities refers to the encryption label probability when the transmission source is another participant. Receive and parse the second decryption result to obtain the updated second sub-label probability; The updated sub-label probabilities are summed with the updated second sub-label probabilities to obtain the updated label probabilities.
6. The tag propagation method as described in claim 1, characterized in that, The iteration stopping condition includes any of the following: The current iteration count has reached the preset maximum number of iterations; The change in the labeling probability of unlabeled nodes before and after this iteration is less than the preset change value.
7. A label dissemination device, characterized in that, include: The public key acquisition module is used to obtain the public key generated based on the homomorphic encryption algorithm. The transmission module is used to encrypt the labeling probability of a participant's own node using the obtained public key in this iteration update, obtain the encrypted labeling probability, and transmit it to the associated unlabeled node belonging to the participant and the associated unlabeled node belonging to other participants, so as to receive the encrypted labeling probability transmitted by the participant's own node to the associated unlabeled node belonging to the participant. The receiving module is used to receive encrypted labeling probabilities transmitted from nodes of other participants to unlabeled nodes associated with the participants themselves. Other participants are used to obtain public keys generated based on homomorphic encryption algorithms. In this iteration update, they use the obtained public keys to encrypt the labeling probabilities of their own nodes to obtain encrypted labeling probabilities, and then transmit them to unlabeled nodes associated with the participants. The update module is used to update the annotation probability based on the encrypted annotation probability received by the participant this time, so as to obtain the updated annotation probability. The annotation result acquisition module is used to stop iterative updates when a preset iteration stop condition is met, and obtain the labels of the unlabeled nodes of the participant based on the latest annotation probability of the participant.
8. A label dissemination device, characterized in that, The device includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor, when executing the computer program, implements the tag propagation method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program; wherein, when the computer program is executed, it controls the device on which the computer-readable storage medium is located to perform the tag propagation method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, It includes a computer program / instruction that, when executed by a processor, implements the tag propagation method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Data processing method and system based on cross-domain label propagation, equipment and medium
CN114615090A
Joint learning model iterative update method, apparatus, system, and storage medium
WO2023124219A1