Group-oriented multi-signature method, system, electronic device and storage medium

By introducing smart contracts and optimizing the signature protocol, the anonymity and storage space issues in multi-signature are resolved, achieving efficient signature verification and anti-forgery attacks. The signature length is fixed and does not increase with the number of groups or members.

CN116436614BActive Publication Date: 2026-03-03SHENZHEN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310242546.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-03
Publication Date
2026-03-03
Estimated Expiration
2043-03-03

AI Technical Summary

Technical Problem

Existing multi-signature methods cannot guarantee the anonymity and traceability of the signer, and signatures consume a lot of storage space and computing and communication resources.

Method used

By using smart contracts as a public third party, and combining discrete logarithm problem and cryptographic hash function, the signature protocol is optimized to reduce the number of communication rounds and computational complexity by initializing the group, generating and managing private and public keys, signature verification and signature aggregation.

Benefits of technology

While maintaining signature anonymity and traceability, it reduces storage space usage and computational complexity, improves signature efficiency, and prevents signature forgery attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116436614B_ABST
    Figure CN116436614B_ABST
Patent Text Reader

Abstract

The application discloses a kind of group-oriented multi-signature method, system, electronic device and storage medium, method includes: initialization θ group Gr i ; Private key is generated for each group member and administrator, and the public key of group is calculated and published;When signing, each group selects a member to participate in signature, whether the signature of this member is established is verified, if not established, stop this signature;If established, administrator sends R i , administrator public key mpk i To smart contract;After R i , administrator public key mpk i , smart contract is received, (R1, mpk1), …, (R θ , mpk θ ) are sent to each group administrator, and current time stamp t is recorded, T is calculated and sent to each group administrator;According to the signature public key of all group administrators, v i =H1 (L, mpk i ), L is mpk1, …, mpk θ List is constructed, and s i Is calculated;Group administrator sends the s i Calculated to smart contract;After receiving all s1, …, s θ , smart contract sends s1, …, s θ To each group administrator;The administrator of group Gr i Calculates s=s1+…+s θ (mod α), (s, p i,j , R' i,j , s' i,j ) is saved, and the final signature σ=(R, s) is output.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of digital signatures, and more particularly to a multi-signature method, system, electronic device, and storage medium for groups. Background Technology

[0002] Digital signatures are commonly used to authenticate digital data, such as files, messages, financial information, and other data. When a piece of data is digitally signed, the recipient can verify that the data originated from a specific sender, commonly known as the signer, and that the data has not been modified since it was signed. Digital signatures can also be verified when the data is created or when it is sent.

[0003] With the deepening research into digital signatures and the rapid development of computer networks, simple digital signatures that simulate handwritten signatures can no longer fully meet the needs of various real-world applications. Multisignature is a special type of digital signature system. In a multisignature system, multiple signers jointly digitally sign the same message, allowing a single digital signature to authenticate the identities of multiple signers who signed the message.

[0004] However, in group-oriented multi-signature, the anonymity and traceability of the signer cannot be guaranteed, and the signing will consume a lot of storage space and computing and communication resources. Summary of the Invention

[0005] The main objective of this invention is to provide a group-oriented multi-signature method, system, electronic device, and storage medium, aiming to solve the technical problems of existing multi-signature technologies, which cannot guarantee the anonymity and traceability of signers, and that signing consumes a lot of storage space, computing, and communication resources.

[0006] To achieve the above objectives, the first aspect of the present invention provides a group-oriented multi-signature method, comprising: initialization Individual groups The Each group has at least one member, and each group has [number of members]. Members And at least one administrator; generate private keys for each member and administrator in the group, and calculate and publish the group's public key; when signing, each group selects one member to participate in the signing, using The message indicates that a signature is required. The system verifies the member's signature; if it fails, the signing process is terminated; if successful, the administrator will... Administrator public key Send to the smart contract; the smart contract receives it. Administrator public key Afterwards, , , Send to the administrators of each group and record the current timestamp. ,calculate ,Will Send to the administrators of each group; calculate based on the public keys of all group administrators' signatures. ,in yes , , The list is constructed, and calculations are performed.

[0007]

[0008] The group administrator will calculate Send to the smart contract; the smart contract receives all Afterwards, Send to all group administrators; group Administrator calculation ,Will Save and output the final signature. .

