CN111523889B - Multiple signature implementation method, device, equipment and storage medium - Google Patents

Multiple signature implementation method, device, equipment and storage medium Download PDF

Info

Publication number
CN111523889B
CN111523889B CN202010306359.7A CN202010306359A CN111523889B CN 111523889 B CN111523889 B CN 111523889B CN 202010306359 A CN202010306359 A CN 202010306359A CN 111523889 B CN111523889 B CN 111523889B
Authority
CN
China
Prior art keywords
signature
signed
template
participating
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010306359.7A
Other languages
Chinese (zh)
Other versions
CN111523889A (en
Inventor
文格彬
王晓东
孙翰韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Dianbao Zhejiang Technology Co ltd
Original Assignee
Kunming Dagangke Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunming Dagangke Technology Co ltd filed Critical Kunming Dagangke Technology Co ltd
Priority to CN202010306359.7A priority Critical patent/CN111523889B/en
Publication of CN111523889A publication Critical patent/CN111523889A/en
Application granted granted Critical
Publication of CN111523889B publication Critical patent/CN111523889B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The application relates to a multi-signature implementation method, a device, equipment and a storage medium, wherein the method comprises the following steps: generating a key pair for participating in the transaction; creating a multi-signature template and returning to the address of the multi-signature template; transferring the certificate to the multi-signature module; creating a transaction according to the multi-signature template and returning data to be signed; signing the data to be signed, and returning signed signature data and a Boolean value; if the Boolean value does not meet the weight condition, the signed signature data is used as a new signature object, and the signature is continued by using other private keys corresponding to the public keys participating in the establishment of the multi-signature template so as to continue the judgment until the Boolean value meets the weight condition, so that the multi-signature is realized. The multiple signature scheme has the characteristics of simplicity in operation, safety and high running speed.

Description

Multiple signature implementation method, device, equipment and storage medium
Technical Field
The application relates to the technical field of blockchain, in particular to a multi-signature implementation method, a device, equipment and a storage medium.
Background
In real life, it is often encountered that a document requires several units or departments to sign or seal, respectively, to be effective. Multiple signature technology is one approach to solving such problems in a network environment. As early as 12 months 2011, the multiple signature technique was implemented in the core code of the bitcoin, and at 1 month 2012, the first transaction using the multiple signature technique occurred on the blockchain. Over time, the multiple signature technology is also mature, and the application scenes of the multiple signature technology are also more and more. For example, in the decentralized electronic commerce, the buyer uses a multiple signature method to transfer the token to a multiple signature address, and the seller can transfer the token from the address only if the two parties in the transaction and the third party arbitrating organization sign together. Also, for example, in the bond management and control aspect, each enterprise, unit and individual holds a key, and the bond can be transferred only after all holders or a certain number of required holders sign.
In many current blockchain public chains, the implementation of the consensus mechanism is mostly completed by using a script or intelligent contract, and multiple signatures are also one of the consensus mechanisms and are also based on the script or only the contract. Representative of using script implementation are BTC, BCH, etc., and representative of using smart contracts are EOS, ETH, etc.
However, implementing consensus mechanisms using scripting and smart contracts presents itself as a variety of unsafe and unstable factors due to developer level diversity. Moreover, the method using script is too complicated to operate, and the method using smart contract also considers various restrictions of the virtual machine.
Disclosure of Invention
In view of the above, a method, apparatus, device and storage medium for implementing multiple signatures are provided to solve the problems of complex operation, unsafe and slow operation in multiple signatures in the prior art.
The application adopts the following technical scheme:
in a first aspect, an embodiment of the present application provides a multiple signature implementation method, where the method includes:
generating a key pair for participating in the transaction;
creating a multi-signature template and returning to the address of the multi-signature template;
transferring the certificate to the multi-signature module;
creating a transaction according to the multi-signature template and returning data to be signed;
signing the data to be signed, and returning signed signature data and a Boolean value;
if the Boolean value does not meet the weight condition, the signed signature data is used as a new signature object, and the signature is continued by using other private keys corresponding to the public keys participating in the establishment of the multi-signature template so as to continue the judgment until the Boolean value meets the weight condition, so that the multi-signature is realized.
Optionally, the weight condition includes that the sum of signed key weights is equal to or greater than the sum of minimum weights participating in the multi-sign template.
Optionally, before signing the data to be signed, at least one key in the key pair participating in the transaction exists in the current wallet.
Optionally, the multi-signature template includes a sum of minimum weights of the participating multi-signatures, a number of private keys defined in the multi-signature template, and weights of the public keys of the participating multi-signatures.
Optionally, the signature includes a bitmap, wherein the bitmap includes a private key participating in the multiple signature, and a location of the private key participating in the signature.
In a second aspect, an embodiment of the present application provides a multiple signature implementation apparatus, including:
the key pair generation module is used for generating a key pair participating in a transaction;
the multi-signature template creation module is used for creating a multi-signature template and returning the address of the multi-signature template;
the transfer certificate module is used for transferring the transfer certificate to the multi-sign module;
the transaction creation module is used for creating a transaction according to the multi-signature template and returning data to be signed;
the signature module is used for signing the data to be signed and returning signed signature data and Boolean values;
and the multiple signature realization module is used for taking the signed signature data as a new signature object when the Boolean value does not meet the weight condition, and continuing to sign by using other private keys corresponding to the public keys participating in the establishment of the multiple signature templates until the Boolean value meets the weight condition so as to realize multiple signatures.
Optionally, the weight condition includes that the sum of signed key weights is equal to or greater than the sum of minimum weights participating in the multi-sign template.
Optionally, the method further comprises a determining module, configured to determine that at least one key in the key pair participating in the transaction exists in the wallet before signing the data to be signed.
Optionally, the multi-signature template includes a sum of minimum weights of the participating multi-signatures, a number of private keys defined in the multi-signature template, and weights of the public keys of the participating multi-signatures.
Optionally, the signature includes a bitmap, wherein the bitmap includes a private key participating in the multiple signature, and a location of the private key participating in the signature.
In a third aspect, an embodiment of the present application provides an apparatus, including:
a processor, and a memory coupled to the processor;
the memory is used for storing a computer program, and the computer program is at least used for executing the multi-signature implementation method according to the first aspect of the embodiment of the application;
the processor is configured to invoke and execute the computer program in the memory.
In a fourth aspect, an embodiment of the present application provides a storage medium storing a computer program, where the computer program implements the steps of the multiple signature implementation method according to the first aspect when the computer program is executed by a processor.
Therefore, in the embodiment of the application, a scheme of realizing multiple signatures by using a template running in a block chain public chain is adopted, whether a transaction is triggered or not is judged through weight, and a weight parameter is added for the multiple signatures. The following effects are achieved: the operation is simple, and the work can be started only by adding a plurality of templates to initiate a plurality of transactions; encryption and decryption are convenient; adding a weight parameter, and judging whether a transaction is triggered or not through the weight; the operation is performed on the template written in the public chain core code, and the operation is safe and rapid.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a multiple signature implementation method provided by an embodiment of the present application;
fig. 2 is a schematic structural diagram of a multiple signature implementation device according to an embodiment of the present application;
fig. 3 is a schematic structural view of an apparatus in an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail below. It will be apparent that the described embodiments are only some, but not all, embodiments of the application. All other embodiments, based on the examples herein, which are within the scope of the application as defined by the claims, will be within the scope of the application as defined by the claims.
First, a common signature and multiple signatures will be described, and the common signature can be understood as follows: a puts money into a cipher box, then locks the cipher box by using the public key of B, and only B can unlock by using the private key of B to take out money. In the multi-signed transaction, it can be understood that after the money is put into the password box by the A, the password box is locked by the public key of the B, the locking operation is performed by the public key of the B, and even the public key of the third party C can be used for locking. At this time, if B wants to withdraw money from the inside of the cryptographic box, he needs to perform not only decryption operation using his own private key, but also unlocking operation of the cryptographic box by another person.
In the embodiment of the application, in the BigBang public chain, the consensus task is realized by writing the realization of the consensus mechanism into the code and executing the consensus task by creating a template. The multi-signature template is designed for realizing multiple signatures, and has the characteristics of simple operation, safe execution and high execution speed.
Examples
Fig. 1 is a flowchart of a multiple signature implementation method according to an embodiment of the present application, where the method may be performed by a multiple signature implementation device according to an embodiment of the present application, and the device may be implemented in software and/or hardware. Referring to fig. 1, the method may specifically include the steps of:
s101, generating a key pair participating in a transaction.
In particular, suppose that three pairs of keys can be generated, which can be implemented by bigbang makekeypair command. In one specific example, the implementation is as follows.
privkey1=″f1547396c4ec9f50a646b6ac791ee11fe493adc04940289752c2dc0494e040f5″
pubkey1=″579792c544d6a6c198498250c1fa1467a5e5eeb59435a6cdeb06085fb8c7b091″
privkey2=″43368761015b9de09dce66826188a22d1cb9d98a2b6e599c56bc384f839d67ff″
pubkey2=″6d95657d15cb91e074f98fdcbbcf311325beb1d8c2c0f6d65d8362c15c213a2f1″
privkey3=″be590f4db119efcff0247e5e08c7e840454b948e7a5c2993f84c12db9770fd8a″
pubkey3=″efd6b29ad69ea477c4f0ac859cdd00039b83c5b074c8b2f4f9038a781b9d63d5″
S102, creating a multi-signature template, and returning the address of the multi-signature template.
Specifically, the method can be realized by bigbang addnewtemplate multisig "{ \" required\ "2 \" pubkeys \ "[ \" $pubkey1\ "," "$pubkey2\", "" $pubkey3\ "]", wherein the required parameter means that the specified number of signatures are needed in the multi-signature template to confirm, and the above command indicates that more than two signatures are needed in the three keys.
S103, turning through the certificate to the multi-sign module.
Specifically, like a common transaction, the conversion of the multi-label template into the token can be realized by bigbangsendfrom $boss_addr $addr $amountof, wherein $boss_addr can be any address with the token, $addr is the multi-label template address returned in the last step, and $amountof is the number of the tokens.
S104, creating a transaction according to the multi-signature template and returning data to be signed.
Specifically, by creating a transaction via the createtraction method, transaction raw data, i.e., the data to be signed $tx_hex, will be returned. In a specific example, when the multi-sign template address is to initiate a transfer to $any_addr, a multi-person signature is required to be valid, which may be accomplished by the bigbang createtransaction $addr $any_addr $amountcommand. Wherein, $addr is a multi-signature template address.
S105, signing the data to be signed, and returning signed data and Boolean values.
Specifically, the returned data to be signed $tx_hex is signed by signing, which returns signed signature data signed transaction raw data and boolean value completed, where txdata= transaction raw data. In one specific example, a boolean value is used to determine whether the multiple signature minimum weight requirement is met.
And S106, if the Boolean value does not meet the weight condition, taking the signed signature data as a new signature object, and continuing to sign by using other private keys corresponding to the public keys participating in the establishment of the multi-signature template to continue judgment until the Boolean value meets the weight condition so as to realize multiple signatures.
Specifically, if the completed is false, that is, the weight condition is not satisfied, the raw data signed in the previous step is used as a new signature object, and the private key corresponding to the public key participating in the establishment of the multi-signature template is used to repeat the operation in the previous step. If the result of the completed is true, the transaction is sent through sendtransaction (txdata= signed transaction raw data). In addition, the signature result $sg1_hex in the above-described signature result $sg1_data is obtained, and $sg1_hex is signed with another private key. Specifically, the method can be realized by a command bigbang signtransaction $g1_hex, and returns the sg2_data, wherein the command includes a signature result sg2_hex and a variable completed whether the multi-signature requirement is met. If the completed is true, that is, the weight condition is satisfied, the required weight requirement is satisfied, at this time, the transaction is broadcast to the chain through the sendtransaction method, and the token receiving object $any_addr when the transaction is created previously can receive the corresponding token, which can be specifically realized through the command bigbang sendtransaction $sg2_hex. If the completed parameter is false, indicating that the multi-sign requirement is not satisfied, repeating the above operation until the completed parameter is true.
Optionally, the weight condition includes that the sum of signed key weights is equal to or greater than the sum of minimum weights of the participating multi-signatures in the multi-signature template. Wherein the value of completed is used to determine that the sum of signed key weights is equal to or greater than the sum of required templates.
Optionally, prior to signing the data to be signed, there is at least one key in the key pair participating in the transaction in the current wallet. At least one of the current wallets is in an unlocking state, and the wallet can be specifically realized through a bigbang signtransaction $tx_hex command and returns a sg1_data, wherein the current wallet comprises a signature result sg1_hex and a variable completed whether the requirement of multiple signing is met.
Optionally, the multi-signature template includes a sum of minimum weights of the participating multi-signatures, a number of private keys defined in the multi-signature template, and weights of public keys of the participating multi-signatures. Multiple signatures are used to initiate a transaction from a multiple signature template address, which becomes a multiple signature transaction. In one specific example, in a multi-sign transaction, vchSig contains two parts: one is the content of the multi-signature template, and the other is the multiple signature, as shown below.
The template content is a binary string whose length depends on the number of keys defined in the template. Up to 255 keys are expressed as follows.
Wherein required is the sum of the minimum weights of the participating multi-labels; key-length is the number of keys and nth-public-key is the n-th participating public key; the weight of nth-key-weight being the nth public key can be regarded as a uint256 since the public key is 32 bytes; the order of the public keys is determined by the small-end uint256 size.
Optionally, the signature comprises a bitmap, wherein the bitmap comprises a private key participating in the multiple signature, and a location of the private key participating in the signature. The signature includes three parts, represented as follows.
Where index is a bitmap, i.e., a bitmap, that indicates which keys are involved in the multiple signature, the position of which is related to the order of the keys. If index is considered as a uint8 array idx [ ], then the method of setting the public key with sequence number n: idx [ n/8] & (1 < < < (n% 8)); (Ri, si) is the same as the libsodium crypt_sign_ed25519_decoded () algorithm; s=si+ & gt Sj; all parameters of SHA512 are calculated in binary; ri=ri×b, B being the base point of ed 25519; si=ri+sha 512 (Ri, pi, M) ×si is scalar addition scale+scale (mod L) and multiplication scale (mod L) of ed 25519; ri=sha512 (sha512 (ki) [32, 64), M); ki is the private key; pi is the public key; si=clamp (SHA 512 (ki) [0, 32)), ki being a private key; there is equation pi=si×b.
In addition, in one specific example, M is content to be signed, which is Hash (IOStream (version, type, timestamp, lockuntil, anchor, input, sendto, amount, txfee, d ata)) in a multi-sign transaction. Further, verification can also be performed by si×b= (ri+sha512 (Ri, pi, M) ×si) ×b=ri+sha512 (Ri, pi, M) ×pi.
Therefore, in the embodiment of the application, a scheme of realizing multiple signatures by using a template running in a block chain public chain is adopted, whether a transaction is triggered or not is judged through weight, and a weight parameter is added for the multiple signatures. The following effects are achieved: the operation is simple, and the work can be started only by adding a plurality of templates to initiate a plurality of transactions; encryption and decryption are convenient; adding a weight parameter, and judging whether a transaction is triggered or not through the weight; the operation is performed on the template written in the public chain core code, and the operation is safe and rapid.
Fig. 2 is a schematic structural diagram of a multiple signature implementation device according to an embodiment of the present application, where the device is adapted to perform a multiple signature implementation method according to an embodiment of the present application. As shown in fig. 2, the apparatus may specifically include a key pair generation module 201, a multi-signature template creation module 202, a turn-through certificate module 203, a transaction creation module 204, a signature module 205, and a multi-signature implementation module 206.
Wherein, the key pair generating module 201 is configured to generate a key pair for participating in a transaction; the multi-signature template creation module 202 is configured to create a multi-signature template and return an address of the multi-signature template; the transfer certificate module 203 is configured to transfer certificates to the multi-sign module; the transaction creation module 204 is configured to create a transaction according to the multi-signature template and return data to be signed; the signature module 205 is configured to sign the data to be signed and return signed data and boolean values; and the multiple signature implementation module 206 is configured to take the signed signature data as a new signature object when the boolean value does not satisfy the weight condition, and continue to sign with other private keys corresponding to the public keys participating in the establishment of the multiple signature templates to continue the judgment until the boolean value satisfies the weight condition to implement the multiple signature.
Therefore, in the embodiment of the application, a scheme of realizing multiple signatures by using a template running in a block chain public chain is adopted, whether a transaction is triggered or not is judged through weight, and a weight parameter is added for the multiple signatures. The following effects are achieved: the operation is simple, and the work can be started only by adding a plurality of templates to initiate a plurality of transactions; encryption and decryption are convenient; adding a weight parameter, and judging whether a transaction is triggered or not through the weight; the operation is performed on the template written in the public chain core code, and the operation is safe and rapid.
Optionally, the weight condition includes that the sum of signed key weights is equal to or greater than the sum of minimum weights of the participating multi-signatures in the multi-signature template.
Optionally, the method further comprises a determining module for determining that at least one key in the key pair participating in the transaction exists in the wallet before signing the data to be signed.
Optionally, the multi-signature template includes a sum of minimum weights of the participating multi-signatures, a number of private keys defined in the multi-signature template, and weights of public keys of the participating multi-signatures.
Optionally, the signature comprises a bitmap, wherein the bitmap comprises a private key participating in the multiple signature, and a location of the private key participating in the signature.
The multi-signature realizing device provided by the embodiment of the application can execute the multi-signature realizing device method provided by any embodiment of the application, and has the corresponding functional modules and beneficial effects of the executing method.
An embodiment of the present application further provides an apparatus, referring to fig. 3, fig. 3 is a schematic structural diagram of an apparatus, as shown in fig. 3, where the apparatus includes: a processor 310 and a memory 320 connected to the processor 310; the memory 320 is used for storing a computer program, and the computer program is at least used for executing the multiple signature implementation method in the embodiment of the present application; the processor 310 is used to invoke and execute the computer program in memory; the method for realizing the multiple signatures at least comprises the following steps: generating a key pair for participating in the transaction; creating a multi-signature template and returning to the address of the multi-signature template; transferring the certificate to the multi-signature module; creating a transaction according to the multi-signature template and returning data to be signed; signing the data to be signed, and returning signed signature data and a Boolean value; if the Boolean value does not meet the weight condition, the signed signature data is used as a new signature object, and the signature is continued by using other private keys corresponding to the public keys participating in the establishment of the multi-signature template so as to continue the judgment until the Boolean value meets the weight condition, so that the multi-signature is realized.
The embodiment of the application also provides a storage medium, and the storage medium stores a computer program which, when executed by a processor, realizes the steps in the multi-signature realization method as in the embodiment of the application: generating a key pair for participating in the transaction; creating a multi-signature template and returning to the address of the multi-signature template; transferring the certificate to the multi-signature module; creating a transaction according to the multi-signature template and returning data to be signed; signing the data to be signed, and returning signed signature data and a Boolean value; if the Boolean value does not meet the weight condition, the signed signature data is used as a new signature object, and the signature is continued by using other private keys corresponding to the public keys participating in the establishment of the multi-signature template so as to continue the judgment until the Boolean value meets the weight condition, so that the multi-signature is realized.
It should be noted that in the description of the present application, the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Furthermore, in the description of the present application, unless otherwise indicated, the meaning of "plurality" means at least two.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and further implementations are included within the scope of the preferred embodiment of the present application in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present application.
It is to be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, may be implemented using any one or combination of the following techniques, as is well known in the art: discrete logic circuits having logic gates for implementing logic functions on data signals, application specific integrated circuits having suitable combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
Those of ordinary skill in the art will appreciate that all or part of the steps carried out in the method of the above-described embodiments may be implemented by a program to instruct related hardware, and the program may be stored in a computer readable storage medium, where the program when executed includes one or a combination of the steps of the method embodiments.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing module, or each unit may exist alone physically, or two or more units may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules. The integrated modules may also be stored in a computer readable storage medium if implemented as software functional modules and sold or used as a stand-alone product.
The above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, or the like.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the present application have been shown and described above, it will be understood that the above embodiments are illustrative and not to be construed as limiting the application, and that variations, modifications, alternatives and variations may be made to the above embodiments by one of ordinary skill in the art within the scope of the application.

Claims (8)

1. A multiple signature implementation method, comprising:
generating a key pair for participating in the transaction;
creating a multi-signature template and returning to the address of the multi-signature template;
transferring the certificate to the multi-signature template;
creating a transaction according to the multi-signature template and returning data to be signed;
signing the data to be signed, and returning signed signature data and a Boolean value;
if the Boolean value does not meet the weight condition, the signed signature data is used as a new signature object, and the signature is continued by using other private keys corresponding to public keys participating in the establishment of the multi-signature template to continue the judgment until the Boolean value meets the weight condition, so that the multi-signature is realized, and the weight condition comprises that the sum of the weights of the signed keys is equal to or greater than the sum of the minimum weights participating in the multi-signature template.
2. The method of claim 1, wherein at least one key of the key pair participating in the transaction is present in a current wallet prior to signing the data to be signed.
3. The method of claim 1, wherein the multi-sign template comprises a sum of minimum weights for participating in the multi-sign template, a number of private keys defined in the multi-sign template, and weights for each of the public keys of each participating multi-sign.
4. The method of claim 1, wherein the signature comprises a bitmap, wherein the bitmap comprises private keys participating in multiple signatures, and wherein the location of the private keys participating in signatures.
5. A multiple signature realization apparatus, comprising:
the key pair generation module is used for generating a key pair participating in a transaction;
the multi-signature template creation module is used for creating a multi-signature template and returning the address of the multi-signature template;
the transfer certificate module is used for transferring the transfer certificate to the multi-signature template;
the transaction creation module is used for creating a transaction according to the multi-signature template and returning data to be signed;
the signature module is used for signing the data to be signed and returning signed signature data and Boolean values;
and the multiple signature realization module is used for taking the signed signature data as a new signature object when the Boolean value does not meet the weight condition, continuing to sign by using other private keys corresponding to public keys participating in the establishment of the multiple signature templates to continue to judge until the Boolean value meets the weight condition so as to realize multiple signatures, wherein the weight condition comprises that the sum of the weights of signed keys is equal to or greater than the sum of the minimum weights participating in the multiple signatures in the multiple signature templates.
6. The apparatus of claim 5, further comprising a determining module for determining that there is at least one key in the key pair participating in the transaction in the current wallet prior to signing the data to be signed.
7. An apparatus, comprising:
a processor, and a memory coupled to the processor;
the memory is used for storing a computer program at least for executing the multiple signature implementation method of any one of claims 1-4;
the processor is configured to invoke and execute the computer program in the memory.
8. A storage medium storing a computer program which, when executed by a processor, performs the steps of the multiple signature implementation method according to any one of claims 1 to 4.
CN202010306359.7A 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium Active CN111523889B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010306359.7A CN111523889B (en) 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010306359.7A CN111523889B (en) 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111523889A CN111523889A (en) 2020-08-11
CN111523889B true CN111523889B (en) 2023-09-01

Family

ID=71903304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010306359.7A Active CN111523889B (en) 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111523889B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024680A (en) * 2020-12-14 2022-02-08 北京八分量信息科技有限公司 Multiple signature method in multi-signature consensus architecture
CN113191751A (en) * 2021-04-22 2021-07-30 深圳前海移联科技有限公司 Block chain-based digital currency multi-sign method and system and electronic equipment
CN114614992B (en) * 2022-03-11 2023-10-13 深圳市名竹科技有限公司 Signature value output and verification method, device, computer equipment and storage medium

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000221882A (en) * 1999-02-02 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> Multiple digital signature method, system therefor, device therefor and program recording medium therefor
DE602005024118D1 (en) * 2004-03-30 2010-11-25 Univ Dublin City VERIFICATION OF IDENTITY BASED SIGNATURES
KR20150129869A (en) * 2014-05-12 2015-11-23 주식회사 키페어 Hardware Security Module for Certification and Processing Method thereof
CN108370318A (en) * 2015-12-21 2018-08-03 万事达卡国际股份有限公司 Method and system for the block chain modification for using digital signature
KR20180089670A (en) * 2017-02-01 2018-08-09 주식회사 더루프 Method for generating and verifying an digital signature or message authentication code based on a block chain that does not require key management
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
CN108880803A (en) * 2018-07-12 2018-11-23 佛山伊苏巨森科技有限公司 A kind of method and system signed using digital signature to block chain affairs
CN109583887A (en) * 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 A kind of method of commerce and device of block chain
CN109615525A (en) * 2019-01-18 2019-04-12 北京阿尔山区块链联盟科技有限公司 Multi-signature shares guard method, system and the electronic equipment of account
CN109685506A (en) * 2018-12-25 2019-04-26 杭州复杂美科技有限公司 The Signature Confirmation method of multi-signature account generation method and multi-signature account
CN109831509A (en) * 2019-02-18 2019-05-31 深圳市优学链科技有限公司 A kind of common recognition algorithm going out block at random for realizing equal weight
CN110011810A (en) * 2019-03-31 2019-07-12 西安电子科技大学 Block chain anonymity signature method based on linkable ring signature and multi-signature
CN110233736A (en) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 A kind of digital signature generation method, verification method, device, equipment, medium
CN110351096A (en) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 Multi-signature method, signature center, medium and electronic equipment
CN110785783A (en) * 2019-03-04 2020-02-11 阿里巴巴集团控股有限公司 Method and apparatus for testing signature verification for blockchain systems
CN110826091A (en) * 2018-08-14 2020-02-21 珠海金山办公软件有限公司 File signature method and device, electronic equipment and readable storage medium
CN110929275A (en) * 2019-11-14 2020-03-27 上海金桥信息股份有限公司 Block chain data security method based on multiple signatures

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187440A1 (en) * 2008-01-21 2009-07-23 Binny Gopinath Sreevas Method and system for facilitating security management in an electronic network
US9599491B2 (en) * 2011-06-15 2017-03-21 Waters Technologies Corporation Techniques for use with test qualification protocols
US11966912B2 (en) * 2017-06-26 2024-04-23 Auctane, Inc. System and method for cryptographic-chain-based verification of postage transaction records
US11263605B2 (en) * 2018-03-22 2022-03-01 R3 Llc Weighted multiple authorizations
CN108632045A (en) * 2018-05-10 2018-10-09 阿里巴巴集团控股有限公司 A kind of block chain data processing method, device, processing equipment and system
JP6736033B2 (en) * 2018-06-12 2020-08-05 フレセッツ株式会社 Wallet device for cryptocurrency and signature method using the device
EP4229573A4 (en) * 2020-10-14 2024-09-18 Blockchains Inc Multisignature key custody, key customization, and privacy service

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000221882A (en) * 1999-02-02 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> Multiple digital signature method, system therefor, device therefor and program recording medium therefor
DE602005024118D1 (en) * 2004-03-30 2010-11-25 Univ Dublin City VERIFICATION OF IDENTITY BASED SIGNATURES
KR20150129869A (en) * 2014-05-12 2015-11-23 주식회사 키페어 Hardware Security Module for Certification and Processing Method thereof
CN108370318A (en) * 2015-12-21 2018-08-03 万事达卡国际股份有限公司 Method and system for the block chain modification for using digital signature
KR20180089670A (en) * 2017-02-01 2018-08-09 주식회사 더루프 Method for generating and verifying an digital signature or message authentication code based on a block chain that does not require key management
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
CN108880803A (en) * 2018-07-12 2018-11-23 佛山伊苏巨森科技有限公司 A kind of method and system signed using digital signature to block chain affairs
CN110826091A (en) * 2018-08-14 2020-02-21 珠海金山办公软件有限公司 File signature method and device, electronic equipment and readable storage medium
CN109583887A (en) * 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 A kind of method of commerce and device of block chain
CN109685506A (en) * 2018-12-25 2019-04-26 杭州复杂美科技有限公司 The Signature Confirmation method of multi-signature account generation method and multi-signature account
CN109615525A (en) * 2019-01-18 2019-04-12 北京阿尔山区块链联盟科技有限公司 Multi-signature shares guard method, system and the electronic equipment of account
CN109831509A (en) * 2019-02-18 2019-05-31 深圳市优学链科技有限公司 A kind of common recognition algorithm going out block at random for realizing equal weight
CN110785783A (en) * 2019-03-04 2020-02-11 阿里巴巴集团控股有限公司 Method and apparatus for testing signature verification for blockchain systems
CN110011810A (en) * 2019-03-31 2019-07-12 西安电子科技大学 Block chain anonymity signature method based on linkable ring signature and multi-signature
CN110233736A (en) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 A kind of digital signature generation method, verification method, device, equipment, medium
CN110351096A (en) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 Multi-signature method, signature center, medium and electronic equipment
CN110929275A (en) * 2019-11-14 2020-03-27 上海金桥信息股份有限公司 Block chain data security method based on multiple signatures

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于手写签名认证的安全机制;赵桂敏, 夏利民;计算机工程与应用(第30期);第72-74页 *

Also Published As

Publication number Publication date
CN111523889A (en) 2020-08-11

Similar Documents

Publication Publication Date Title
US20240250808A1 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US20230092477A1 (en) Trustless deterministic state machine
CN111523889B (en) Multiple signature implementation method, device, equipment and storage medium
US20240265392A1 (en) Concurrent state machine processing using a blockchain
CN110520884B (en) Out-of-chain intelligent contract service based on trusted execution environment
JP2024073535A (en) Implementing logic gate functionality using blockchain
CN109583886B (en) Transaction method and device based on block chain and remittance side equipment
TW201914255A (en) Key data processing method, device and server
CN108780548A (en) Using Elliptic Curve Cryptography for Personal Device Security to Share Secrets
CN109478223A (en) Method and system for realizing block chain
CN110061840A (en) Data ciphering method, device, computer equipment and storage medium
US9948462B2 (en) Hypersphere-based multivariable public key signature/verification system and method
CN112862490B (en) Output consensus method under asynchronous network
CN109447636A (en) A kind of assets transfer method and device
CN113055431A (en) Block chain-based industrial big data file efficient chaining method and device
WO2023070831A1 (en) Block confirmation method and device
US10402593B2 (en) Verification paths of leaves of a tree
CN111262707B (en) Digital signature method, verification method, device and storage medium
CN112487464A (en) Encrypted data sharing method and device based on block chain
CN115244894A (en) Hash message authentication code generation method
CN112184245A (en) Cross-block-chain transaction identity confirmation method and device
US20080002825A1 (en) Method and a system for a quick verification rabin signature scheme
CN111931202A (en) Encrypted storage method, terminal device and storage medium for distributed system
CN102625298A (en) Elliptic curve cryptosystem (ECC)-algorithm-based implementation method and device for security intellectual property (IP) core
CA3025502C (en) Seed key expansion method and its uses

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20241008

Address after: 324000 Room 1806C, 18th Floor, Building 1, No. 288 Qinjiang East Road, Baiyun Street, Kecheng District, Quzhou City, Zhejiang Province (self declared)

Patentee after: Zhongke Dianbao (Zhejiang) Technology Co.,Ltd.

Country or region after: China

Address before: Building 8C2, Yunfang Original Battery Factory Cultural and Creative Park, No. 47 Puji Road, Wuhua District, Kunming City, Yunnan Province, 650000

Patentee before: Kunming dagangke Technology Co.,Ltd.

Country or region before: China