A multi-signature method, signature system, electronic device and storage medium
Patent Information
- Application Number
- CN202311666733.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-06
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-12-06
AI Technical Summary
[0003]目前已经有多种多重签名方案,但是这些签名方案存在计算过程复杂,验证过程不明确等问题,从而导致签名方案存在安全性低,难以适用于多种场景的技术问题
Smart Images

Figure CN117749362B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of message signature technology, and more specifically, to a multi-signature method, signature system, electronic device, and storage medium. Background Technology
[0002] Multi-signature refers to multiple users simultaneously signing a message to verify the integrity and authenticity of the data. Multi-signature schemes are generally divided into ordered multi-signature schemes and broadcast multi-signature schemes. Ordered multi-signature involves the message sender pre-designing a signing order and sending this order to each signer. The message m to be signed is then sent to the first signer, who signs it and then sends it to the second signer. Starting from the second signer, each signer, upon receiving a signed message, first verifies the validity of the previous signature. If the signature is valid, it continues signing and sends the signed message to the next signer; if the signature is invalid, it refuses to sign the message, terminating the entire signing process. Broadcast multi-signature, on the other hand, involves the message sender simultaneously sending the message m to each signer for signing, then sending the signing results to a signature collector. The collector signs the message, organizes it, and sends it to a signature verifier. The signature verifier then verifies the validity of the multi-signature.
[0003] There are currently many multi-signature schemes, but these schemes suffer from problems such as complex calculation processes and unclear verification processes, resulting in low security and difficulty in being applied to various scenarios. Summary of the Invention
[0004] The purpose of this application is to provide a multi-signature method, signature system, electronic device, and storage medium, which have a simpler calculation process, a more explicit signature verification process, and higher security compared to the prior art, and can be applied to a variety of scenarios.
[0005] In a first aspect, embodiments of this application provide a multi-signature method applied to a signature system, the signature system comprising: multiple communication terminals; each communication terminal comprising: an information sender, a signer, a signature collector, and an information receiver; the method comprising:
[0006] The signer generates a first random number, and generates a second random number based on the first random number and a pre-synchronized obfuscation algorithm, and broadcasts the second random number to the other communication terminals;
[0007] The information sender generates information to be signed and sends the information to be signed to each of the signers;
[0008] Each signer generates a partial signature based on its second random number and the information to be signed received by each signer; each signer then sends its partial signature to the signature collector.
[0009] The signature collector verifies a portion of each signer's signature based on a second random number for each signer. If the portion of each signer's signature passes verification, the signature collector generates a multi-signature and sends the multi-signature to the information receiver.
[0010] The information recipient verifies the multi-signature. If the multi-signature passes the verification, the information recipient accepts the information to be signed.
[0011] In the above implementation, a second random number is generated through a confusion algorithm. The signer uses this random number to generate a partial signature, ensuring anonymity and security. Furthermore, the random number generation process is simple and applicable to various scenarios. The signer uses the second random number to generate a partial signature, the signature collector uses the second random number to verify the partial signature and generate a multi-signature, and the signature receiver uses the second random number to verify the multi-signature. The use of the second random number throughout the entire signing and verification process ensures high security for the entire signing method.
[0012] Further, each signer generates a partial signature based on its second random number and the information to be signed received, including:
[0013] Each signer generates a partial signature based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm;
[0014] The signature collector verifies a portion of each signer's signature based on a second random number generated by each signer, including:
[0015] The signature collector verifies a portion of each signature based on a second random number for each signer, the information to be signed received by the signature collector, and a pre-synchronized hash algorithm.
[0016] In the above implementation, a pre-synchronized hash algorithm is used. The signer generates a partial signature using the pre-synchronized hash algorithm and a second random number. The signature collector verifies the partial signature of each signer based on the second random number of each signer, the information to be signed received by the signature collector, and the pre-synchronized hash algorithm. Throughout the signing process, different communication terminals use the same algorithm for calculation, ensuring high matching and security. This simplifies the signing process and makes it suitable for various scenarios.
[0017] Further, each signer generates a partial signature based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm, including:
[0018] Each signer generates a third random number;
[0019] Each signer generates a first parameter and a second parameter based on a pre-synchronized group generator, a first random number, a second random number, a third random number, and a randomization function;
[0020] Each signer generates a third parameter based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm;
[0021] Each signer generates a fourth parameter based on the third parameter and the second parameter;
[0022] Each signer generates the partial signature based on the first parameter and the fourth parameter.
[0023] In the above implementation process, by pre-synchronizing the group generator, each signer generates a third random number, making the randomization function of each signer distinct from that of other signers. Each signer generates a third parameter based on the second random number, the information to be signed received by each signer, and the pre-synchronized hash algorithm; each signer generates a fourth parameter based on the third and second parameters; each signer generates a partial signature based on the first and fourth parameters, making the partial signature highly secure.
[0024] Further, the signature collector verifies a portion of each signer's signature based on a second random number for each signer, the signature information to be signed received by the signature collector, and a pre-synchronized hash algorithm, including:
[0025] The first verification parameter is generated based on the pre-synchronized hash function and the message to be signed received by the signature collector;
[0026] The partial signature of each signer is verified based on the fourth parameter in the partial signature of each signer, the first parameter in the partial signature of each signer, the second random number, and the first verification parameter.
[0027] In the above implementation process, the first verification parameter is generated using the message to be signed. The partial signature of each signer is verified based on the fourth parameter in the partial signature of each signer, the first parameter in the partial signature of each signer, the second random number, and the first verification parameter, ensuring that the signature collector can determine that the received information has not been tampered with through verification.
[0028] Furthermore, the signature collector generates multi-signatures, including:
[0029] The signature collector generates a second verification parameter based on a second random number from all signers.
[0030] The signature collector generates a third verification parameter based on the first parameter of all signers;
[0031] The signature collector generates a fourth verification parameter based on the second random number of all signers, the message to be signed received by the signature collector, the second verification parameter, and the third verification parameter;
[0032] The signature collector generates the multi-signature based on the second verification parameter, the third verification parameter, and the fourth verification parameter.
[0033] In the above implementation process, the signature collector generates a second verification parameter based on the second random number of all signers; the signature collector generates a third verification parameter based on the first parameter of all signers; the signature collector generates a fourth verification parameter based on the second random number of all signers and the message to be signed received by the signature collector; the signature collector generates a multi-signature based on the second verification parameter, the third verification parameter and the fourth verification parameter, so that the multi-signature includes both the message to be signed by the signature collector and the second random number of all signers, thereby improving the security of the multi-signature method.
[0034] Furthermore, the information recipient verifies the multi-signature, including:
[0035] The information recipient obtains the information to be signed;
[0036] The information receiver uses a pre-synchronized hash function to generate a fifth verification parameter based on the information to be signed received by the information receiver and the second random number of all signers;
[0037] The information recipient verifies the multi-signature according to the fifth verification parameter.
[0038] In the above implementation process, the information receiver uses a pre-synchronized hash function to generate a fifth verification parameter based on the information to be signed received by the information receiver and the second random number of all signers, thus clarifying the verification method of the information receiver for multi-signature, making the multi-signature method applicable to various scenarios.
[0039] Furthermore, the information recipient verifies the multi-signature according to the fifth verification parameter, including:
[0040] The information recipient verifies the multi-signature based on the fifth verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter in the multi-signature.
[0041] In the above implementation process, the information receiver regenerates the fifth verification parameter based on the received information to be signed and the second random number of all signers. Then, it performs calculations based on the fifth verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter to verify the multi-signature, thereby improving the security of the multi-signature algorithm.
[0042] Secondly, this application provides a signature system, which includes: multiple communication terminals; each communication terminal includes: an information sender, a signer, a signature collector, and an information receiver;
[0043] The signer is used to generate a first random number, generate a second random number based on the first random number and a pre-synchronized obfuscation algorithm, and broadcast the second random number to the other communication terminals.
[0044] The information sender is used to generate the information to be signed and send the information to be signed to each of the signers;
[0045] Each signer generates a partial signature based on a second random number and the information to be signed received by each signer; each signer then sends its partial signature to the signature collector.
[0046] The signature collector is used to verify a portion of the signature of each signer based on a second random number of each signer. If the portion of the signature of each signer passes the verification, the signature collector generates a multi-signature and sends the multi-signature to the information receiver.
[0047] The information recipient verifies the multi-signature. If the multi-signature passes verification, the information recipient accepts the information to be signed.
[0048] Thirdly, embodiments of this application provide an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method as described in any of the first aspects.
[0049] Fourthly, embodiments of this application provide a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method as described in any of the first aspects.
[0050] Other features and advantages disclosed in this application will be set forth in the following description, or some features and advantages may be inferred from the description or determined without doubt, or may be learned by practicing the above-described technology disclosed in this application.
[0051] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0052] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 A flowchart illustrating the multi-signature method provided in this application embodiment;
[0054] Figure 2 A schematic diagram of the signature system provided in this application embodiment;
[0055] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0056] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.
[0057] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0058] See Figure 1 This application provides a multi-signature method that can be applied to a signature system. See also... Figure 1 The signature system includes: multiple communication terminals; each communication terminal includes: a message sender, a signer, a signature collector, and a message receiver; the methods include:
[0059] S1: The signer generates a first random number, generates a second random number based on the first random number and a pre-synchronized obfuscation algorithm, and broadcasts the second random number to other communication terminals;
[0060] For example, the synchronization process of the obfuscation algorithm is as follows: The administrator of the signature system generates or selects an obfuscator and synchronizes the obfuscator to all signers. After receiving the obfuscator, each signer selects a first random number and inputs this first random number and its private key into the obfuscator. The obfuscator then generates a second random number for each signer, and each signer broadcasts its second random number to other communication terminals of the signature system. Each signer's public and private keys are generated by the Setup function, which is a multinomial-time algorithm.
[0061] S2: The information sender generates information to be signed and sends it to each signer;
[0062] S3: Each signer generates a partial signature based on its second random number and the information to be signed received by each signer; each signer sends its partial signature to the signature collector.
[0063] S4: The signature collector verifies the partial signature of each signer based on the second random number of each signer. If the partial signature of each signer passes the verification, the signature collector generates a multi-signature and sends the multi-signature to the information receiver.
[0064] S5: The recipient verifies the multi-signature. If the multi-signature passes verification, the recipient accepts the information to be signed.
[0065] In the above implementation, a second random number is generated through a confusion algorithm. The signer uses this random number to generate a partial signature, ensuring anonymity and security. Furthermore, the random number generation process is simple and applicable to various scenarios. The signer uses the second random number to generate a partial signature, the signature collector uses the second random number to verify the partial signature and generate a multi-signature, and the signature receiver uses the second random number to verify the multi-signature. The use of the second random number throughout the entire signing and verification process ensures high security for the entire signing method.
[0066] In some embodiments, S3 includes: each signer generating a partial signature based on a second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm; S4 includes: the signature collector verifying the partial signature of each signer based on the second random number of each signer, the information to be signed received by the signature collector, and the pre-synchronized hash algorithm.
[0067] For example, the synchronization process of the hash function is as follows: The system administrator of the signature system selects an ideal hash function and synchronizes the hash function to all communication terminals. Each signer uses the hash function to generate a partial signature, the signature collector uses the hash function to perform calculations to verify the partial signature and generate a multi-signature, and the information receiver uses the hash function to verify the multi-signature.
[0068] In the above implementation, a hash algorithm is pre-synchronized. The signer uses the pre-synchronized hash algorithm and a second random number to generate a partial signature. The signature collector verifies each signer's partial signature based on the second random number from each signer, the information to be signed received by the signature collector, and the pre-synchronized hash algorithm. Throughout the signing process, different communication ends use the same hash algorithm for calculation, ensuring high matching and security. This simplifies the signing and verification process and makes it suitable for various scenarios.
[0069] In some embodiments, each signer generates a partial signature based on a second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm, including: each signer generating a third random number; each signer generating a first parameter and a second parameter based on a pre-synchronized group generator, a first random number, a second random number, a third random number, and a randomization function; each signer generating a third parameter based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm; each signer generating a fourth parameter based on the third parameter and the second parameter; and each signer generating a partial signature based on the first parameter and the fourth parameter.
[0070] For example, the synchronization method for group generators is as follows: The system administrator selects a multiplicative group G of order p, where g and h ∈ G are two generators of G. The administrator synchronizes G, g, and h with all communication endpoints of the signature system.
[0071] In some embodiments, the signer i generates a third random number. in, It is to remove the finite field Z p The set of all elements after the zero element is used to calculate the first and second parameters using a randomization function, as shown in the following formula: Among them, u iv is the first parameter of signer i. i r is the second parameter of signer i. i h is the first random number for signer i; signer i generates its third parameter according to the following formula: i =Hash(o i ,m), where o i Let hv be the second random number for signer i, and m be the message to be signed received by signer i. Signer i generates its fourth parameter according to the following formula: hv i =v i ·h i , among which, hv i This is the fourth parameter of the signer i.
[0072] In some embodiments, each signer may use a pre-synchronized information transmission method to generate a partial signature of each signer based on the first parameter and the fourth parameter, and other communication terminals may extract the first parameter and the fourth parameter from the partial signature of each signer based on the pre-synchronized information transmission method.
[0073] In the above implementation, by pre-synchronizing the group generator, each signer generates a third random number, enabling each signer to generate randomness distinct from other signers through a randomization function. Each signer generates a third parameter based on the second random number, the information to be signed received by each signer, and the pre-synchronized hash algorithm; each signer generates a fourth parameter based on the third and second parameters; and each signer generates a partial signature based on the first and fourth parameters, making the partial signature highly secure.
[0074] In some embodiments, the signature collector verifies the partial signature of each signer based on a second random number of each signer, the message to be signed received by the signature collector, and a pre-synchronized hash algorithm, including: generating a first verification parameter based on a pre-synchronized hash function and the message to be signed received by the signature collector; and verifying the partial signature of each signer based on a fourth parameter in the partial signature of each signer, a first parameter in the partial signature of each signer, the second random number, and the first verification parameter.
[0075] For example, the signature collector generates the first verification parameter h′ according to the following formula. i =Hash(o i ,m′), where m′ is the message to be signed received by the signature collector from the message sender. The partial signature of each signer is verified according to the following formula: If the formula holds true, then the partial signature of signer i passes verification.
[0076] In the above implementation process, the first verification parameter is generated using the message to be signed. The partial signature of each signer is verified based on the fourth parameter in the partial signature of each signer, the first parameter in the partial signature of each signer, the second random number, and the first verification parameter, ensuring that the signature collector can determine that the received information has not been tampered with through verification.
[0077] In some embodiments, the signature collector generates multi-signatures, including:
[0078] The signature collector generates a second verification parameter based on a second random number generated from all signers.
[0079] The signature collector generates a third verification parameter based on the first parameter from all signers.
[0080] The signature collector generates a fourth verification parameter based on the second random number from all signers, the message to be signed received by the signature collector, the second verification parameter, and the third verification parameter;
[0081] The signature collector generates a multi-signature based on the second, third, and fourth verification parameters.
[0082] For example, the second verification parameter is generated according to the following formula: O is the second verification parameter. The third verification parameter is generated according to the following formula. Where U is the third verification parameter, n is the number of signers, and p is a preset large prime number. The fourth verification parameter is generated according to the following formula: HV = U O ·Ha, where HV is the fourth verification parameter.
[0083] In some embodiments, the signature collector can use a pre-synchronized information transmission method to generate a multi-signature based on the second verification parameter, the third verification parameter, and the fourth verification parameter. Other communication terminals can extract the second verification parameter, the third verification parameter, and the fourth verification parameter from each signer's partial signature based on the pre-synchronized information transmission method.
[0084] In the above implementation process, the signature collector generates a second verification parameter based on the second random number of all signers; the signature collector generates a third verification parameter based on the first parameter of all signers; the signature collector generates a fourth verification parameter based on the second random number of all signers and the message to be signed received by the signature collector; the signature collector generates a multi-signature based on the second verification parameter, the third verification parameter and the fourth verification parameter, so that the multi-signature includes both the message to be signed received by the signature collector and the second random number of all signers, thereby improving the security of the multi-signature method.
[0085] In some embodiments, the information recipient verifies the multi-signature, including:
[0086] The recipient obtains the information to be signed;
[0087] The information receiver uses a pre-synchronized hash function to generate a fifth verification parameter based on the information to be signed received by the information receiver and the second random number of all signers;
[0088] The recipient verifies the multi-signature based on the fifth verification parameter.
[0089] For example, the fifth verification parameter is generated according to the following formula: Where Ha′ is the fifth verification parameter, and m″ is the information to be signed received by the information receiver.
[0090] In the above implementation process, the information receiver uses a pre-synchronized hash function to generate a fifth verification parameter based on the information to be signed received by the information receiver and the second random number of all signers, thus clarifying the information receiver's verification method for multi-signature, making the multi-signature method applicable to various scenarios.
[0091] In some embodiments, the information recipient verifies the multi-signature according to the fifth verification parameter, including: the information recipient verifies the multi-signature according to the fifth verification parameter, the second verification parameter, the third verification parameter and the fourth verification parameter in the multi-signature.
[0092] For example, multi-signature verification is performed according to the following formula: If the above formula holds true, the multi-signature verification will pass, and the message receiver can use this to determine that the information it received was sent by the message sender.
[0093] In the above implementation process, the information receiver regenerates the fifth verification parameter based on the second random number of all signers, and then performs calculations based on the fifth verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter, thereby realizing the verification of multi-signature and improving the security of the multi-signature algorithm.
[0094] As an example, in one application scenario, a CA (Certificate Authority) generates a private key and issues a digital certificate to each user using a public key. The purpose of the digital certificate is to prove that the user listed in the certificate legally owns the public key listed in the certificate. The certificate content includes: information about the electronic certification authority, public key user information, the public key, the CA's signature, and the validity period, etc. (using (sk...) i ,pk i ) represent the user's private key and public key pair, respectively.
[0095] The system administrator selects a multiplicative group G of order p, where g, h ∈ G are two generators of G. As an optional implementation, an indistinguishable obfuscator is used as an example. The system administrator generates or selects an indistinguishable obfuscator IO(). The system administrator selects an ideal hash function. The system administrator synchronizes {G, g, h, p, IO(), Hash()} to all signers. After receiving {G, g, h, p, IO(), Hash()}, signer i selects a random number. The random number and its private key are then input into an indistinguishable obfuscator, which generates a random number IO for the signer i. i ←IO(sk i ,r i )mod p, then the signing party i will IO i Broadcast it.
[0096] After the message sender broadcasts the message requiring signature to each signer via a broadcast channel, each signer generates a partial signature according to the following steps: Two random variables are generated using a randomization algorithm: First, a random number is selected. Then, the randomization function is used to calculate (u i ,v i )←Randomize(g,h,IO i ,r i ,t i ),in, Calculate h i =Hash(IO) i ,m), and further calculate hv i =v i ·h i The signer i generates a partial signature of message m: σ i =(u i ,hv i ).
[0097] After receiving message m′ and the partial signatures sent by each signer, the signature collector first calculates h′. i =Hash(IO) i ,m′), then verify If the partial signature is valid, then the partial signature passes verification, and m′ = m. Assume the number of signers is n. After each signer's partial signature passes verification, the signature collector first performs I / O... i and u i Aggregate to obtain Then calculate And calculate HV = U IOIf Ha is true, then the multi-signature is σ = (U, HV, IO). The signature collector sends the multi-signature to the message receiver.
[0098] After receiving message m″ and the multi-signature, the message receiver first calculates... Then verify Check if it is true. If it is true, then prove that m″ = m and accept the message.
[0099] See Figure 2 This application also provides a signature system, including:
[0100] Information sender 1, signer 2, signature collector 3 and information receiver 4. Signer 2 is used to generate a second random number according to a pre-synchronized obfuscation algorithm and broadcast the second random number to other communication terminals.
[0101] Information sender 1 is used to generate the information to be signed and send it to each signer;
[0102] Each signer 2 is used to generate a partial signature based on a second random number and the information to be signed received by each signer; each signer sends its partial signature to the signature collector;
[0103] The signature collector 3 is used to verify the partial signature of each signer based on the second random number of each signer. If the partial signature of each signer passes the verification, the signature collector generates a multi-signature and sends the multi-signature to the information receiver.
[0104] Information receiver 4 is used to verify the multi-signature. If the multi-signature passes the verification, the information receiver accepts the information to be signed.
[0105] The signature system is also used to execute the methods described in the above method embodiments, which will not be repeated here.
[0106] This application also provides an electronic device, please refer to [link to application]. Figure 3 , Figure 3 This is a structural block diagram of an electronic device provided in an embodiment of this application. The electronic device may include a processor 31, a communication interface 32, a memory 33, and at least one communication bus 34. The communication bus 34 is used to enable direct communication between these components. In this embodiment, the communication interface 32 of the electronic device is used for signaling or data communication with other node devices. The processor 31 may be an integrated circuit chip with signal processing capabilities.
[0107] The processor 31 described above can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor, or the processor 31 can be any conventional processor.
[0108] The memory 33 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc. The memory 33 stores computer-readable instructions, which, when executed by the processor 31, allow the electronic device to perform the various steps involved in the above method embodiments.
[0109] Alternatively, the electronic device may also include a storage controller and an input / output unit.
[0110] The memory 33, storage controller, processor 31, peripheral interface, and input / output unit are electrically connected directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses 34. The processor 31 is used to execute executable modules stored in the memory 33, such as software function modules or computer programs included in electronic devices.
[0111] The input / output unit is used to provide users with the ability to create tasks and to set optional start periods or preset execution times for those tasks, thereby enabling user-server interaction. The input / output unit may be, but is not limited to, a mouse and keyboard.
[0112] Understandable. Figure 3 The structure shown is for illustrative purposes only; the electronic device may also include components that are more advanced than those shown. Figure 3 The more or fewer components shown, or having the same Figure 3 The different configurations shown. Figure 3 The components shown can be implemented using hardware, software, or a combination thereof.
[0113] This application also provides a storage medium storing instructions. When the instructions are run on a computer, the computer program is executed by a processor to implement the method described in the method embodiment. To avoid repetition, the method will not be described again here.
[0114] This application also provides a computer program product that, when run on a computer, causes the computer to perform the method described in the method embodiment.
[0115] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0116] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0117] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0118] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0119] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0120] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
Claims
1. A multi-signature method, characterized in that, The method is applied to a signature system, which includes multiple communication terminals, each including an information sender, a signer, a signature collector, and an information receiver. The signer generates a first random number, generates a second random number based on the first random number and a pre-synchronized obfuscation algorithm, and broadcasts the second random number to the other communication terminals. The information sender generates information to be signed and sends the information to be signed to each of the signers; Each signer generates a partial signature based on its second random number and the information to be signed received by each signer; each signer then sends its partial signature to the signature collector. The signature collector verifies a portion of each signer's signature based on a second random number for each signer. If the portion of each signer's signature passes verification, the signature collector generates a multi-signature and sends the multi-signature to the information receiver. The information recipient verifies the multi-signature; if the multi-signature passes verification, the information recipient accepts the information to be signed. Each signer generates a partial signature based on its second random number and the information to be signed received by each signer, including: Each signer generates a partial signature based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm; The signature collector verifies a portion of each signer's signature based on a second random number generated by each signer, including: The signature collector verifies a portion of each signature based on a second random number for each signer, the information to be signed received by the signature collector, and a pre-synchronized hash algorithm. Each signer generates a partial signature based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm, including: Each signer generates a third random number; Each signer generates a first parameter and a second parameter based on a pre-synchronized group generator, a first random number, a second random number, a third random number, and a randomization function; Each signer generates a third parameter based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm; Each signer generates a fourth parameter based on the third parameter and the second parameter; Each signer generates the partial signature based on the first parameter and the fourth parameter.
2. The multi-signature method according to claim 1, characterized in that, The signature collector verifies a portion of each signature based on a second random number generated by each signer, the information to be signed received by the signature collector, and a pre-synchronized hash algorithm, including: The first verification parameter is generated based on the pre-synchronized hash function and the message to be signed received by the signature collector; The partial signature of each signer is verified based on the fourth parameter in the partial signature of each signer, the first parameter in the partial signature of each signer, the second random number, and the first verification parameter.
3. The multi-signature method according to claim 2, characterized in that, The signature collector generates multiple signatures, including: The signature collector generates a second verification parameter based on a second random number from all signers. The signature collector generates a third verification parameter based on the first parameter of all signers; The signature collector generates a fourth verification parameter based on the second random number of all signers, the message to be signed received by the signature collector, the second verification parameter, and the third verification parameter; The signature collector generates the multi-signature based on the second verification parameter, the third verification parameter, and the fourth verification parameter.
4. The multi-signature method according to claim 1, characterized in that, The information recipient verifies the multi-signature, including: The information recipient obtains the information to be signed; The information receiver uses a pre-synchronized hash function to generate a fifth verification parameter based on the information to be signed received by the information receiver and the second random number of all signers; The information recipient verifies the multi-signature according to the fifth verification parameter.
5. The multi-signature method according to claim 4, characterized in that, The information recipient verifies the multi-signature according to the fifth verification parameter, including: The information recipient verifies the multi-signature based on the fifth verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter in the multi-signature.
6. A signature system, characterized in that, The signature system includes: multiple communication terminals; each communication terminal includes: an information sender, a signer, a signature collector, and an information receiver; The signer is used to generate a first random number, generate a second random number based on the first random number and a pre-synchronized obfuscation algorithm, and broadcast the second random number to the other communication terminals. The information sender is used to generate the information to be signed and send the information to be signed to each of the signers; Each signer generates a partial signature based on a second random number and the information to be signed received by each signer; each signer then sends its partial signature to the signature collector. The signature collector is used to verify a portion of the signature of each signer based on a second random number of each signer. If the portion of the signature of each signer passes the verification, the signature collector generates a multi-signature and sends the multi-signature to the information receiver. The information receiver is used to verify the multi-signature. If the multi-signature passes the verification, the information receiver accepts the information to be signed. The signatory is also used for: Each signer generates a partial signature based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm; The signature collector verifies a portion of each signer's signature based on a second random number generated by each signer, including: The signature collector verifies a portion of each signature based on a second random number for each signer, the information to be signed received by the signature collector, and a pre-synchronized hash algorithm. Each signer generates a third random number; Each signer generates a first parameter and a second parameter based on a pre-synchronized group generator, a first random number, a second random number, a third random number, and a randomization function; Each signer generates a third parameter based on the second random number, the information to be signed received by each signer, and a pre-synchronized hash algorithm; Each signer generates a fourth parameter based on the third parameter and the second parameter; Each signer generates the partial signature based on the first parameter and the fourth parameter.
7. An electronic device, characterized in that, include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the steps of the method as described in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-5.
Citation Information
Patent Citations
Confusion technique-based secure broadcast multi-signature method
CN106888096A
Certificateless broadcast multi-signature method based on pairless mapping
CN116032480A