[0009] Further, initialization Individual groups The methods include: based on preset security parameters All group administrators choose a number whose order is prime. multiplication group ,in Select a generator of a group The generator needs to solve the discrete logarithm problem in the group. Maintaining the difficulty; choosing three cryptographic hash functions : , : , : , : ,in, Represents a bit string of variable length. It is less than Set of integers express A list consisting of group elements; publish all group public parameters. ;group The administrator chooses two large prime numbers. ,calculate ,as well as Euler's totient function Randomly select a number ,in And with Coprime, calculation and make satisfy ;group The administrator will , , Stored secretly as a group private key; , It was published as part of the group's public key.

[0010] Furthermore, a private key is generated for each member and administrator in the group, and the group's public key is calculated and published, including: group members Choose a random number Used as the private key for signing, the corresponding public key for signing is calculated. and the public key and identity Send to group Administrator; Group Administrator Choose a large prime number ( ), and not repeated within the group; group The administrator put Send to members ,save Group members examine Whether it is valid, ensure It is a group The administrator calculates and sends; when the group After all members within the group have generated their signature keys, the group... The administrator selects a random number as their signing private key. Then calculate the group The administrator's signing public key Choose a large prime number ,in The administrator calculated the system of congruence equations based on the Chinese Remainder Theorem:

[0011]

[0012] The solution yields:

[0013]

[0014] in, , , It is to satisfy The positive integer solutions; , and , Together as a group The group's public key was published.

[0015] Furthermore, the method for verifying whether the member's signature is valid includes: group members Choose a random number ,calculate , Members of the group Will , , Send to group The administrator;

[0016] group The administrator uses the group public key to calculate and the member's signing public key Verify the equation Whether it is true or false. If it is true, the member's signature is true; if it is false, the member's signature is false.

[0017] Furthermore, the group-oriented multi-signature method also includes: if a new member joins the group, the group public key is recalculated, and the calculation method includes: if a new member joins the group at this time... Apply to join the group New members Choose a signing private key and signing public key Then, the public key and identity Send to group The administrator; the group administrator selects the method described above for generating private keys for each member and administrator in the group, and for calculating and publishing the group's public key. and will Inform the new members who will be joining. Recalculate .

[0018] Furthermore, the group-oriented multi-signature method also includes: if it is necessary to revoke a group member's membership, the group public key is recalculated. The calculation method includes: the group member whose membership needs to be revoked... Find the member's public key and retrieve its public key. Replace with another different random number and recalculate. .

[0019] Furthermore, group-oriented multi-signature methods also include signature verification and signature opening; signature verification includes: for the signature and message signature The verifier obtains a list of signature public keys for all group administrators based on the group's public key. , , Calculate the aggregated public key as well as Check the equation The function checks if the signature is valid. If valid, the output is 1, indicating that the signature is accepted; otherwise, the output is 0, indicating that the signature is invalid. Signature opening includes: when it is necessary to open the signature... Group administrators will use signatures as a basis for their decisions. and saved Query found ,in, These represent the indices of the members participating in the signing within each group; each group administrator calculates the public key of each member participating in the signing within their group. Find the corresponding identity .

[0020] A second aspect of the present invention provides a group-oriented multi-signature system, characterized in that it includes: an initialization module for initializing... Individual groups The Each group has at least one member, and each group has [number of members]. Members The group includes at least one administrator; a key generation module for generating private keys for each member and administrator in the group, and calculating and publishing the group's public key; and a signature module for selecting one member from each group to participate in the signing process. The message indicates that a signature is required. The system verifies the member's signature; if it fails, the signing process is terminated; if successful, the administrator will... Administrator public key Send to the smart contract; the smart contract receives it. Administrator public key Afterwards, , , Send to the administrators of each group and record the current timestamp. ,calculate ,Will Send to the administrators of each group; calculate based on the public keys of all group administrators' signatures. ,in yes , , The list is constructed, and calculations are performed.

[0021]

[0022] The group administrator will calculate Send to the smart contract; the smart contract receives all Afterwards, Send to all group administrators; group Administrator calculation ,Will Save and output the final signature. .

