Distributed key generation method and device based on quantum random number, medium and equipment
By using quantum random number generators to generate distributed keys on blockchain nodes and deploying key update smart contracts on blockchain, the problems of single point of failure and key hosting in distributed key generation are solved, and high-security distributed key management is achieved.
Patent Information
- Application Number
- CN202311869529.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2025-07-01
AI Technical Summary
The prior art relies on trusted third parties in distributed key generation, and there are problems of single point of failure and key hosting, and it is difficult to ensure randomness, resulting in insufficient security.
By configuring a quantum random number generator on the blockchain node, a distributed key is generated using quantum random numbers, including a global public key, a signature private key and a verification public key, and deploying a key update smart contract on the blockchain to achieve timed or active update of the distributed key.
Improve the security of distributed keys, prevent single point of failure and key hosting problems, ensure randomness and decentralized trust, and enhance the security and efficiency of blockchain systems.
Smart Images

Figure CN120238292A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of quantum computing, and particularly to a distributed key generation method, apparatus, medium, and device based on quantum random numbers. Background Art
[0002] Key management is one of the important challenges in network security. Most cryptographic applications require a trusted third party authority to hold keys, and such application methods have problems of single point of failure and key escrow. The design and implementation of asymmetric cryptography are centralized and cannot effectively support distributed and decentralized systems. Distributed and decentralized trust are important features of blockchain systems, and these features ensure that blockchain systems can reduce the trust threshold in a multi-party participation environment, achieving higher system efficiency and security.
[0003] Distributed key control is a multi-party computing technology based on cryptography, which uses distributed nodes to control the keys of various assets in a blockchain system. Distributed key generation is a cryptographic generation process in which multiple parties participate in the calculation and generate a set of shared public and private keys. Compared with most public key encryption models, distributed key generation does not rely on a trusted third party, and the success of key pair calculation is determined by the participation threshold of honest parties. To ensure confidentiality in the event of a malicious attack on key calculation, distributed key generation requires multi-party participation and can effectively prevent a single party from accessing the private key.
[0004] Randomness plays an extremely important role in cryptography, and many cryptographic algorithms require the use of an unpredictable random number. These cryptographic algorithms can only ensure algorithm security when the generated random number is unpredictable. Distributed key generation also depends on the unpredictability of random numbers. In cryptographic technologies and computer applications, incorrect use of random numbers will lead to a series of security problems. Therefore, how to ensure the security of distributed key generation has become a key technical problem to be solved currently. Summary of the Invention
[0005] The purpose of the present invention is to provide a distributed key generation method, apparatus, medium, and device based on quantum random numbers for generating more secure distributed keys.
[0006] According to one aspect of the present invention, there is provided a distributed key generation method based on quantum random numbers, the method comprising:
[0007] Configuring quantum random number generators for each node of the blockchain respectively;
[0008] The node generates a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcasts it among the nodes;
[0009] After each node successfully verifies the received knowledge proof, it uses the quantum random numbers provided by the quantum random number generator to generate a global public key, and each node generates its own signature private key and verification public key.
[0010] According to an embodiment of the present invention, after generating the global public key, signature private key, and verification public key, the method further includes: deploying a key update smart contract on the blockchain; the key update smart contract regenerates the distributed key in a timed automatic update manner or in an active application update manner.
[0011] According to an embodiment of the present invention, the step of a node generating a knowledge proof about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcasting it among nodes specifically includes: the node samples the quantum random numbers provided by the quantum random number generator; the sampled threshold t quantum random numbers form a quantum random number sequence a i0 ,a i1 ,...,a ij , and uses the quantum random number as the coefficient of the t - 1 - degree polynomial ; where t is a positive integer, and the value range is n / 2 ≤ t < n, n is the total number of nodes on the blockchain; 0 ≤ i ≤ n - 1; the node generates a knowledge proof and a common commitment for the first quantum random number in the quantum random number sequence; the node broadcasts the knowledge proof and the common commitment as proof information to other nodes; after receiving the proof information broadcast by other nodes, the node performs a correctness verification. If the verification fails, the distributed key generation process is aborted. If the verification is successful, the received knowledge proof is deleted.
[0012] According to an embodiment of the present invention, the step of using the quantum random numbers provided by the quantum random number generator to generate a global public key and each node generating its own signature private key and verification public key specifically includes: the node uses the quantum random numbers provided by the quantum random number generator to generate its own initial key; the initial key is allocated corresponding initial key shares for each node according to the number of nodes, and the nodes send the initial key shares to each other separately; the node generates its own signature private key according to the initial key share it retains and all the initial key shares sent to this node by other nodes; the node calculates its own verification public key Y through the formula i , and the node calculates the global public key Y through the formula ; where g is the generator of the cyclic group G of order q, s i is the signature private key,
[0013] According to an embodiment of the present invention, the steps of generating a global public key using quantum random numbers provided by a quantum random number generator and each node generating its own signature private key and verification public key further include: Node P i Through the formula Calculate to obtain the verification public key of any node P l where q is the order of the cyclic group G, randomly and uniformly select 1 ≤ l ≤ n, l ≠ i, n is the total number of nodes on the blockchain, and n / 2 ≤ t < n.
[0014] According to an embodiment of the present invention, after a node sends an initial key share, it deletes the initial key and the initial key shares sent to other nodes, and only saves the initial key share it retains itself.
[0015] According to an embodiment of the present invention, after generating the global public key, signature private key, and verification public key, the method further includes: Each node on the blockchain collaborates to generate a pair of public and private keys, namely the global public key and the global private key; among them, the global public key is the global public key Y in the distributed key generation process, and all nodes can obtain it through calculation; the global private key is composed of the signature private keys of the nodes on the blockchain. To construct the global private key, at least the signature private keys of threshold t nodes need to be aggregated, where n / 2 ≤ t < n and n is the total number of nodes on the blockchain.
[0016] According to another aspect of the present invention, a distributed key generation device based on quantum random numbers is provided, including:
[0017] A quantum random number generator configured as an entropy source to provide quantum random numbers;
[0018] A proof information unit configured to generate a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcast it among nodes;
[0019] An initial key unit configured to generate its own initial key using the quantum random numbers provided by the quantum random number generator, allocate corresponding initial key shares for each node according to the number of nodes, and send the initial key shares to each other among nodes separately;
[0020] A signature private key unit configured to generate its own signature private key according to the initial key share it retains and all the initial key shares sent to this node by other nodes;
[0021] A verification public key unit configured to use the formula Calculate to obtain its own verification public key Y i ;
[0022] A global public key unit configured to use the formula Calculate the global public key Y;
[0023] where g is the generator of the cyclic group G of order q, and s i is the signature private key,
[0024] According to another aspect of the present invention, there is provided a computer-readable storage medium storing a computer program, which when executed by a processor, implements the distributed key generation method based on quantum random numbers as described above.
[0025] According to another aspect of the present invention, there is provided a computer device, which includes: a processor; a memory storing a computer program, which when executed by the processor, implements the distributed key generation method based on quantum random numbers as described above.
[0026] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0027] 1. By using a quantum random number generator as the entropy source for distributed key generation on blockchain nodes, quantum random numbers with true randomness are provided to generate distributed keys, improving the security of distributed keys.
[0028] 2. By setting the minimum number threshold t of signature private keys required to aggregate the global private key, it can not only cope with the storage of malicious node private keys but also cope with the interruption or downtime of one or more nodes.
[0029] 3. By requiring each blockchain node to provide a proof of knowledge of its quantum random number a i0 it can prevent rogue key attacks and promptly abort misbehavior, greatly ensuring the security of the distributed key generation process.
[0030] 4. By deploying a key update smart contract on the blockchain, it is possible to achieve timed updates or active updates of the distributed keys of nodes. After each distributed key refresh, all the old signature private keys become invalid, which will cause the attacker's previous efforts to be in vain and must start stealing attacks again, thus exponentially increasing the attack difficulty and ensuring the security of distributed keys. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Through the following description in conjunction with the drawings, the above objects and features of the present invention will become clearer.
[0032] Figure 1 The figure shows a schematic flowchart of a distributed key generation method based on quantum random numbers according to an exemplary embodiment of the present invention.
[0033] Figure 2Shown is a schematic block diagram of a distributed key generation device based on quantum random numbers according to an exemplary embodiment of the present invention.
[0034] Figure 3 Shown is a schematic diagram of the process of sharing key shares among 4 nodes on a blockchain according to an exemplary embodiment of the present invention. Detailed implementation manners
[0035] The concept of the present invention lies in: configuring a quantum random number generator for each node of the blockchain respectively; the node generates a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcasts it among the nodes; after each node successfully verifies the received proof of knowledge, it generates a global public key using the quantum random number provided by the quantum random number generator, and each node generates its own signature private key and verification public key.
[0036] Next, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0037] Figure 1 Shown is a schematic flowchart of a distributed key generation method based on quantum random numbers according to an exemplary embodiment of the present invention. The distributed key generation method based on quantum random numbers includes the following steps:
[0038] Step S1, configure a quantum random number generator for each node of the blockchain respectively;
[0039] Step S2, the node generates a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcasts it among the nodes;
[0040] Step S3, after each node successfully verifies the received proof of knowledge, it generates a global public key using the quantum random number provided by the quantum random number generator, and each node generates its own signature private key and verification public key;
[0041] Step S4, deploy a key update smart contract on the blockchain.
[0042] In step S1, a quantum random number generator is configured for each node of the blockchain respectively. Utilizing the decentralization and immutability of blockchain technology, the blockchain network is used as the underlying architecture for distributed key generation, and the quantum random number generator is deployed on the blockchain node as an entropy source. The configuration relationship between the node and the quantum random number generator can be one-to-one, that is, each node is configured with a quantum random number generator, or many-to-one, that is, multiple nodes are configured with one quantum random number generator, or many-to-many, that is, multiple nodes are configured with multiple quantum random number generators, with the aim of enabling the node to obtain quantum random numbers from the quantum random number generator.
[0043] Deploy n nodes on the blockchain. Based on the true randomness of the quantum random number provided by the quantum random number generator, each node can obtain a quantum random number through the quantum random number generator. The total number of nodes is n, and a single node is represented by P i , i = 0, ..., n-1. Let G be a cyclic group of order q, g be the generator of G, and the finite field is the set of integers modulo q.
[0044] In step S2, the node uses the quantum random number sequence provided by the quantum random number generator to generate a knowledge proof of the first quantum random number and broadcast it among the nodes. The blockchain node initiates a call to the quantum random number generator and obtains the quantum random number through random sampling. Each node P i The threshold t quantum random numbers are sampled to form a quantum random number sequence (a i0 , a i1 , ..., a i(t-1) ), and use these quantum random numbers as t-1 step polynomials The threshold t is a positive integer, and its value range is n / 2≤t <n的数值区间,n为区块链上的全部节点总数,0≤i≤n-1。
[0045] By setting the threshold t, we can deal with malicious node private key storage and the interruption or downtime of one or more nodes. The threshold t is the minimum number of signature private keys required to build a global private key, and the minimum number of messages that need to be signed by the nodes with their correct signature private keys when calculating the global signature of a message. Since all nodes on the blockchain have the same rights and obligations, the entire blockchain network is maintained by all nodes in the network, and all processes for distributed key generation are consistent. Therefore, the number of nodes n after distributed key generation is consistent with the number of signature private keys and verification public keys.
[0046] In step S2, each node P i Provide the polynomial coefficients a to other nodes i0 The knowledge proof and public commitment are used as proof information, and the proof information is broadcast to all nodes. i Through the formula σ i =(R i , μ i ) Calculate the corresponding quantum random number a i0 Proof of knowledge σ i , randomly selected uniformly R i =g k , where g is the generator of the cyclic group G, μ i= k + a i0 ·c i , where Φ is the context string for replay attack prevention. Meanwhile, each node P i generates a common commitment where each node P i broadcasts the common commitment as proof information to all the remaining n - 1 nodes and the proof of knowledge σ i .
[0047] When another node P l receives the proof of knowledge of the polynomial coefficient a i broadcast by node P i0 and the common commitment, it verifies them. If the verification fails, it aborts the distributed key generation process. If the verification succeeds, it deletes the proof of knowledge message of P i . Similarly, when node P i receives the message l and σ broadcast from node P l among the remaining n - 1 nodes, where 0 ≤ l ≤ n - 1, l ≠ i, it verifies σ l =(R l , μ l ). If the verification fails, it aborts the distributed key generation process. If the verification succeeds, it deletes σ l .
[0048] In step S3, after each node verifies the received proof information successfully, it generates its own signature private key, verification public key, and global public key respectively using the quantum random numbers provided by the quantum random number generator. Node P i After verifying the proof information successfully, each node P i generates an initial key using the quantum random numbers provided by the quantum random number generator. Node P i divides the generated initial key into n shares. One share is retained by node P i itself, and the remaining n - 1 initial key shares are separately sent to each of the remaining n - 1 nodes P l corresponding to a single initial key share (l, f i (l)), except for the initial key share (i, f i ) assigned to node P i itself, it deletes the initial key f i and all the key shares sent to other nodes.
[0049] In step S3, node P iAfter receiving the initial key shares sent by the remaining n - 1 nodes, verify the received initial key shares. If the verification fails, abort the distributed key generation process. If the verification is successful, calculate the signature private key of node P through the formula i . Securely store the signature private key s i and delete the initial key share f l sent by other nodes P l (i).
[0050] In step S3, after generating the signature private key, node P i calculates the verification public key and the global public key. Each node P i calculates its own verification public key Y through the formula i , and calculates the global public key Y, s through the formula. Here, s i is the signature private key. Further, node P i can calculate the verification public key of any node P through the formula l .
[0051] Through the distributed key generation method based on quantum random numbers, all nodes on the blockchain collaborate to generate a pair of public and private keys, namely the global public key and the global private key. The global public key is the global public key Y in the above - mentioned distributed key generation process, and all nodes can calculate it; the global private key is composed of the signature private keys of each node on the blockchain. Since the signature private key of each node is separately saved by the node itself, and constructing the global private key requires aggregating the signature private keys of t threshold nodes, no single node knows the entire global private key.
[0052] In step S4, to further improve security, deploy a key update smart contract on the blockchain. The key update smart contract regenerates the distributed key in a timed automatic update manner or in an active application update manner; the distributed key includes the global public key, the signature private key and the verification public key of each node.
[0053] This key update smart contract provides two functions. The first is the timing update function. Starting from the time of the most recent distributed key generation by the current nodes on the chain, a fixed time interval is set, and the distributed key refresh protocol is executed every fixed time interval. The second function is that the nodes on the blockchain can also actively call this key update smart contract. When one or some nodes on the blockchain detect that their signature private keys may be leaked or stolen, they can apply for re - generation of distributed keys by calling the key update smart contract. After successfully calling this key update smart contract, each node obtains a new shard of the signature private key, and at the same time, all the old signature private keys become invalid. This operation can effectively prevent attackers from stealing each shard of the private key of each node and then restoring the private key.
[0054] As Figure 2 shown, the distributed key generation device based on quantum random numbers includes:
[0055] A quantum random number generator, configured as an entropy source to provide quantum random numbers;
[0056] A proof information unit, configured to generate a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcast it among nodes;
[0057] An initial key unit, configured to generate its own initial key using the quantum random numbers provided by the quantum random number generator, allocate corresponding initial key shares for each node according to the number of nodes, and send the initial key shares to each other among nodes separately;
[0058] A signature private key unit, configured to generate its own signature private key according to the initial key share it retains and all the initial key shares sent to this node by other nodes;
[0059] A verification public key unit, configured to calculate its own verification public key Y using the formula ; i ;
[0060] A global public key unit, configured to calculate the global public key Y using the formula ;
[0061] where g is the generator of the cyclic group G of order q, s i is the signature private key,
[0062] As Figure 3As shown, a schematic diagram of the process of sharing key shares by 4 nodes of the blockchain is presented. The total number of nodes n on the blockchain is 4, and the 4 nodes are Node 0, Node 1, Node 2, and Node 3 respectively. The value of the set threshold t is 3. Taking Node 0 as an example for illustration, the other nodes perform the same operations. The quantum random number generator provides quantum random numbers to Node 0. Node 0 samples the quantum random numbers provided by the quantum random number generator t = 3 times to obtain 3 quantum random numbers, forming a quantum random number sequence (a 00 , a 01 , a 02 ), and generates a polynomial wherein, the 3 quantum random numbers (a 00 , a 01 , a 02 ) serve as the polynomial coefficients.
[0063] Node 0 calculates the proof of knowledge σ0 of a 00 in the quantum random number sequence sampled by itself, and calculates a common commitment Node 0 broadcasts as its own proof information to all other nodes; after receiving the proof information broadcast by Node 0, Node 1, Node 2, and Node 3 verify its correctness. If the verification fails, the distributed key generation process is aborted. If the verification is successful, σ0 is deleted and the next step is continued;
[0064] Similarly, after Node 0 receives the broadcast by Node 1, the broadcast by Node 2, and the broadcast by Node 3, it also verifies their correctness respectively. If the verification fails, the distributed key generation process is aborted. If the verification is successful, σ1, σ2, and σ3 are deleted and the next step is continued.
[0065] On each node, the quantum random numbers provided by the quantum random number generator are used to generate their respective initial keys. The initial keys generated by itself are divided into 4 initial key shares. After retaining its own initial key share, the other initial key shares are distributed to the corresponding nodes. The specific process of sharing initial key shares among the 4 nodes is as follows:
[0066] Node 0 divides the initial key generated by itself into 4 initial key shares: (0, f0(0)), (1, f0(1)), (2, f0(2)), (3, f0(3)), where (0, f0(0)) is retained by Node 0 itself, (1, f0(1)) is sent to Node 1, (2, f0(2)) is sent to Node 2, and (3, f0(3)) is sent to Node 3.
[0067] Node 1 divides the initial key it generates into 4 initial key shares: (0, f1(0)), (1, f1(1)), (2, f1(2)), (3, f1(3)), where (1, f1(1)) is retained by Node 1 itself, (0, f1(0)) is sent to Node 0, (2, f1(2)) is sent to Node 2, and (3, f1(3)) is sent to Node 3.
[0068] Node 2 divides the initial key it generates into 4 initial key shares: (0, f2(0)), (1, f2(1)), (2, f2(2)), (3, f2(3)), where (2, f2(2)) is retained by Node 2 itself, (0, f2(0)) is sent to Node 0, (1, f2(1)) is sent to Node 1, and (3, f2(3)) is sent to Node 3.
[0069] Node 3 divides the initial key it generates into 4 initial key shares: (0, f3(0)), (1, f3(1)), (2, f3(2)), (3, f3(3)), where (3, f3(3)) is retained by Node 3 itself, (0, f3(0)) is sent to Node 0, (1, f3(1)) is sent to Node 1, and (2, f3(2)) is sent to Node 2.
[0070] The specific processes for the 4 nodes to generate their respective signature private keys include:
[0071] Taking Node 0 as an example, when Node 0 receives the initial key shares (0, f1(0)), (0, f2(0)), (0, f3(0)) sent separately by Node 1, Node 2, and Node 3, it verifies these three initial key shares separately: If any one of the initial key shares fails the verification, the distributed key generation process is aborted; when all the received initial key shares are successfully verified, the signature private key of itself is calculated jointly using the initial key share (0, f0(0)) retained by Node 0 and the initial key shares (0, f1(0)), (0, f2(0)), (0, f3(0)) received from other nodes.
[0072] Referring to the way Node 0 calculates its signature private key s0, Node 1, Node 2, and Node 3 perform the same operations to generate their respective signature private keys s1, s2, and s3.
[0073] After all 4 nodes have calculated their respective signature private keys, through the formula the verification public keys Y0, Y1, Y2, and Y3 of themselves and the global public key are calculated respectively. Taking Node 0 as an example, through the formula the verification public key Y0 of Node 0 is obtained, and through the formula Obtain the global public key Y.
[0074] In addition, each node can calculate the verification public keys of the other three nodes through the formula All four nodes broadcast the calculated global public key. After on-chain consensus on the blockchain, the global public key is stored on the blockchain.
[0075] So far, nodes 0, 1, 2, and 3 on the blockchain have generated their own signature private keys S i and verification public keys Y i as well as the global public key Y on the blockchain. When global verification of a message signed with a private key is required, this global public key can be used for verification.
[0076] Furthermore, after completing the distributed key generation process, a key update smart contract can also be deployed on the blockchain. The key update smart contract mainly provides two functional interfaces: one is a timed automatic update functional interface, and the other is an active application update functional interface. For the automatic update function, the key update smart contract will record the time point of each distributed key generation on the chain. According to the time of the most recent distributed key generation, a certain period is set. After each period ends, quantum random numbers are called again for a distributed key generation to address the possible leakage of signature private keys on the blockchain; when there is an increase or decrease in nodes on the blockchain, or when a node on the chain discovers that a node's signature private key has been leaked or stolen, the active update function of the key update smart contract can be actively called to re-perform distributed key generation to ensure security.
[0077] In addition, according to an exemplary embodiment of the present invention, a computer-readable storage medium storing a computer program may also be provided. The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to execute the distributed key generation method based on quantum random numbers according to an exemplary embodiment of the present invention. The computer-readable recording medium is any data storage device that can store data read by a computer system. Examples of computer-readable recording media include: read-only memory, random access memory, read-only optical discs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission via the Internet through wired or wireless transmission paths).
[0078] In addition, according to an exemplary embodiment of the present invention, a computing device may also be provided. The computing device includes a processor and a memory. The memory is used to store a computer program. The computer program is executed by the processor to cause the processor to execute the computer program of the distributed key generation method based on quantum random numbers according to an exemplary embodiment of the present invention.
[0079] It should be noted that the first, second, third, fourth, etc. in the above description are used to distinguish features with the same name in the same or different embodiments, and are not limitations in terms of quantity. Moreover, the present invention is not limited to the specific configurations and processes described above or shown in the figures. The above description is only the specific implementation manner of the present invention. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the described systems, devices, modules or units can refer to the corresponding processes in the method embodiments and will not be elaborated herein. It should be understood that the protection scope of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present invention can think of various equivalent modifications or substitutions, and these modifications or substitutions should all be covered within the protection scope of the present invention.
Claims
1. A distributed key generation method based on quantum random numbers, characterized in that, Including: Configuring a quantum random number generator for each node of the blockchain respectively; The node generates a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcasts it among the nodes; After each node successfully verifies the received proof of knowledge, it generates a global public key using the quantum random number provided by the quantum random number generator, and each node generates its own signature private key and verification public key.
2. The distributed key generation method based on quantum random numbers according to claim 1, wherein After generating the global public key, signature private key, and verification public key, the method further includes: deploying a key update smart contract on the blockchain; the key update smart contract regenerates the distributed key in a timed automatic update manner or in an active application update manner.
3. The distributed key generation method based on quantum random numbers according to claim 1, wherein The step in which the node generates a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcasts it among the nodes specifically includes: The node samples the quantum random number provided by the quantum random number generator; Sampling obtains a quantum random number sequence \(a\) composed of \(t\) quantum random numbers as thresholds i0 , \(a\) i1 ,..., \(a\) ij , and uses the quantum random number as the coefficient of the \(t - 1\) - order polynomial ; where \(t\) is a positive integer, and the value range is \(n / 2\leq t\lt n\), \(n\) is the total number of nodes on the blockchain; \(0\leq i\leq n - 1\); The node generates a proof of knowledge and a common commitment for the first quantum random number in the quantum random number sequence; The node broadcasts the proof of knowledge and the common commitment as proof information to other nodes; After receiving the proof information broadcast by other nodes, the node performs a correctness verification. If the verification fails, the distributed key generation process is aborted. If the verification is successful, the received proof of knowledge is deleted.
4. The distributed key generation method based on quantum random numbers according to claim 1, characterized in that The step of generating a global public key using the quantum random number provided by the quantum random number generator and each node generating its own signature private key and verification public key specifically includes: The node generates its own initial key using the quantum random number provided by the quantum random number generator; The initial key is allocated corresponding initial key shares for each node according to the number of nodes, and the nodes send the initial key shares to each other separately; The node generates its own signature private key based on its reserved initial key share and all the initial key shares sent to this node by other nodes; The node calculates its own verification public key Y through the formula ; the node calculates the global public key Y through the formula i . Where g is the generator of the cyclic group G of order q, and s is the signature private key, i and 5. The distributed key generation method based on quantum random numbers according to claim 4, characterized in that The step of generating a global public key using the quantum random number provided by the quantum random number generator and each node generating its own signature private key and verification public key further includes: Node P i Through the formula The verification public key of any node P is calculated, where q is the order of the cyclic group G, and l is randomly and uniformly selected, where 1 ≤ l ≤ n, l ≠ i, n is the total number of nodes on the blockchain, and n / 2 ≤ t < n. 1 ≤ l ≤ n, l ≠ i, n is the total number of nodes on the blockchain, and n / 2 ≤ t < n.
6. The distributed key generation method based on quantum random numbers according to claim 4, characterized in that After sending the initial key share, the node deletes the initial key and the initial key share sent to other nodes, and only saves its reserved initial key share.
7. The distributed key generation method based on quantum random numbers according to claim 1, wherein After generating the global public key, signature private key, and verification public key, the method further includes: Each node on the blockchain collaborates to generate a pair of public and private keys, namely the global public key and the global private key; among them, the global public key is the global public key Y in the distributed key generation process, and all nodes can obtain it through calculation; the global private key is composed of the signature private keys of the nodes on the blockchain. To construct the global private key, at least a threshold t of the signature private keys of the nodes need to be aggregated, where n / 2 ≤ t < n, and n is the total number of nodes on the blockchain.
8. A distributed key generation device based on quantum random numbers, characterized in that, Including: A quantum random number generator, configured as an entropy source to provide quantum random numbers; A proof information unit, configured to generate a proof of knowledge about the first quantum random number using the quantum random number sequence provided by the quantum random number generator and broadcast it among the nodes; An initial key unit, configured to generate its own initial key by using quantum random numbers provided by a quantum random number generator, allocate corresponding initial key shares for each node according to the number of nodes, and separately send the initial key shares to each other among the nodes; A signature private key unit, configured to generate its own signature private key according to the initial key share retained by itself and all the initial key shares sent to this node by other nodes; Verification public key unit, configured to calculate its own verification public key Y using the formula ; i ; A global public key unit, configured to calculate a global public key Y by using the formula ; where \(g\) is a generator of a cyclic group \(G\) of order \(q\), and \(s\) i is the signature private key, 9. A computer-readable storage medium storing a computer program, wherein, When the computer program is executed by a processor, the distributed key generation method based on quantum random numbers according to any one of claims 1 to 7 is implemented.
10. A computing device, comprising: A processor and a memory, the memory stores a computer program, and when the computer program is executed by the processor, the distributed key generation method based on quantum random numbers according to any one of claims 1 to 7 is implemented.
Citation Information
Cited By
Method for dynamically updating secret key split share
CN121396461A