A threshold signature key reconstruction method and system
Patent Information
- Application Number
- CN202510528480.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-25
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2045-04-25
AI Technical Summary
[0006]本发明实施例中提供一种门限签名密钥重构方法及系统,以解决现有技术中恶意节点可在拜占庭环境下串通拒绝正常节点的密钥切片,导致正常切片被剔除并最终被恶意方控制群签名私钥,而缺乏同时兼顾切片有效性与门限数量的重构机制的问题
[0018] This invention provides a threshold signature key reconstruction method and system. In a scenario where up to 1/3 of the nodes are malicious, the method ensures that the final set of valid key slices and the set of threshold nodes participating in the group signature contain at least one normal node, preventing malicious nodes from colluding to control the group signature private key. By adopting the strategy of "iteratively adding candidate nodes to the container + discarding the candidate nodes currently added to the container and reverting to the previous selection of candidate nodes in the failure scenario", the method balances efficiency and global optimality. The algorithm can converge quickly and has the ability to recover from failures.
Smart Images

Figure CN120415738B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of blockchain technology, and more specifically, to a threshold signature key reconstruction method and system. Background Technology
[0002] Threshold Signature Scheme (TSS) is widely used in scenarios such as blockchain node signing, distributed key management, and multi-party escrow. Typically, the system consists of N distributed nodes. Using techniques such as Shamir's secret sharing, the master private key is divided into N key slices and distributed to each node. When any t (t≤N) nodes cooperate, the master private key can be reconstructed and a valid signature can be issued. However, if fewer than t nodes are involved, the private key cannot be recovered, thus ensuring system security.
[0003] In asynchronous networks and Byzantine environments, various failures can occur during the transmission and verification of key slices between nodes, including network packet loss, node offline issues, and malicious nodes colluding to launch a denial-of-service (DoS) attack—that is, sending incorrect slices to legitimate nodes or not responding to slice requests, preventing legitimate nodes from participating in group signatures. More seriously, if malicious nodes constitute one-third of the network and collude to launch a complaint against legitimate nodes' slices, they may delete the valid slices of legitimate nodes during the reconstruction phase, leaving only the malicious nodes' slices alive, thus gaining complete control of the group signature private key and severely jeopardizing system security.
[0004] Existing technologies often simply delete rows or columns of rejected nodes, but fail to make reasonable use of the distribution characteristics of each node's complaint information at the algorithm level to ensure that at least one key slice of a normal node is retained. This can easily lead to the accidental deletion of normal node slices due to premature container convergence, or the container size can become inefficient due to repeated iterations after expanding to too many nodes, and there is a lack of backtracking strategies to trigger effective remedial measures after algorithm failure.
[0005] Therefore, there is an urgent need for a key reconstruction method that can both filter malicious rejection behavior in an asynchronous Byzantine environment and ensure that at least one normal node slice is retained, so as to prevent malicious nodes from controlling the group signature private key. Summary of the Invention
[0006] This invention provides a threshold signature key reconstruction method and system to address the problem in the prior art where malicious nodes can collude to reject key slices from normal nodes in a Byzantine environment, resulting in the removal of normal slices and eventual control of the group signature private key by the malicious party, while lacking a reconstruction mechanism that simultaneously considers slice validity and threshold number.
[0007] To achieve the above objectives, this invention provides a threshold signature key reconstruction method, comprising: S1, constructing a trust relationship matrix between nodes, where rows represent initiating nodes, columns represent receiving nodes, and matrix elements are "agree" or "reject"; S2, placing all column nodes that do not contain "reject" into a container, counting the number of column nodes in the container, if the number of column nodes is greater than a preset threshold, then all nodes can participate in group signature, and the algorithm ends; otherwise, deleting column nodes whose "reject" count exceeds the preset threshold, and using column nodes whose "reject" count does not exceed the preset threshold as candidate nodes, defining additional nodes for each candidate node, and calculating the weight of each candidate node, proceeding to S3; S3, sorting all candidate nodes by weight from largest to smallest, and then retrieving the node ranked... Place the candidate node corresponding to the weight of 1 and its additional node into a container, and proceed to S4; S4: Count the number of row nodes in the container that do not contain "reject". If it does not exceed the preset threshold, proceed to S7; otherwise, proceed to S5; S5: Count the number of all column nodes in the container. If it is greater than the preset threshold, the row nodes in the container that do not contain "reject" can participate in the group signature, and the algorithm ends; otherwise, proceed to S6; S6: For candidate nodes outside the container, redefine the additional node of each candidate node and calculate the weight of each candidate node, and proceed to S3; S7: Discard the candidate node currently placed in the container and its additional node, and place the candidate node corresponding to the next weight in S3 and its additional node into the container, and proceed to S4.
[0008] Optionally, defining the additional nodes for each candidate node includes: sequentially taking each candidate node as the current candidate node, and defining the additional nodes for the current candidate node, including: sequentially traversing each candidate node from the remaining candidate nodes other than the current candidate node as the current candidate node; if the row node containing "reject" in the current candidate node is covered by the row node containing "reject" in the current candidate node and the row node containing "reject" in the container, then the current candidate node is taken as the additional node of the current candidate node.
[0009] Optionally, the calculation of the weight of each candidate node includes: taking each candidate node as the current candidate node in turn, calculating the weight of the current candidate node according to the following formula: weight of the current candidate node = (total number of nodes of the current candidate node and its attached nodes) / number of "rejections" contained in the current candidate node.
[0010] Optionally, the preset threshold is 1 / 3 of the total number of nodes.
[0011] Optionally, the generation of the trust relationship matrix includes: each node broadcasting its own key fragments to other nodes; receiving nodes verifying the validity of the key fragments, marking them as "agree" if the verification is successful, and marking them as "reject" otherwise.
[0012] On the other hand, the present invention provides a threshold signature key reconstruction system, which includes: a construction unit for constructing a trust relationship matrix between nodes, wherein rows represent initiating nodes, columns represent receiving nodes, and matrix elements are "agree" or "reject"; a definition calculation unit for placing all column nodes that do not contain "reject" into a container, counting the number of column nodes in the container, and if the number of column nodes is greater than a preset threshold, then all nodes can participate in group signature, and the algorithm ends; otherwise, deleting column nodes whose "reject" count exceeds the preset threshold, and using column nodes whose "reject" count does not exceed the preset threshold as candidate nodes, defining additional nodes for each candidate node, and calculating the weight of each candidate node, and entering the sorting unit; and a sorting unit for sorting all candidate nodes by weight from largest to smallest, and sorting the candidate node corresponding to the first weight and its additional nodes. A node is placed into a container and enters the row statistics unit. The row statistics unit counts the number of row nodes in the container that do not contain "rejected". If the number does not exceed a preset threshold, it enters the node re-placement unit; otherwise, it enters the column statistics unit. The column statistics unit counts the number of all column nodes in the container. If the number exceeds a preset threshold, the row nodes in the container that do not contain "rejected" can participate in the group signature, and the algorithm ends; otherwise, it enters the redefinition calculation unit. The redefinition calculation unit redefines the additional nodes of each candidate node outside the container and calculates the weight of each candidate node, then enters the sorting unit. The node re-placement unit discards the candidate node currently placed in the container and its additional nodes, and places the candidate node with the next weight in the sorting unit and its additional nodes into the container, then enters the row statistics unit.
[0013] Optionally, defining the additional nodes for each candidate node includes: sequentially taking each candidate node as the current candidate node, and defining the additional nodes for the current candidate node, including: sequentially traversing each candidate node from the remaining candidate nodes other than the current candidate node as the current candidate node; if the row node containing "reject" in the current candidate node is covered by the row node containing "reject" in the current candidate node or the row node containing "reject" in the container, then the current candidate node is taken as the additional node of the current candidate node.
[0014] Optionally, the calculation of the weight of each candidate node includes: taking each candidate node as the current candidate node in turn, calculating the weight of the current candidate node according to the following formula: weight of the current candidate node = (total number of nodes of the current candidate node and its attached nodes) / number of "rejections" contained in the current candidate node.
[0015] Optionally, the preset threshold is 1 / 3 of the total number of nodes.
[0016] Optionally, the generation of the trust relationship matrix includes: each node broadcasting its own key fragments to other nodes; receiving nodes verifying the validity of the key fragments, marking them as "agree" if the verification is successful, and marking them as "reject" otherwise.
[0017] The beneficial effects of this invention are:
[0018] This invention provides a threshold signature key reconstruction method and system. In a scenario where up to 1 / 3 of the nodes are malicious, the method ensures that the final set of valid key slices and the set of threshold nodes participating in the group signature contain at least one normal node, preventing malicious nodes from colluding to control the group signature private key. By adopting the strategy of "iteratively adding candidate nodes to the container + discarding the candidate nodes currently added to the container and reverting to the previous selection of candidate nodes in the failure scenario", the method balances efficiency and global optimality. The algorithm can converge quickly and has the ability to recover from failures. Attached Figure Description
[0019] Figure 1 This is a flowchart of a threshold signature key reconstruction method provided in an embodiment of the present invention;
[0020] Figure 2 This is a schematic diagram of a threshold signature key reconstruction system provided in an embodiment of the present invention. Detailed Implementation
[0021] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0022] Figure 1 This is a flowchart of a threshold signature key reconstruction method provided in an embodiment of the present invention, such as... Figure 1 As shown, the method includes:
[0023] S1. Construct a trust relationship matrix between nodes, where rows represent initiating nodes, columns represent receiving nodes, and matrix elements are "agree" or "reject";
[0024] In an optional implementation, the generation of the trust relationship matrix includes:
[0025] Each node broadcasts its own key fragments to other nodes;
[0026] The receiving node verifies the validity of the key fragment. If the verification is successful, it is marked as "agree"; otherwise, it is marked as "reject".
[0027] The following is an illustration using a specific example, Example 1:
[0028]
[0029] S2. Place all column nodes that do not contain "reject" into a container, count the number of column nodes in the container. If the number of column nodes is greater than a preset threshold, all nodes can participate in the group signature and the algorithm ends. Otherwise, delete column nodes whose number of "reject" exceeds the preset threshold, and use column nodes whose number of "reject" does not exceed the preset threshold as candidate nodes. Define the additional nodes for each candidate node and calculate the weight of each candidate node. Proceed to S3.
[0030] In Example 1, all column nodes that do not contain "reject" are placed into a container, i.e., column nodes A, B, C, and D are placed into the container. The number of column nodes in the container is counted, i.e., 4; the total number of nodes is 7, 4>7 / 3; then the key slice of the nodes (A, B, C, D) in the container is considered valid, and all nodes (A, B, C, D, E, F, G) can participate in group signature, and the key can be reconstructed; the algorithm ends.
[0031] The following is an illustration through a specific example, Example 2:
[0032]
[0033] Conversely, in Example 2, all column nodes that do not contain "reject" are placed into a container, i.e., column nodes A and B are placed into the container, and the number of column nodes in the container is counted, i.e., 2; the total number of nodes is 7, 2 < 7 / 3, so the column nodes whose number of "reject" exceeds the preset threshold are deleted, i.e., the rejection count of node C is 3, 3 > 7 / 3; so node C is deleted; similarly, the rejection count of node D is 3, 3 > 7 / 3; so node D is deleted.
[0034] Column nodes whose number of "rejections" does not exceed a preset threshold are selected as candidate nodes, i.e., column nodes E, F, and G are selected as candidate nodes.
[0035] Define the additional nodes for each candidate node, including:
[0036] Each candidate node is selected as the current candidate node in turn, and the additional nodes of the current candidate node are defined, including:
[0037] Iterate through each candidate node from the remaining candidate nodes except the current candidate node, and select each candidate node as the current candidate node.
[0038] If the row node containing "reject" in the current candidate node is covered by the row node containing "reject" in the current candidate node or the row node containing "reject" in the container, then the current candidate node will be added as an additional node to the current candidate node.
[0039] In Example 2, the node in column E is taken as the current candidate node; then the nodes in columns F and G are taken as candidate nodes; since the row node containing the "rejection" in column F (row node C) is in the row node containing the "rejection" in column E (row nodes C and D), then the node in column F is an additional node of the current candidate node (node in column E).
[0040] Similarly, if the row node containing the "reject" in column F is row D, or if the row node containing the "reject" in column F is both row C and row D, then column F is also an additional node of the current candidate node (column E).
[0041] The row node containing "Reject" in column G includes row node A, because row node A... If the nodes in column E contain the rows where "reject" is located (rows C and D), then the node in column G is not an appendage of the current candidate node (the node in column E).
[0042] If the node in column F is selected as the current candidate node, then the nodes in columns E and G are selected as potential nodes. Neither the nodes in columns E nor G are additional nodes of the node in column F.
[0043] If the node in column G is selected as the current candidate node, then the nodes in columns E and F are selected as candidate nodes. The node in column E is not an additional node of the node in column G, and the node in column F is an additional node of the node in column G.
[0044] Calculate the weight of each candidate node, including:
[0045] Each candidate node is then treated as the current candidate node, and its weight is calculated using the following formula:
[0046] The weight of the current candidate node = (the total number of nodes of the current candidate node and its attached nodes) / the number of "rejected" nodes contained in the current candidate node.
[0047] If the current candidate node is a node in column E, then its weight is 2 / 2 = 1;
[0048] If the current candidate node is a node in column F, then its weight is 1 / 1 = 1;
[0049] If the current candidate node is a node in column G, then its weight is 2 / 2 = 1.
[0050] S3. Sort all candidate nodes by weight from largest to smallest, put the candidate node corresponding to the first weight and its attached nodes into a container, and proceed to S4.
[0051] In Example 2, if the weights of the three candidate nodes are equal, then one candidate node with the corresponding weight and its associated node are randomly selected and placed into the container.
[0052] For example: Select candidate node E and its additional nodes (nodes in column F) and put them into a container, then proceed to S4.
[0053] S4. Count the number of row nodes in the container that do not contain "reject". If the number does not exceed the preset threshold, proceed to S7; otherwise, proceed to S5.
[0054] The preset threshold is 1 / 3 of the total number of nodes.
[0055] In Example 2, the container has removed columns C and D, and now contains columns A, B, E, and F. Rows A, B, E, F, and G that do not contain "rejected" rows are 5, which is greater than 7 / 3; proceed to S5. Otherwise, proceed to S7.
[0056] S5. Count the number of all column nodes in the container. If the number is greater than the preset threshold, the row nodes in the container that do not contain "reject" can participate in the group signature, and the algorithm ends; otherwise, proceed to S6.
[0057] In Example 2, the number of all column nodes in the container is counted and is 4. Since 4 > 7 / 3, the row nodes (A, B, E, F, G) in the container that do not contain "rejected" can participate in the group signature, and the key can be reconstructed; the algorithm ends; otherwise, proceed to S6.
[0058] S6. For candidate nodes outside the container, redefine the additional nodes of each candidate node and calculate the weight of each candidate node, then proceed to S3.
[0059] Assuming that E and F are placed in the container in S5 above, if the number of all column nodes in the container does not exceed a preset threshold, then for the candidate nodes outside the container, the additional nodes of each candidate node are redefined, and the weight of each candidate node is calculated.
[0060] If a node in column G is rejected by nodes in rows A and C, and there is also a node in column H, which is rejected only by nodes in row A;
[0061] Candidate nodes outside the container: nodes in column G and nodes in column H;
[0062] If a node in column G is the current candidate node, then its candidate node is a node in column H;
[0063] If the row node containing "reject" (row node A) in column H is an additional node of candidate node G, and the row nodes containing "reject" (row nodes A and C) in the current candidate node (column node G) and the row nodes containing "reject" (row nodes C and D) in the container are also included, then column H is an additional node of candidate node G.
[0064] If a node in column H is the current candidate node, then its candidate node is a node in column G;
[0065] If the row nodes containing "reject" (row nodes A and C) in column G are adjacent to the row nodes containing "reject" (row node A) in the current candidate node (column node H) and the row nodes containing "reject" (row nodes C and D) in the container, then column G is an additional node of candidate node H.
[0066] S7. Discard the candidate node currently placed in the container and its attached nodes. Place the candidate node corresponding to the next weight in S3 and its attached nodes into the container and proceed to S4.
[0067] Assuming that in S4 above, the number of row nodes in the container that do not contain "rejected" does not exceed a preset threshold, then discard the candidate node currently placed in the container and its attached node, that is, discard the nodes in columns E and F. Then, put the candidate node with the next weight in S3 and its attached node into the container. If the weights are all equal, then you can randomly select candidate node F to put into the container, or select candidate node G and its attached node in column F to put into the container, and proceed to S4.
[0068] If, after all nodes have been added to the container, the number of rows in the container that do not contain "rejected" nodes still does not exceed the preset threshold, then the algorithm ends, and all nodes cannot participate in group signature, meaning the key cannot be reconstructed.
[0069] Figure 2 This is a schematic diagram of a threshold signature key reconstruction system provided in an embodiment of the present invention. Figure 2 As shown, the system includes:
[0070] The construction unit 201 is used to construct a trust relationship matrix between nodes, where rows represent initiating nodes, columns represent receiving nodes, and matrix elements are "agree" or "reject".
[0071] Define calculation unit 202 to put all column nodes that do not contain "rejection" into a container, count the number of column nodes in the container, and if the number of column nodes is greater than a preset threshold, all nodes can participate in group signature and the algorithm ends; otherwise, delete column nodes whose number of "rejection" exceeds the preset threshold, and use column nodes whose number of "rejection" does not exceed the preset threshold as candidate nodes. Define the additional nodes for each candidate node, calculate the weight of each candidate node, and enter sorting unit 203.
[0072] The sorting unit 203 is used to sort all candidate nodes from largest to smallest weight, put the candidate node corresponding to the first weight and the additional node of the candidate node into a container, and enter the row statistics unit 204.
[0073] The row statistics unit 204 is used to count the number of row nodes in the container that do not contain "rejected". If the number does not exceed a preset threshold, the node is put back into the unit 207; otherwise, it is put into the column statistics unit 205.
[0074] The column counting unit 205 is used to count the number of all column nodes in the container. If the number is greater than the preset threshold, the row nodes in the container that do not contain "rejected" can participate in the group signature, and the algorithm ends; otherwise, it enters the redefining calculation unit 206.
[0075] The calculation unit 206 is redefined to redefine the additional nodes of each candidate node outside the container, calculate the weight of each candidate node, and enter the sorting unit 203.
[0076] The node re-placement unit 207 is used to discard the candidate node currently placed in the container and its attached nodes, and put the candidate node corresponding to the next weight in the sorting unit 203 and its attached nodes into the container, and then enter the row statistics unit 204.
[0077] In an optional implementation, the additional nodes defining each candidate node include:
[0078] Each candidate node is selected as the current candidate node in turn, and the additional nodes of the current candidate node are defined, including:
[0079] Iterate through each candidate node from the remaining candidate nodes except the current candidate node, and select each candidate node as the current candidate node.
[0080] If the row node containing "reject" in the current candidate node is covered by the row node containing "reject" in the current candidate node or the row node containing "reject" in the container, then the current candidate node will be added as an additional node to the current candidate node.
[0081] In an optional implementation, calculating the weight of each candidate node includes:
[0082] Each candidate node is then treated as the current candidate node, and its weight is calculated using the following formula:
[0083] The weight of the current candidate node = (the total number of nodes of the current candidate node and its attached nodes) / the number of "rejected" nodes contained in the current candidate node.
[0084] In one optional implementation, the preset threshold is 1 / 3 of the total number of nodes.
[0085] In an optional implementation, the generation of the trust relationship matrix includes:
[0086] Each node broadcasts its own key fragments to other nodes;
[0087] The receiving node verifies the validity of the key fragment. If the verification is successful, it is marked as "agree"; otherwise, it is marked as "reject".
[0088] The beneficial effects of this invention are:
[0089] This invention provides a threshold signature key reconstruction method and system. In a scenario where up to 1 / 3 of the nodes are malicious, the method ensures that the final set of valid key slices and the set of threshold nodes participating in the group signature contain at least one normal node, preventing malicious nodes from colluding to control the group signature private key. By adopting the strategy of "iteratively adding candidate nodes to the container + discarding the candidate nodes currently added to the container and reverting to the previous selection of candidate nodes in the failure scenario", the method balances efficiency and global optimality. The algorithm can converge quickly and has the ability to recover from failures.
[0090] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A threshold signature key reconstruction method, characterized in that, include: S1. Construct a trust relationship matrix between nodes, where rows represent initiating nodes, columns represent receiving nodes, and matrix elements are "agree" or "reject"; the initiating node is the node that initiates the verification request; S2. Place all column nodes that do not contain "reject" into a container, count the number of column nodes in the container. If the number of column nodes is greater than a preset threshold, all nodes can participate in the group signature and the algorithm ends. Otherwise, delete column nodes whose number of "reject" exceeds the preset threshold, and use column nodes whose number of "reject" does not exceed the preset threshold as candidate nodes. Define the additional nodes for each candidate node and calculate the weight of each candidate node. Proceed to S3. S3. Sort all candidate nodes by weight from largest to smallest, put the candidate node corresponding to the first weight and its attached nodes into a container, and proceed to S4. S4. Count the number of row nodes in the container that do not contain "reject". If the number does not exceed the preset threshold, proceed to S7; otherwise, proceed to S5. S5. Count the number of all column nodes in the container. If the number is greater than the preset threshold, the row nodes in the container that do not contain "reject" can participate in the group signature, and the algorithm ends; otherwise, proceed to S6. S6. For candidate nodes outside the container, redefine the additional nodes of each candidate node and calculate the weight of each candidate node, then proceed to S3. S7. Discard the candidate node currently placed in the container and its attached nodes, and put the candidate node corresponding to the next weight in S3 and its attached nodes into the container, then proceed to S4. The additional nodes defined for each candidate node include: Each candidate node is selected as the current candidate node in turn, and the additional nodes of the current candidate node are defined, including: Iterate through each candidate node from the remaining candidate nodes except the current candidate node, and select each candidate node as the current candidate node. If the row node containing "reject" in the current candidate node is covered by the row node containing "reject" in the current candidate node or the row node containing "reject" in the container, then the current candidate node will be added as an append node to the current candidate node. The calculation of the weight of each candidate node includes: Each candidate node is then treated as the current candidate node, and its weight is calculated using the following formula: The weight of the current candidate node = (the total number of nodes of the current candidate node and its attached nodes) / the number of "rejected" nodes contained in the current candidate node.
2. The method according to claim 1, characterized in that: The preset threshold is 1 / 3 of the total number of nodes.
3. The method according to claim 1, characterized in that, The generation of the trust relationship matrix includes: Each node broadcasts its own key fragments to other nodes; The receiving node verifies the validity of the key fragment. If the verification is successful, it is marked as "agree"; otherwise, it is marked as "reject".
4. A threshold signature key reconstruction system, characterized in that: A construction unit is used to construct a trust relationship matrix between nodes, where rows represent initiating nodes, columns represent receiving nodes, and matrix elements are "agree" or "reject"; the initiating node is the node that initiates the verification request; Define a calculation unit to put all column nodes that do not contain "reject" into a container, count the number of column nodes in the container, and if the number of column nodes is greater than a preset threshold, all nodes can participate in the group signature and the algorithm ends; otherwise, delete column nodes whose number of "reject" exceeds the preset threshold, and use column nodes whose number of "reject" does not exceed the preset threshold as candidate nodes. Define the additional nodes for each candidate node, calculate the weight of each candidate node, and enter the sorting unit. The sorting unit is used to sort all candidate nodes by weight from largest to smallest, and put the candidate node corresponding to the first weight and its supplementary nodes into a container and enter the row statistics unit. The row statistics unit is used to count the number of row nodes in the container that do not contain "rejected". If the number does not exceed the preset threshold, the node is put back into the unit; otherwise, it is put into the column statistics unit. The column counting unit is used to count the number of all column nodes in the container. If the number is greater than the preset threshold, the row nodes in the container that do not contain "rejected" can participate in the group signature, and the algorithm ends. Conversely, it proceeds to redefine the computational unit; The calculation unit is redefined to redefine the additional nodes of each candidate node outside the container, and calculate the weight of each candidate node before entering the sorting unit. The node is re-placed into the unit, which is used to discard the candidate node currently placed in the container and its attached nodes, and put the candidate node corresponding to the next weight in the sorting unit and its attached nodes into the container, and then enter the row statistics unit. The additional nodes defined for each candidate node include: Each candidate node is selected as the current candidate node in turn, and the additional nodes of the current candidate node are defined, including: Iterate through each candidate node from the remaining candidate nodes except the current candidate node, and select each candidate node as the current candidate node. If the row node containing "reject" in the current candidate node is covered by the row node containing "reject" in the current candidate node or the row node containing "reject" in the container, then the current candidate node will be added as an append node to the current candidate node. The calculation of the weight of each candidate node includes: Each candidate node is then treated as the current candidate node, and its weight is calculated using the following formula: The weight of the current candidate node = (the total number of nodes of the current candidate node and its attached nodes) / the number of "rejected" nodes contained in the current candidate node.
5. The system according to claim 4, characterized in that: The preset threshold is 1 / 3 of the total number of nodes.
6. The system according to claim 4, characterized in that, The generation of the trust relationship matrix includes: Each node broadcasts its own key fragments to other nodes; The receiving node verifies the validity of the key fragment. If the verification is successful, it is marked as "agree"; otherwise, it is marked as "reject".
Citation Information
Patent Citations
Auditable signature method based on secure multi-party and related components
CN112272088A
Completely decentralized multi-committee attribute-based encryption method and application thereof
CN117201132A