[0023] A third aspect of the present invention provides an electronic device, comprising: a memory and a processor, wherein the memory stores a computer program executable on the processor, characterized in that, when the processor executes the computer program, it implements any one of the aforementioned group-oriented multi-signature methods.

[0024] A fourth aspect of the present invention provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, it implements any of the above-described group-oriented multi-signature methods.

[0025] This invention provides a group-oriented multi-signature method, system, electronic device, and storage medium. Its advantages include: by introducing smart contracts, the protocol in this invention exhibits high efficiency in aggregating signatures from different groups; the signature length is fixed and does not increase with the number of groups or members, thus saving significant storage space. Furthermore, the protocol introduces a tamper-proof, automatically running smart contract as a public third party responsible for exchanging intermediate data and recording timestamps, maintaining two rounds of communication while mitigating signature forgery attacks. The protocol does not use bilinear mapping, employing only a small amount of exponential operations, resulting in simple and efficient signature calculation. Attached Figure Description

[0026] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0027] Figure 1 This is a flowchart of a group-oriented multi-signature method according to an embodiment of the present invention;

[0028] Figure 2 This is a schematic block diagram of the structure of a group-oriented multi-signature system according to an embodiment of the present invention;

[0029] Figure 3 This is a schematic block diagram of the electronic device according to an embodiment of the present invention. Detailed Implementation

[0030] To make the objectives, features, and advantages of this invention more apparent and understandable, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0031] This invention proposes a group-oriented multi-signature, which differs from multi-signature in that it expresses an "AND" relationship between signatures, and group signature in that it expresses an "OR" relationship between signatures. It can aggregate group signatures from different groups, ensuring anonymity and traceability of signers within a group, while improving the storage space, computing, and communication resources required for signatures between groups. The innovations of this invention are: 1) supporting more flexible expression of signature relationships; 2) optimizing the signer's workload based on smart contracts.

[0032] Assuming a group-oriented multi-signature protocol has a total of A group, using express, Each group has at least one member, but the number can vary. For ease of representation, let each group have... Members Based on the signature protocols of Chen Zewen et al. and Maxwell et al., a group-oriented multi-signature protocol is proposed, comprising seven algorithms: initialization, key generation, member addition, member revocation, signing, verification, and signature unlocking. These are described in detail below:

[0033] Please see Figure 1 This is a group-oriented multi-signature method, including:

[0034] S101, Initialization Individual groups ;

[0035] S102. Generate private keys for each member and administrator in the group, and calculate and publish the group's public key;

[0036] S103. During the signing process, one member from each group is selected to participate in the signing. The signature of that member is verified. If it is valid, the administrator will... Administrator public key Send to the smart contract;

[0037] S104, Smart Contract Received Administrator public key Afterwards, , , Send to the administrators of each group for calculation. ,Will Send to the administrators of each group;

[0038] S105. Calculate based on the public keys of all group administrators' signatures. and calculate ;

[0039] S106, The group administrator will calculate... Send to the smart contract;

[0040] S107, Smart Contract Receives All Afterwards, Send to the group administrators;

[0041] S108, Group Administrator calculation ,Will Save and output the final signature. .

[0042] Group Gr i The administrator calculates s, and then (s, p) i,j , R' i,j ,s' i,j Save and output the final signature σ=(R,s).

[0043] In this embodiment, using The message indicates that you need to sign.

[0044] In step S103, if the verification fails, the signing protocol is terminated.

[0045] In step 104, the smart contract also records a timestamp t. The calculation is as follows ;

[0046] In step S105 yes , , The list that is formed The calculation is as follows:

[0047]

[0048] In step S108, s is calculated as follows:

[0049]

[0050] In one embodiment, initialization Individual groups The methods include: based on preset security parameters All group administrators choose a number whose order is prime. multiplication group ,in Select a generator of a group The generator needs to solve the discrete logarithm problem in the group. Maintaining the difficulty; choosing three cryptographic hash functions : , : , : , : ,in, Represents a bit string of variable length. It is less than Set of integers express A list consisting of group elements; publish all group public parameters. ;group The administrator chooses two large prime numbers. ,calculate ,as well as Euler's totient function Randomly select a number ,in And with Coprime, calculation and make satisfy ;group The administrator will , , Stored secretly as a group private key; , It was published as part of the group's public key.

