US12445298B2ActiveUtilityA1

Pipeline-friendly signature and verification method, device, and storage medium

44
Assignee: HANGZHOU HYPERCHAIN TECH CO LTDPriority: Jun 22, 2020Filed: Oct 10, 2022Granted: Oct 14, 2025
Est. expiryJun 22, 2040(~14 yrs left)· nominal 20-yr term from priority
H04L 9/0869H04L 9/0825H04L 9/0643H04L 9/50H04L 9/3255H04L 9/3247
44
PatentIndex Score
0
Cited by
20
References
15
Claims

Abstract

The present application provides a pipeline-friendly signature and verification method, a device and a storage medium. The method includes the following steps: generating, by the Witness node, a public-private key pair including a private key and a public key, through a basic signature algorithm, and sending the public key to other Witness nodes; selecting, by the Witness node, a random number, and sending V to a Leader node; receiving C sent by the Leader node; calculating a message digest through the basic signature algorithm and a message hash algorithm, according to the C and the public key, and then calculating ps, and sending the ps to the Leader node.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A pipeline-friendly signature method, comprising:
 generating, by a Witness node, a public-private key pair including a private key and a public key, through a basic signature algorithm, and sending the public key to other Witness nodes; 
 selecting, by the Witness node, a random number; 
 determining, by the Witness node, an intermediate parameter, denoted as “V”, according to the random number and a generator, and sending the V to a Leader node, wherein the generator is a relevant parameter determined according to a type of the basic signature algorithm; 
 receiving, by the Witness node, a challenge parameter, denoted as “C”, sent by the Leader node, wherein the C is obtained by the Leader node according to the V received by the Leader node; 
 determining, by the Witness node, a message digest according to the C and the public key, through the basic signature algorithm and a message hash algorithm; and 
 determining, by the Witness node, a partial signature, denoted as “ps”, according to the message digest and the random number; and sending the ps to the Leader node. 
 
     
     
       2. The pipeline-friendly signature method according to  claim 1 , wherein the V is determined by the Witness node according to the following formula:
     V=v*G*A    
 wherein, v is the random number, G is the generator, and a is a constant. 
 
     
     
       3. The pipeline-friendly signature method according to  claim 1 , wherein the ps is determined by the Witness node according to the following formula:
     ps =( h+b )* x+v    
 wherein, h is the message digest, x is the private key, v is the random number, and b is a constant. 
 
     
     
       4. The pipeline-friendly signature method according to  claim 1 , further comprising:
 within a first appointment time, 
 determining that a corresponding Witness node has given up voting in case that the V sent by the Witness node is not received by the Leader node, and randomly generating, by the Leader node, a V for the corresponding Witness node; and 
 determining that the corresponding Witness node is participated in voting in case that the V sent by the Witness node is received by the Leader node; and 
 summing, by the Leader node, all the V to obtain the C, and sending the C to the Witness node; 
 within a second appointment time, 
 receiving, by the Leader node, the ps sent by the Witness node; 
 determining, by the Leader node, according to the ps received from the Witness node, whether a valid vote is taken by the Witness node; 
 determining, by the Leader node, N, wherein the N is a number of Witness nodes where valid votes are taken; and 
 determining, by the Leader node, an aggregate signature when the N is greater than or equal to T, wherein s is a sum of N correct ps, and T is a threshold. 
 
     
     
       5. The pipeline-friendly signature method according to  claim 4 , wherein the determining, by the Leader node, according to the ps received from the Witness node, whether the valid vote is taken by the Witness node, comprises:
 verifying, by the Leader node, whether the ps received from the Witness node is correct; 
 determining that a valid vote is taken by the Witness node which sends the ps, when it is verified by the Leader node that the ps received from the Witness node is incorrect; and 
 determining that an invalid vote is taken by the Witness node which sends the ps, when it is verified by the Leader node that the ps received from the Witness node is correct. 
 
     
     
       6. The pipeline-friendly signature method according to  claim 4 , wherein before determining, by the Leader node, according to the ps received from the Witness node, whether the valid vote is taken by the Witness node, the method further comprises:
 determining that an invalid vote is taken by the Witness node which sends the ps, in case that the ps sent by the Witness node is not received by the leader node. 
 
     
     
       7. The pipeline-friendly signature method according to  claim 6 , wherein the method further comprises:
 marking, by the Leader node, a marker bit corresponding to the Witness node as 0 in a bitmask, in case that an invalid vote is taken by the Witness node, wherein the bitmask includes a plurality of marker bits, each Witness node has a corresponding marker bit in the bitmask; and 
 marking, by the Leader node, the marker bit corresponding to the Witness node as 1 in the bitmask, in case that a valid vote is taken by the Witness node. 
 
     
     
       8. The pipeline-friendly signature method according to  claim 4 , wherein before determining, by the Leader node, according to the ps received from the Witness node, whether the valid vote is taken by the Witness node, the method further comprises:
 determining that an invalid vote is taken by the Witness node which sends the ps, in case that the ps sent by the Witness node is not received by the leader node. 
 
     
     
       9. The pipeline-friendly signature method according to  claim 8 , wherein the method further comprises:
 marking, by the Leader node, a marker bit corresponding to the Witness node as 0 in a bitmask, in case that an invalid vote is taken by the Witness node, wherein the bitmask includes a plurality of marker bits, each Witness node has a corresponding marker bit in the bitmask; and 
 marking, by the Leader node, the marker bit corresponding to the Witness node as 1 in the bitmask, in case that a valid vote is taken by the Witness node. 
 
     
     
       10. The pipeline-friendly signature method according to  claim 5 , wherein before determining, by the Leader node, according to the ps received from the Witness node, whether the valid vote is taken by the Witness node, the method further comprises:
 determining that an invalid vote is taken by the Witness node which sends the ps, in case that the ps sent by the Witness node is not received by the leader node. 
 
     
     
       11. The pipeline-friendly signature method according to  claim 10 , wherein the method further comprises:
 marking, by the Leader node, a marker bit corresponding to the Witness node as 0 in a bitmask, in case that an invalid vote is taken by the Witness node, wherein the bitmask includes a plurality of marker bits, each Witness node has a corresponding marker bit in the bitmask; and 
 marking, by the Leader node, the marker bit corresponding to the Witness node as 1 in the bitmask, in case that a valid vote is taken by the Witness node. 
 
     
     
       12. A signature verification method, configured to verify an aggregate signature obtained through the pipeline-friendly signature method according to  claim 1 , and comprising:
 acquiring an aggregate signature; 
 determining, according to a bitmask, a Witness node that has sent a correct ps; 
 determining that a signature verification is passed when a value obtained by s*a*G is equal to a value obtained by (h+b)*AggX+C, and N≥T; or determining that the signature verification is failed when the value obtained by s*a*G is not equal to the value obtained by (h+b)*AggX+C, and/or N<T; 
 wherein s is a sum of N correct ps, N is a number of Witness nodes that have sent the correct ps, T is a threshold, AggX is a sum of public keys X of N Witness nodes that have sent the correct ps, and the C is a sum of the V of the N Witness nodes that have sent the correct ps, a and b are constants, G is the generator, and h is the message digest. 
 
     
     
       13. The signature verification method according to  claim 12 , wherein the determining, according to the bitmask, the Witness node that has sent the correct ps, comprises:
 determining a target marker bit that is marked as 1 in the bitmask; and 
 determining that the Witness node corresponding to the target marker bit is the Witness node that has sent the correct ps. 
 
     
     
       14. A device, comprising:
 at least one processor; and 
 a memory, configured to store at least one computer program, that, when executed by the at least one processor, cause the at least one processor to implement the method according to  claim 1 . 
 
     
     
       15. A non-transitory computer readable storage medium storing a computer program, that, when executed by a processor, causes the processor to implement the method according to  claim 1 .

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.