[0051] In one embodiment, generating a private key for each member and administrator in the group, and calculating and publishing the group's public key includes: group members Choose a random number Used as the private key for signing, the corresponding public key for signing is calculated. and the public key and identity Send to group Administrator; Group Administrator Choose a large prime number ( ), and not repeated within the group; group The administrator put Send to members ,save Group members examine Whether it is valid, ensure It is a group The administrator calculates and sends; when the group After all members within the group have generated their signature keys, the group... The administrator selects a random number as their signing private key. Then calculate the group The administrator's signing public key Choose a large prime number ,in The administrator calculated the system of congruence equations based on the Chinese Remainder Theorem:

[0052]

[0053] The solution yields:

[0054]

[0055] in, , , It is to satisfy The positive integer solutions; , and , Together as a group The group's public key was published.

[0056] In one embodiment, the method for verifying whether the member's signature is valid includes: group members Choose a random number ,calculate , Members of the group Will , , Send to group The administrator;

[0057] group The administrator uses the group public key to calculate and the member's signing public key Verify the equation Whether it is true or false. If it is true, the member's signature is true; if it is false, the member's signature is false.

[0058] In one embodiment, the group-oriented multi-signature method further includes: if a new member joins the group, recalculating the group public key, wherein the calculation method includes: if a new member joins the group at this time... Apply to join the group New members Choose a signing private key and signing public key Then, the public key and identity Send to group The administrator; the group administrator selects the method described above for generating private keys for each member and administrator in the group, and for calculating and publishing the group's public key. and will Inform the new members who will be joining. Recalculate .

[0059] In this embodiment, by recalculating This allows each new member to participate in the digital signature process in a timely manner.

[0060] In one embodiment, the group-oriented multi-signature method further includes: if it is necessary to revoke a group member's membership, recalculating the group public key, wherein the calculation method includes: the group member whose membership needs to be revoked... Find the member's public key and retrieve its public key. Replace with another different random number and recalculate. .

[0061] In this embodiment, by recalculating This allows for timely prevention of information leakage by ensuring that each member who revokes their signature cannot participate in the digital signature process.

[0062] In one embodiment, the group-oriented multi-signature method further includes signature verification; signature verification includes: for the signature and message signature The verifier obtains a list of signature public keys for all group administrators based on the group's public key. , , Calculate the aggregated public key as well as Check the equation If the signature is valid, output 1 to indicate acceptance; otherwise, output 0 to indicate invalid signature.

[0063] In one embodiment, the group-oriented multi-signature method further includes signature opening, which includes: when it is necessary to open the signature... Group administrators will use signatures as a basis for their decisions. and saved Query found ,in, These represent the indices of the members participating in the signing within each group; each group administrator calculates the public key of each member participating in the signing within their group. Find the corresponding identity .

[0064] The aforementioned group-oriented multi-signature protocol supports flexible signature relationships when multiple organizations are involved in joint signatures, while verification is very simple. For example, if there are two organizations... and , Includes members and , Includes members and Any member within an organization can collaborate with any member in other organizations to sign on behalf of their respective organizations. Therefore, in this example, there are... , , , There are four signature relationships. When verifying whether a signature was generated collaboratively by legitimate members of two organizations, the verifier does not need to determine which of the four signatures the signature corresponds to. This means the verifier does not need to know any member's personal public key, which is a significant advantage when there are many members. The verifier only needs the group public keys of the two organizations to determine the validity of the signature.

[0065] Furthermore, by introducing smart contracts, the protocol in this invention exhibits high efficiency in aggregating signatures from different groups. The signature length is fixed and does not increase with the number of groups or members, resulting in significant storage savings. The signature protocol is an improvement upon the multi-signature protocol by Maxwell et al. In Maxwell et al.'s protocol, signers require three rounds of communication to aggregate signatures. Reducing this to two rounds makes it vulnerable to signature forgery attacks based on the generalized birthday problem. The protocol in this invention introduces a tamper-proof, automatically running smart contract as a public third party responsible for exchanging intermediate data and recording timestamps, maintaining two rounds of communication while mitigating signature forgery attacks. The protocol does not use bilinear mappings but only a small amount of exponential operations, simplifying signature calculation and increasing efficiency.

[0066] Please see Figure 2 The present invention also provides a group-oriented multi-signature system, including: an initialization module 1, a key generation module 2, and a signature module 3;

[0067] Initialization module 1 is used for initialization Individual groups The Each group has at least one member, and each group has [number of members]. Members and at least one administrator;

[0068] Key generation module 2 is used to generate private keys for each member and administrator in the group, and to calculate and publish the group's public key;

[0069] Signature module 3 is used to select one member from each group to participate in the signing process. The message indicates that a signature is required. The system verifies the member's signature; if it fails, the signing process is terminated; if successful, the administrator will... Administrator public key Send to the smart contract; the smart contract receives it. Administrator public key Afterwards, , , Send to the administrators of each group and record the current timestamp. ,calculate ,Will Send to the administrators of each group; calculate based on the public keys of all group administrators' signatures. ,in yes , , The list is constructed, and calculations are performed.

[0070]

[0071]

[0072] The group administrator will calculate Send to the smart contract; the smart contract receives all Afterwards, Send to all group administrators; group Administrator calculation ,Will Save and output the final signature. .

[0073] Initialization module 1 includes: a first selection unit, a second selection unit, a third selection unit, a first publication unit, a fourth selection unit, a fifth selection unit, and a second publication unit;

[0074] The first selection unit is used to select based on preset security parameters. All group administrators choose a number whose order is prime. multiplication group ,in ;

[0075] The second selection unit is used to select a generator of a group. The generator needs to solve the discrete logarithm problem in the group. Maintaining this situation remains difficult;

[0076] The third selection unit is used to select three cryptographic hash functions. : , : , : , : ,in, Represents a bit string of variable length. It is less than Set of integers express A list consisting of elements of a group;

[0077] The first announcement unit is used to announce all group public parameters. ;

[0078] The fourth selection unit is used for the group The administrator chooses two large prime numbers. ,calculate ,as well as Euler's totient function ;

[0079] The fifth selection unit is used to randomly select a number. ,in And with Coprime, calculation and make satisfy ;

[0080] The second announcement unit is used for groups. The administrator will , , Stored secretly as a group private key; , It was published as part of the group's public key.

[0081] In one embodiment, the key generation module 2 includes: a sixth selection unit, a seventh selection unit, a first sending unit, a second sending unit, an eighth selection unit, and a publication unit;

[0082] The sixth selection unit is used for the group members Choose a random number Used as the private key for signing, the corresponding public key for signing is calculated. and the public key and identity Send to group administrator;

[0083] The seventh selection unit is used for the group Administrator Choose a large prime number ( (and not repeated within the group);

[0084] The first sending unit is used for group The administrator put Send to members ,save ;

[0085] The second sending unit is used for group members. examine Whether it is valid, ensure It is a group The administrator calculates and sends the data.

[0086] The eighth selection unit is used when the group After all members within the group have generated their signature keys, the group... The administrator selects a random number as their signing private key. Then calculate the group The administrator's signing public key Choose a large prime number ,in ;

[0087] This is used by administrators to calculate systems of congruence equations based on the Chinese Remainder Theorem.

[0088]

[0089] The solution yields:

[0090]

[0091] in, , , It is to satisfy Positive integer solutions;

[0092] The publishing unit is used to publish , and , Together as a group The group's public key was published.

[0093] In one embodiment, the signature module 3 includes: a random number selection unit, a third sending unit, and a verification unit;

[0094] Random number selection unit is used for group members Choose a random number ,calculate ;

[0095] The third sending unit is used by the group members. Will , , Send to group The administrator;

[0096] Verification unit is used for group The administrator uses the group public key to calculate and the member's signing public key Verify the equation Whether it is true or false. If it is true, the member's signature is true; if it is false, the member's signature is false.

[0097] In one embodiment, a group-oriented multi-signature system further includes a first update module, used to recalculate the group public key if a new member joins the group. The calculation method includes: if a new member joins the group at this time... Apply to join the group New members Choose a signing private key and signing public key Then, the public key and identity Send to group The administrator; the group administrator selects the method described above for generating private keys for each member and administrator in the group, and for calculating and publishing the group's public key. and will Inform the new members who will be joining. Recalculate .

[0098] In one embodiment, a group-oriented multi-signature system further includes a second update module, which recalculates the group public key if it is necessary to revoke a group member's membership. The calculation method includes: the group member's... Find the member's public key and retrieve its public key. Replace with another different random number and recalculate. .

[0099] In one embodiment, a group-oriented multi-signature system further includes a signature verification module for verifying the signature. and message signature The verifier obtains a list of signature public keys for all group administrators based on the group's public key. , , Calculate the aggregated public key as well as Check the equation If the signature is valid, output 1 to indicate acceptance; otherwise, output 0 to indicate invalid signature.

[0100] In one embodiment, a group-oriented multi-signature system further includes a signature opening module for opening signatures when needed. Group administrators will use signatures as a basis for their decisions. and saved Query found ,in, These represent the indices of the members participating in the signing within each group; each group administrator calculates the public key of each member participating in the signing within their group. Find the corresponding identity .

[0101] The group-oriented multi-signature system provided in this embodiment, by introducing smart contracts, exhibits high efficiency in aggregating signatures from different groups. The signature length is fixed and does not increase with the number of groups or members, thus saving significant storage space. Furthermore, the protocol introduces a tamper-proof, automatically running smart contract as a public third party responsible for exchanging intermediate data and recording timestamps, maintaining two rounds of communication while mitigating signature forgery attacks. The protocol does not use bilinear mappings, employing only a small amount of exponential operations, resulting in simple and efficient signature calculation.

[0102] This application provides an electronic device; please refer to [link / reference]. Figure 3 The electronic device includes a memory 601, a processor 602, and a computer program stored on the memory 601 and executable on the processor 602. When the processor 602 executes the computer program, it implements the group-oriented multi-signature method described above.

[0103] Furthermore, the electronic device also includes at least one input device 603 and at least one output device 604.

[0104] The aforementioned memory 601, processor 602, input device 603, and output device 604 are connected via bus 605.

[0105] The input device 603 can specifically be a camera, touch panel, physical buttons, or mouse, etc. The output device 604 can specifically be a display screen.

[0106] The memory 601 can be a high-speed random access memory (RAM) or a non-volatile memory, such as a disk storage device. The memory 601 is used to store a set of executable program code, and the processor 602 is coupled to the memory 601.

[0107] Furthermore, this application embodiment also provides a computer-readable storage medium, which may be disposed in the electronic device of the above embodiments, and the computer-readable storage medium may be the aforementioned memory 601. The computer-readable storage medium stores a computer program, which, when executed by the processor 602, implements the group-oriented multi-signature method described in the foregoing embodiments.

[0108] Furthermore, the storage medium of the computer can also be a USB flash drive, a portable hard drive, a read-only memory (ROM), RAM, a magnetic disk, or an optical disk, or any other medium that can store program code.

[0109] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.

[0110] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0111] Furthermore, the functional modules in the various embodiments of the present invention can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0112] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part 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, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0113] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.

[0114] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0115] The above is a description of a group-oriented multi-signature method, system, electronic device, and storage medium provided by the present invention. For those skilled in the art, based on the ideas of the embodiments of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A group-oriented multi-signature method, characterized in that, include: initialization Individual groups The Each group has at least one member, and each group has [number of members]. Members and at least one administrator; Generate private keys for each member and administrator in the group, and calculate and publish the group's public key; When signing, one member is selected from each group to participate in the signing, using... The message indicates that a signature is required. The system verifies the member's signature; if it fails, the signing process is terminated; if successful, the administrator will... Administrator public key Send to the smart contract; Smart contract received Administrator public key Afterwards, , , Send to the administrators of each group and record the current timestamp. ,calculate ,Will Send to the administrators of each group; The group administrator calculates based on the public keys of all group administrators' signatures. ,in yes , , The list is constructed, and calculations are performed. The group administrator will calculate Send to the smart contract; Smart contracts receive all Afterwards, Send to the group administrators; group Administrator calculation ,Will Save and output the final signature. ; initialization Individual groups The methods include: According to preset safety parameters All group administrators choose a number whose order is prime. multiplication group ,in ; Choose a generator of a group The generator needs to solve the discrete logarithm problem in the group. Maintaining this situation remains difficult; Choose four cryptographic hash functions : , : , : , : ,in, Represents a bit string of variable length. It is less than Set of integers express A list consisting of elements of a group; Announce all group public parameters ; group The administrator chooses two large prime numbers. ,calculate ,as well as Euler's totient function ; Randomly select a number ,in And with Coprime, calculation and make satisfy ; group The administrator will , , Stored secretly as a group private key; , It was published as part of the group's public key; Generate private keys for each member and administrator in the group, and calculate and publish the group's public key, including: group members Choose a random number Used as the private key for signing, the corresponding public key for signing is calculated. and the public key and identity Send to group administrator; group Administrator Choose a large prime number ( (and not repeated within the group); group The administrator put Send to members ,save ; Group members examine Whether it is valid, ensure It is a group The administrator calculates and sends the data. When the group After all members within the group have generated their signature keys, the group... The administrator selects a random number as their signing private key. Then calculate the group The administrator's signing public key Choose a large prime number ,in ; The administrator calculated the system of congruence equations based on the Chinese Remainder Theorem: The solution yields: in, It is to satisfy Positive integer solutions; Will , and , Together as a group The group's public key was published; The method for verifying whether the member's signature is valid includes: Group members Choose a random number ,calculate , ; Group members Will , , Send to group The administrator; group The administrator uses the group public key to calculate and the member's signing public key Verify the equation Whether it is true or false. If it is true, the member's signature is true; if it is false, the member's signature is false.

2. The group-oriented multi-signature method according to claim 1, characterized in that, Group-oriented multi-signature methods also include: if a new member joins the group, the group public key is recalculated. The calculation method includes: if a new member joins the group at this time... Apply to join the group New members Choose a signing private key and signing public key Then, the public key and identity Send to group The administrator; the group administrator selects the method described above for generating private keys for each member and administrator in the group, and for calculating and publishing the group's public key. and will Inform the new members who will be joining. Recalculate .

3. The group-oriented multi-signature method according to claim 1, characterized in that, Group-oriented multi-signature methods also include: if a group member needs to be revoked, the group public key is recalculated. The calculation method includes: the group member whose name needs to be revoked... Find the member's public key and retrieve its public key. Replace with another different random number and recalculate. .

4. The group-oriented multi-signature method according to claim 1, characterized in that, Group-oriented multi-signature methods also include signature verification and signature opening; Signature verification includes: for signature and message signature The verifier obtains a list of signature public keys for all group administrators based on the group's public key. , , Calculate the aggregated public key as well as Check the equation If the signature is valid, output 1 to indicate that the signature is accepted; otherwise, output 0 to indicate that the signature is invalid. Signature opening includes: when signatures need to be opened Group administrators will use signatures as a basis for their decisions. and saved Query found ,in, These represent the indices of the members participating in the signing within each group; each group administrator calculates the public key of each member participating in the signing within their group. Find the corresponding identity .

5. A system based on any one of claims 1-4 for a group-oriented multi-signature method, characterized in that, include: The initialization module is used for initialization. Individual groups The Each group has at least one member, and each group has [number of members]. Members and at least one administrator; The key generation module is used to generate private keys for each member and administrator in the group, and to calculate and publish the group's public key; The signature module is used to select one member from each group to participate in the signing process. The message indicates that a signature is required. The system verifies the member's signature; if it fails, the signing process is terminated; if successful, the administrator will... Administrator public key Send to the smart contract; the smart contract receives it. Administrator public key Afterwards, , , Send to the administrators of each group and record the current timestamp. ,calculate ,Will Send to the administrators of each group; calculate based on the public keys of all group administrators' signatures. ,in yes , , The list is constructed, and calculations are performed. The group administrator will calculate Send to the smart contract; the smart contract receives all Afterwards, Send to all group administrators; group Administrator calculation ,Will Save and output the final signature. .

6. An electronic device comprising: A memory and a processor, wherein the memory stores a computer program executable on the processor, characterized in that, when the processor executes the computer program, it implements the method according to any one of claims 1 to 4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Intelligent medical assistance method and system based on IoV (Internet of Vehicles)

    CN108401010A

  • An implementation method and device of a bidirectional agent re-signature

    CN109861826A