WO2021012574A1 - Multisignature method, signature center, medium and electronic device - Google Patents

Multisignature method, signature center, medium and electronic device Download PDF

Info

Publication number
WO2021012574A1
WO2021012574A1 PCT/CN2019/123094 CN2019123094W WO2021012574A1 WO 2021012574 A1 WO2021012574 A1 WO 2021012574A1 CN 2019123094 W CN2019123094 W CN 2019123094W WO 2021012574 A1 WO2021012574 A1 WO 2021012574A1
Authority
WO
WIPO (PCT)
Prior art keywords
signature
participant
center
message
signed
Prior art date
Application number
PCT/CN2019/123094
Other languages
French (fr)
Chinese (zh)
Inventor
蒋福强
贾牧
张鹏程
Original Assignee
深圳壹账通智能科技有限公司
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 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Publication of WO2021012574A1 publication Critical patent/WO2021012574A1/en

Links

Images

Classifications

    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures

Definitions

  • the present disclosure relates to the field of information encryption technology, in particular to a multi-signature method, signature center, medium and electronic equipment.
  • each signature participant arbitrarily takes an integer as a private Key, and then use the generator in the cyclic group to obtain the corresponding public key from the private key to obtain the public key set of the signing participants, and then calculate the public key commitment based on the public key set and each public key; each participant obtains A random number, for each random number to obtain a random point after generating a random number of operations; for each signing participant, the binary operation result between each random point, the message to be signed, and the public key of the signing participant Perform a hash operation, then perform a binary operation on the operation result, public key commitment, and public key, and add the random number of the signature participant to the calculated result to obtain the signature of the signature participant, and finally The binary operation result between each random point and the signature of each signature participant are connected to obtain a signature.
  • the purpose of the present disclosure is to provide a multi-signature method, a signature center, a medium, and an electronic device.
  • a multi-signature method is provided, the method is executed by a signature center, the signature center includes a signature unit and a plurality of signature participants, and the method includes:
  • Each signature participant in the signature center obtains a cyclic group of prime order established based on a preset elliptic curve equation, the cyclic group includes generators, and the signature participant has an identifier;
  • Each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant;
  • Each signature participant in the signature center uses the following formula to obtain the signature participant's public key based on the signature participant's private key:
  • X i is the i-th signature obtained participating party public key
  • g is a generator of the cyclic group
  • x i is the i-th signature participant private key
  • each signature participant in the signature center When a signature request for a message to be signed is received, each signature participant in the signature center generates a random number, and the signature unit in the signature center uses the following formula to set the preset elliptic curve based on the random number of each signature participant Get random points on the target:
  • R i is a random point obtained for the i-th signature participant on the preset elliptic curve
  • r i is a random number generated by the i-th signature participant
  • R is a random number based on each signature participant Random points of the target obtained
  • Each signature participant in the signature center uses the following formula to sign the message to be signed based on the target random point, and sends it to the signature unit in the signature center, and the signature unit synthesizes the signature of each signature participant Obtain the signature of the message to be signed:
  • ID i is the identity of the i-th signing participant
  • c H(X,R,m)
  • H is the hash function
  • m is the message to be signed
  • X is the public signature of all signing participants in the signature center.
  • a signature center which includes a signature unit and a plurality of signature participants, the signature unit includes a target random point acquisition module and a synthesis module, and the signature participant includes an acquisition module and a receiving module , Public key acquisition module, generation module and signature module, these modules can perform the method as described above.
  • a computer-readable program medium which stores computer program instructions, and when the computer program instructions are executed by a computer, the computer executes the aforementioned method.
  • the computer-readable program medium may also be called a computer-readable storage medium, for example, it may be a non-volatile computer-readable storage medium.
  • an electronic device including:
  • a memory where computer-readable instructions are stored, and when the computer-readable instructions are executed by the processor, the method as described above is implemented.
  • the private key of each signature participant is generated by the key generation center according to the signature of the signature participant, it is possible to avoid the occurrence of the phenomenon of reducing the reliability of the signature by generating the private key in a random manner, and improve the security and safety of the signature.
  • the maintainability of the system saves the steps that require a large amount of computing resources on the basis of the existing technology, and improves the efficiency of the signature.
  • Fig. 1 is a schematic diagram showing a system architecture of a multi-signature method according to an exemplary embodiment
  • Fig. 2 is a flowchart showing a multi-signature method according to an exemplary embodiment
  • Fig. 3 is a flowchart of steps after step 230 and steps after step 260 according to an embodiment corresponding to Fig. 2;
  • Fig. 4 is a block diagram showing a signature center according to an exemplary embodiment
  • Fig. 5 is a block diagram showing an example of an electronic device implementing the above multi-signature method according to an exemplary embodiment
  • Fig. 6 shows a computer-readable storage medium for implementing the above-mentioned multi-signature method according to an exemplary embodiment.
  • the present disclosure first provides a multi-signature method.
  • Signing is the process of generating digital signatures.
  • a digital signature is a digital string that can only be generated by the sender of the information and that others cannot forge. This digital string is also an effective proof of the authenticity of the information sent by the sender.
  • Multi-signature refers to a signature that requires multiple signing parties to complete together, and each signing party plays a role in the signing process.
  • the signature participant can be any device with computing and processing functions.
  • the device can be connected to an external device to receive or send information.
  • It can be a portable mobile device, such as a smart phone, a tablet, a laptop, or a PDA (Personal Digital). Assistant), etc., can also be fixed devices, such as computer equipment, field terminals, desktop computers, servers, workstations, etc., or a collection of multiple devices, such as the physical infrastructure of cloud computing.
  • the signature participant may be a server or a computer device.
  • Fig. 1 is a schematic diagram showing a system architecture of a multi-signature method according to an exemplary embodiment.
  • the signature center 100 includes a signature unit 110 and a plurality of signature participants 120, all of which can communicate with the signature unit 110; besides the signature center 100, there is also a key generation center 130.
  • the key generation center 130 can communicate with the signature participant 120 in the signature center 100.
  • the signature participant 120 has an identity, and multiple signature participants 120 in the signature center 100 can respectively receive the private key generated by the key generation center according to the identity of each signature participant 120, and then the signature participant 120 can use the private key to generate The corresponding public key; then, if the signature center 100 receives a signature request for the message to be signed, each signature participant 120 in the signature center 100 will generate a random number, and the signature unit 110 will generate a random number for each signature participant 120 The random number obtains a random point on the preset elliptic curve, and then performs a binary operation on each random point in a predetermined order to obtain the target random point existing on the preset elliptic curve.
  • the signature unit 110 will perform a signature for each signature Participant 120 first performs a hash operation on the set of public keys of all signing participants 120, the target random point, and the message to be identified, and then performs an ellipse based on the result of the hash operation and the identity and private key of the signing participant 120 The two-dimensional calculation of the curve, and the random number generated by the signing participant 120 is added to the result of the two-dimensional calculation to obtain the signature of the signing participant; finally, the target random point and the signature of each signing participant 120 are combined As the signature of the message to be signed finally.
  • FIG. 1 is only one embodiment of the present disclosure, although in the embodiment of FIG. 1,
  • Each signature participant 120 is a desktop computer, and the key generation center 130 is also located outside the signature center 100.
  • the signature participant 120 may be the aforementioned various types of terminals.
  • the key generation center 130 and the signature The inclusion relationship of the center 100 can be arbitrary, that is, the key generation center 130 can be located outside the signature center 100 or inside the signature center 100, so the present disclosure does not limit this, and the protection scope of the present disclosure should not be therefore And subject to any restrictions.
  • Fig. 2 is a flowchart showing a multi-signature method according to an exemplary embodiment. Among them, the method shown in the embodiment of Fig. 2 is executed by a signature center, which includes a signature unit and multiple signature participants, as shown in Fig. 2, including the following steps:
  • Step 210 Each signature participant in the signature center obtains a prime order cyclic group established based on a preset elliptic curve equation.
  • the cyclic group includes generators, and the signature participants have identifiers.
  • the signature center is a system that includes multiple units or modules.
  • the included signature units and multiple signature participants are organically integrated in the signature center, and the signature unit and the signature participants can interact or interact with each other.
  • the signature center can be an organic combination of software, hardware, and firmware.
  • the signature participant can be a module, a terminal, or even a separate system or subsystem.
  • a group is a concept in group theory.
  • a group is a non-empty set that satisfies the conditions of closure, associative law, existence of identity elements, and existence of inverse elements.
  • a unit in a group is called an element in the group. Is the number of elements in the group.
  • a cyclic group is a group that satisfies the condition: each element in the group is a power of a fixed element in the group, so the generator of the cyclic group is the fixed element, and the prime order cyclic group
  • a group is a cyclic group in which the number of elements contained is prime.
  • the general formula of the preset elliptic curve equation is:
  • a and b are the coefficients of the preset elliptic curve equation, and p is the modulus.
  • the general elliptic curve equation can adopt the above form, for example:
  • the set of all points satisfying the preset elliptic curve equation is used as the established prime order cyclic group.
  • the process of establishing the cyclic group of prime order based on the preset elliptic curve equation is established by using the addition algorithm of the elliptic curve.
  • the identity of the signing participant is a string used to uniquely determine the identity of the signing participant, which can include letters, numbers, underscores and other characters, such as MAC address (Media Access Control Address), mobile phone number, bank Card number, account number or ID (Identification, serial number) assigned in advance for each signing participant.
  • MAC address Media Access Control Address
  • mobile phone number bank Card number
  • account number ID (Identification, serial number) assigned in advance for each signing participant.
  • the type of the identity of each signature participant in the signature center is the same, and the type of the identity of the signature participant is one of an ID number, a mobile phone number, and an email address.
  • Step 220 Each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant.
  • the private key is the key used for encryption in the field of asymmetric encryption.
  • the information encrypted by the private key can only be decrypted with the corresponding public key.
  • the key generation center generates a private key according to the identity of each signing participant in the following manner:
  • the key generation center uses a hash algorithm specific to the key generation center to hash the identity of each signature participant to obtain the private key of each signature participant.
  • the key generation center generates a private key according to the identity of each signing participant in the following manner:
  • the key generation center uses its own private key to encrypt the identity of each signing participant to obtain the private key of each signing participant.
  • the key generation center generates a private key according to the identity of each signing participant in the following manner:
  • the key generation center For each signature participant, the key generation center generates a random character sequence corresponding to the signature of the signature participant as the private key of the signature participant, and combines the private key generated for each signature participant with the corresponding The identity of the signing participant is stored correspondingly.
  • the identities of all signature participants are generated by the key generation center and maintained by the key generation center.
  • the method before each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant, the method further includes:
  • Each signature participant in the signature center sends the signature of the signature participant to the key generation center, so that the key generation center generates a private key according to the signature of the signature participant.
  • the key generation center has a script embedded at the local end (namely, the signature center), and before each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant, The key generation center uses a script to crawl the identity of the signing participants in the signature center, and generates a corresponding private key according to the identity of each signing participant.
  • each signature participant in the signature center obtains the public key of the signature participant by using the following formula based on the private key of the signature participant:
  • X i is the i-th signature obtained participant public key
  • g is a generator of the cyclic group
  • x i is the i-th signature participant private key.
  • the public key of each signature participant is obtained by performing binary operations on the elliptic curve a specific number of times on the generator, where the generator is the initial point of the elliptic curve, and the generator The specified number is equal to the private key of the corresponding signing participant.
  • Step 250 When a signature request for the message to be signed is received, each signature participant in the signature center generates a random number, and the signature unit in the signature center uses the following formula based on the random number of each signature participant in the preset Get the target random point on the elliptic curve:
  • R i is a random point obtained for the i-th signature participant on the preset elliptic curve
  • r i is a random number generated by the i-th signature participant
  • R is a random number based on each signature participant Random points of the target obtained.
  • the random number generated by each signature participant is greater than 0 and less than the order of the cyclic group.
  • the signature request for the message to be signed may be a network request based on various protocols, for example, it may be a request under the HTTP protocol.
  • the signature request includes the message to be signed.
  • the signature unit in the signature center before receiving the signature request for the message to be signed, obtains a plurality of messages to be signed, wherein each message to be signed has an identifier, and the signature request for the message to be signed Contains the identity of the message to be signed, and then when a signature request for the message to be signed is received, the signature unit in the signature center obtains the identity and the identity of the message to be signed included in the signature request from the plurality of messages to be signed. Identifies the same message to be signed.
  • each signature participant in the signature center uses the following formula to sign the message to be signed based on the target random point, and sends it to the signature unit in the signature center, and the signature unit synthesizes each signature participant The signature of the party obtains the signature of the message to be signed:
  • ID i is the identity of the i-th signing participant
  • c H(X,R,m)
  • H is the hash function
  • m is the message to be signed
  • X is the public signature of all signing participants in the signature center.
  • the finally synthesized signature of the message to be signed is related to the private key, the identity of each signing participant, the public key of each signing participant, the target random point, and the message to be signed. This improves The complexity of the signature is improved, and the reliability and security of the signature are improved.
  • the private key of each signature participant is generated by the key generation center according to the signature of the signature participant, it is possible to avoid random generation of the private key leading to signature The appearance of the phenomenon of reduced reliability.
  • Both the private key of the signing participant and the signature of the message to be signed are related to the identity of each signing participant, which improves the security of the signature and the maintainability of the system.
  • the steps that require a large amount of computing resources are eliminated, resources are saved, and the efficiency of signatures is improved.
  • FIG. 3 is a flowchart of steps after step 230 and steps after step 260 according to an embodiment shown in the embodiment corresponding to FIG. 2. As shown in Figure 3, it includes the following steps:
  • each signature participant in the signature center publishes the public key of the signature participant, so that the signature verification party can obtain a public key set composed of the public keys of all the signature participants in the signature center.
  • the signing participant publishes its public key through the network. For example, the signing participant adds the public key to the preset webpage code template, generates a webpage file that records the public key and stores it locally; when the signature verifier needs to obtain the public key of the signing participant, the public key is sent to the signing participant Obtain the request, the signing party will return a web page file containing the public key to the signature verifier according to the request, so that the signature verifier can obtain the public key from the web page file, and the signature verifier sends the public key to each signing party Obtain the request to obtain the public key set.
  • the signature center will package the public key set and send it to each signature verifier with which it has established a communication connection, so that the signature verifier can obtain Public key.
  • the signature verifier is an entity with computing processing and communication capabilities, and can be the same type of terminal or system as the signature participant.
  • Step 270 The signature unit in the signature center sends the signature of the message to be signed to the target signature verifier, so that the target signature verifier uses the public key set to verify the signature of the message to be signed.
  • the target signature verifier is a party qualified to verify the signature of the message to be signed.
  • the target signature verifier has an identifier and is stored locally in the signature unit.
  • the signature unit in the signature center receives a request to obtain the signature of the message to be signed, if the identifier in the request is stored locally in the signature unit If the identifiers in are consistent, the signature for the message to be signed is sent to the sender of the request according to the request.
  • the target signature verifier uses the public key set to verify the signature of the message to be signed based on the following formula:
  • g is a generator of the cyclic group
  • R is a random number based on the target random points each acquired signature participants
  • S s 1 + s 2 + ... + s n
  • X it is the i-th signature obtained
  • ID i is the identity of the i-th signing participant
  • c H(X,R,m)
  • H is the hash function
  • m is the message to be signed
  • X is all signatures in the signature center
  • Fig. 4 is a block diagram showing a signature center according to an exemplary embodiment.
  • the signature center 400 includes a signature unit 420 and a plurality of signature participants 410.
  • the signature unit 420 includes a target random point acquisition module 421 and a synthesis module 422.
  • the signature participant 410 includes an acquisition module 411, Module 412, public key acquisition module 413, generation module 414 and signature module 415, where:
  • the obtaining module 411 is configured to obtain a prime order cyclic group established based on a preset elliptic curve equation, the cyclic group including generators, and the signature participant has an identifier;
  • the receiving module 412 is configured to receive the private key generated by the key generation center according to the identity of the signature participant;
  • the public key obtaining module 413 is configured to obtain the public key of the signature participant by using the following formula based on the private key of the signature participant:
  • X i is the i-th signature obtained participating party public key
  • g is a generator of the cyclic group
  • x i is the i-th signature participant private key
  • the generating module 414 is configured to generate a random number when a signature request for a message to be signed is received;
  • the target random point obtaining module 421 is configured to obtain a target random point on the preset elliptic curve based on the random number of each signature participant using the following formula:
  • R i is a random point obtained for the i-th signature participant on the preset elliptic curve
  • r i is a random number generated by the i-th signature participant
  • R is a random number based on each signature participant Random points of the target obtained
  • the signature module 415 is configured to respectively sign the message to be signed based on the target random point using the following formula, and send it to the signature unit in the signature center:
  • ID i is the identity of the i-th signing participant
  • c H(X,R,m)
  • H is the hash function
  • m is the message to be signed
  • X is the public signature of all signing participants in the signature center.
  • a set of keys, s i is the signature of the message to be signed by the i-th signing participant;
  • an electronic device capable of implementing the above method.
  • the electronic device 500 according to this embodiment of the present application will be described below with reference to FIG. 5.
  • the electronic device 500 shown in FIG. 5 is only an example, and should not bring any limitation to the function and use scope of the embodiments of the present application.
  • the electronic device 500 is represented in the form of a general-purpose computing device.
  • the components of the electronic device 500 may include, but are not limited to: the aforementioned at least one processing unit 510, the aforementioned at least one storage unit 520, and a bus 530 connecting different system components (including the storage unit 520 and the processing unit 510).
  • the storage unit stores program code, and the program code can be executed by the processing unit 510, so that the processing unit 510 executes the various exemplary methods described in the above-mentioned "Embodiment Method" section of this specification. Implementation steps.
  • the storage unit 520 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 521 and/or a cache storage unit 522, and may further include a read-only storage unit (ROM) 523.
  • RAM random access storage unit
  • ROM read-only storage unit
  • the storage unit 520 may also include a program/utility tool 524 having a set of (at least one) program module 525.
  • program module 525 includes but is not limited to: an operating system, one or more application programs, other program modules, and program data, Each of these examples or some combination may include the implementation of a network environment.
  • the bus 530 may represent one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any bus structure among multiple bus structures. bus.
  • the electronic device 500 may also communicate with one or more external devices 700 (such as keyboards, pointing devices, Bluetooth devices, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 500, and/or communicate with Any device (such as a router, modem, etc.) that enables the electronic device 500 to communicate with one or more other computing devices. This communication can be performed through an input/output (I/O) interface 550.
  • the electronic device 500 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 560.
  • networks for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet
  • the network adapter 560 communicates with other modules of the electronic device 500 through the bus 530.
  • other hardware and/or software modules can be used in conjunction with the electronic device 500, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives And data backup storage system, etc.
  • the exemplary embodiments described herein can be implemented by software, or can be implemented by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (can be a CD-ROM, U disk, mobile hard disk, etc.) or on the network , Including several instructions to make a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiments of the present disclosure.
  • a computing device which may be a personal computer, a server, a terminal device, or a network device, etc.
  • a computer-readable storage medium on which is stored a program product capable of implementing the above method of this specification.
  • various aspects of the present application can also be implemented in the form of a program product, which includes program code.
  • the program product runs on a terminal device, the program code is used to enable the The terminal device executes the steps according to various exemplary embodiments of the present application described in the above-mentioned "Exemplary Method" section of this specification.
  • a program product 600 for implementing the above method according to an embodiment of the present application is described. It can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be installed in a terminal device, For example, running on a personal computer.
  • CD-ROM compact disk read-only memory
  • the program product of this application is not limited to this.
  • the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or combined with an instruction execution system, device, or device.
  • the program product can use any combination of one or more readable media.
  • the readable medium may be a readable signal medium or a readable storage medium.
  • the readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples (non-exhaustive list) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Type programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • the computer-readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and readable program code is carried therein. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with the instruction execution system, apparatus, or device.
  • the program code contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
  • the program code used to perform the operations of this application can be written in any combination of one or more programming languages.
  • the programming languages include object-oriented programming languages—such as Java, C++, etc., as well as conventional procedural Programming language-such as "C" language or similar programming language.
  • the program code can be executed entirely on the user's computing device, partly on the user's device, executed as an independent software package, partly on the user's computing device and partly executed on the remote computing device, or entirely on the remote computing device or server Executed on.
  • the remote computing device can be connected to a user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using Internet service providers) Business to connect via the Internet).
  • LAN local area network
  • WAN wide area network
  • Internet service providers Internet service providers

Abstract

The present disclosure relates to the field of information encryption, and disclosed are a multisignature method, a signature center, a medium and an electronic device. The method is executed by the signature center, the signature center comprising a signature unit and a plurality of signing participants. The method comprises: each signing participant acquires a cyclic group of prime order under an elliptic curve equation; the signing participants receive private keys which are generated by a secret key generation center according to the identities of the signing participants; the signing participants acquire public keys thereof by using a formula on the basis of the private keys of the signing participants; each signing participant generates a random number, and a signature unit acquires a target random point by using a formula on the basis of the random number; according to the formula, on the basis of the target random point, each signing participant signs a message to be signed respectively and sends same to the signature unit, and the signatures of said message are composited by the signature unit. The described method improves the security of signing and the maintainability of a signature system, reduces resource consumption when there are multiple signatures and improves the efficiency of signing.

Description

多重签名方法、签名中心、介质及电子设备Multi-signature method, signature center, medium and electronic equipment
本申请要求于2019年07月24日提交中国专利局、申请号为201910671776.9、申请名称为“多重签名方法、签名中心、介质及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on July 24, 2019, the application number is 201910671776.9, and the application name is "Multi-signature method, signature center, medium and electronic equipment", the entire content of which is incorporated by reference In this application.
技术领域Technical field
本公开涉及信息加密技术领域,特别涉及一种多重签名方法、签名中心、介质及电子设备。The present disclosure relates to the field of information encryption technology, in particular to a multi-signature method, signature center, medium and electronic equipment.
背景技术Background technique
在区块链运行时,为了验证加密的交易信息的安全性,比如验证信息的完整性和信息生成者身份的确定性,常常需要利用签名算法来进行。为了进一步提升签名的安全性,多重签名的方案也开始出现,现有技术下,区块流(blockstream)团队提出的多重签名的方案主要是这样的:每一签名参与方任意取一个整数作为私钥,然后利用循环群内的生成元该私钥获取相应的公钥,得到签名参与方的公钥集合,然后基于公钥集合以及每一公钥,计算出公钥承诺;每一参与方获取一个随机数,针对每一随机数获取生成元运算随机数次后的随机点;针对每一签名参与方,对各随机点之间的二元运算结果、待签名消息、签名参与方的公钥进行哈希运算,然后对运算结果、公钥承诺和公钥进行二元运算,并在得出计算结果的基础上加上该签名参与方的随机数,得到该签名参与方的签名,最后将各随机点之间的二元运算结果以及各签名参与方的签名连接起来得到签名。When the blockchain is running, in order to verify the security of encrypted transaction information, such as verifying the integrity of the information and the certainty of the identity of the information generator, it is often necessary to use a signature algorithm. In order to further improve the security of signatures, multi-signature schemes have also begun to appear. Under the existing technology, the multi-signature scheme proposed by the blockstream team is mainly as follows: each signature participant arbitrarily takes an integer as a private Key, and then use the generator in the cyclic group to obtain the corresponding public key from the private key to obtain the public key set of the signing participants, and then calculate the public key commitment based on the public key set and each public key; each participant obtains A random number, for each random number to obtain a random point after generating a random number of operations; for each signing participant, the binary operation result between each random point, the message to be signed, and the public key of the signing participant Perform a hash operation, then perform a binary operation on the operation result, public key commitment, and public key, and add the random number of the signature participant to the calculated result to obtain the signature of the signature participant, and finally The binary operation result between each random point and the signature of each signature participant are connected to obtain a signature.
现有技术的缺陷在于,由于签名参与方的私钥是随机生成的,所以其安全性不可控,也难于系统地进行维护,同时现有技术需要计算公钥承诺,因此该环节需要大量的计算量,会导致签名效率低下。The disadvantage of the prior art is that since the private key of the signing participant is randomly generated, its security is uncontrollable and difficult to maintain systematically. At the same time, the prior art needs to calculate the public key commitment, so this link requires a lot of calculations. The amount will lead to inefficient signatures.
发明内容Summary of the invention
在信息加密技术领域,为了解决或者至少部分解决上述技术问题,本公开的目的在于提供一种多重签名方法、签名中心、介质及电子设备。In the field of information encryption technology, in order to solve or at least partially solve the above technical problems, the purpose of the present disclosure is to provide a multi-signature method, a signature center, a medium, and an electronic device.
根据本申请的一方面,提供了一种多重签名方法,所述方法由签名中心执行,所述签名中心包括签名单元和多个签名参与方,所述方法包括:According to an aspect of the present application, a multi-signature method is provided, the method is executed by a signature center, the signature center includes a signature unit and a plurality of signature participants, and the method includes:
签名中心中的每一签名参与方获取基于预设的椭圆曲线方程建立的素数阶循环群,所述循环群包括生成元,所述签名参与方具有标识;Each signature participant in the signature center obtains a cyclic group of prime order established based on a preset elliptic curve equation, the cyclic group includes generators, and the signature participant has an identifier;
签名中心中的每一签名参与方接收密钥生成中心根据该签名参与方的标识生成的私钥;Each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant;
签名中心中的每一签名参与方基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥:Each signature participant in the signature center uses the following formula to obtain the signature participant's public key based on the signature participant's private key:
X i=g^x i, X i =g^x i ,
其中,X i是得到的第i个签名参与方的公钥,g是所述循环群的生成元,x i是第i个签名参与方的私钥; Wherein, X i is the i-th signature obtained participating party public key, g is a generator of the cyclic group, x i is the i-th signature participant private key;
当接收到针对待签名消息的签名请求,签名中心中的每一签名参与方生成一个随机数,签名中心中的签名单元基于各签名参与方的随机数利用如下公式在所述预设的椭圆曲线上 获取目标随机点:When a signature request for a message to be signed is received, each signature participant in the signature center generates a random number, and the signature unit in the signature center uses the following formula to set the preset elliptic curve based on the random number of each signature participant Get random points on the target:
R i=g^r iR i =g^r i ,
R=R 1*R 2*…*R nR=R 1 *R 2 *...*R n ,
其中,R i是在所述预设的椭圆曲线上针对第i个签名参与方获取的随机点,r i是第i个签名参与方生成的随机数,R是基于各签名参与方的随机数获取的目标随机点; Among them, R i is a random point obtained for the i-th signature participant on the preset elliptic curve, r i is a random number generated by the i-th signature participant, and R is a random number based on each signature participant Random points of the target obtained;
签名中心中各签名参与方基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元,所述签名单元合成每一签名参与方的签名得到所述待签名消息的签名:Each signature participant in the signature center uses the following formula to sign the message to be signed based on the target random point, and sends it to the signature unit in the signature center, and the signature unit synthesizes the signature of each signature participant Obtain the signature of the message to be signed:
s i=r i+c*ID i*x is i = r i +c*ID i *x i ,
其中,ID i为第i个签名参与方的标识,c=H(X,R,m),H为哈希函数,m为所述待签名消息,X为签名中心中所有签名参与方的公钥的集合,s i为第i个签名参与方对所述待签名消息进行的签名,所述签名单元合成出的所述待签名消息的签名为(R,S),S=s 1+s 2+…+s nAmong them, ID i is the identity of the i-th signing participant, c=H(X,R,m), H is the hash function, m is the message to be signed, and X is the public signature of all signing participants in the signature center. A set of keys, s i is the signature of the i-th signature participant to the message to be signed, and the signature of the message to be signed synthesized by the signature unit is (R, S), S=s 1 +s 2 +…+s n .
根据本申请的另一方面,提供了一种签名中心,包括签名单元和多个签名参与方,所述签名单元包括目标随机点获取模块和合成模块,所述签名参与方包括获取模块、接收模块、公钥获取模块、生成模块以及签名模块,这些模块可执行如前所述的方法。According to another aspect of the present application, a signature center is provided, which includes a signature unit and a plurality of signature participants, the signature unit includes a target random point acquisition module and a synthesis module, and the signature participant includes an acquisition module and a receiving module , Public key acquisition module, generation module and signature module, these modules can perform the method as described above.
根据本申请的另一方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行如前所述的方法。可选的,该计算机可读程序介质还可以叫做计算机可读存储介质,例如,其可以是计算机非易失性可读存储介质。According to another aspect of the present application, a computer-readable program medium is provided, which stores computer program instructions, and when the computer program instructions are executed by a computer, the computer executes the aforementioned method. Optionally, the computer-readable program medium may also be called a computer-readable storage medium, for example, it may be a non-volatile computer-readable storage medium.
根据本申请的另一方面,提供了一种电子设备,所述电子设备包括:According to another aspect of the present application, there is provided an electronic device, the electronic device including:
处理器;processor;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。A memory, where computer-readable instructions are stored, and when the computer-readable instructions are executed by the processor, the method as described above is implemented.
本申请的实施例提供的技术方案可以包括以下有益效果:The technical solutions provided by the embodiments of the present application may include the following beneficial effects:
由于各签名参与方的私钥是密钥生成中心根据签名参与方的标识来生成的,因此可以避免通过随机方式生成私钥导致签名可靠性降低这种现象的出现,提高了签名的安全性和系统的可维护性,同时在现有技术的基础上省却了需要大量计算资源的步骤,提高的签名的效率。Since the private key of each signature participant is generated by the key generation center according to the signature of the signature participant, it is possible to avoid the occurrence of the phenomenon of reducing the reliability of the signature by generating the private key in a random manner, and improve the security and safety of the signature. The maintainability of the system saves the steps that require a large amount of computing resources on the basis of the existing technology, and improves the efficiency of the signature.
附图说明Description of the drawings
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。The drawings here are incorporated into the specification and constitute a part of the specification, show embodiments that conform to the application, and are used together with the specification to explain the principle of the application.
图1是根据一示例性实施例示出的一种多重签名方法的系统架构示意图;Fig. 1 is a schematic diagram showing a system architecture of a multi-signature method according to an exemplary embodiment;
图2是根据一示例性实施例示出的一种多重签名方法的流程图;Fig. 2 is a flowchart showing a multi-signature method according to an exemplary embodiment;
图3是根据图2对应实施例示出的一实施例的步骤230之后步骤以及步骤260之后步 骤的流程图;Fig. 3 is a flowchart of steps after step 230 and steps after step 260 according to an embodiment corresponding to Fig. 2;
图4是根据一示例性实施例示出的一种签名中心的框图;Fig. 4 is a block diagram showing a signature center according to an exemplary embodiment;
图5是根据一示例性实施例示出的一种实现上述多重签名方法的电子设备示例框图;Fig. 5 is a block diagram showing an example of an electronic device implementing the above multi-signature method according to an exemplary embodiment;
图6是根据一示例性实施例示出的一种实现上述多重签名方法的计算机可读存储介质。Fig. 6 shows a computer-readable storage medium for implementing the above-mentioned multi-signature method according to an exemplary embodiment.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。Here, exemplary embodiments will be described in detail, and examples thereof are shown in the accompanying drawings.
本公开首先提供了一种多重签名方法。签名,即产生数字签名的过程。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。多重签名是指需要多个签名参与方共同在一起完成的一项签名,每一签名参与方在签名过程中都起到了一定的作用。The present disclosure first provides a multi-signature method. Signing is the process of generating digital signatures. A digital signature is a digital string that can only be generated by the sender of the information and that others cannot forge. This digital string is also an effective proof of the authenticity of the information sent by the sender. Multi-signature refers to a signature that requires multiple signing parties to complete together, and each signing party plays a role in the signing process.
签名参与方可以是任何具有运算和处理功能的设备,该设备可以与外部设备相连,用于接收或者发出信息,其可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施。The signature participant can be any device with computing and processing functions. The device can be connected to an external device to receive or send information. It can be a portable mobile device, such as a smart phone, a tablet, a laptop, or a PDA (Personal Digital). Assistant), etc., can also be fixed devices, such as computer equipment, field terminals, desktop computers, servers, workstations, etc., or a collection of multiple devices, such as the physical infrastructure of cloud computing.
优选地,签名参与方可以为服务器或者计算机设备。Preferably, the signature participant may be a server or a computer device.
图1是根据一示例性实施例示出的一种多重签名方法的系统架构示意图。Fig. 1 is a schematic diagram showing a system architecture of a multi-signature method according to an exemplary embodiment.
参考图1所示,签名中心100包括签名单元110和多个签名参与方120,多个签名参与方120都能够与签名单元110进行通信;在签名中心100之外,还存在一个密钥生成中心130,密钥生成中心130能够与签名中心100中的签名参与方120进行通信。签名参与方120具有标识,签名中心100中的多个签名参与方120可以分别接收密钥生成中心根据每一签名参与方120的标识生成的私钥,然后签名参与方120可以利用该私钥生成对应的公钥;接着,若签名中心100接收到对待签名消息的签名请求,签名中心100中的每一签名参与方120会生成一个随机数,签名单元110会针对每一签名参与方120生成的随机数在预设的椭圆曲线上获取一个随机点,然后对各随机点按照预定顺序进行二元运算得到存在于该预设的椭圆曲线上的目标随机点,最后签名单元110会针对每一签名参与方120,先对所有签名参与方120的公钥的集合、目标随机点、待识别消息进行哈希运算,然后将哈希运算得到的结果与签名参与方120的标识以及私钥进行基于椭圆曲线的二维运算,并在二维运算结果的基础上加上该签名参与方120生成的随机数,得到签名参与方的签名;最后将目标随机点以及各签名参与方120完成的签名的组合作为最终得到待签名消息的签名。As shown in FIG. 1, the signature center 100 includes a signature unit 110 and a plurality of signature participants 120, all of which can communicate with the signature unit 110; besides the signature center 100, there is also a key generation center 130. The key generation center 130 can communicate with the signature participant 120 in the signature center 100. The signature participant 120 has an identity, and multiple signature participants 120 in the signature center 100 can respectively receive the private key generated by the key generation center according to the identity of each signature participant 120, and then the signature participant 120 can use the private key to generate The corresponding public key; then, if the signature center 100 receives a signature request for the message to be signed, each signature participant 120 in the signature center 100 will generate a random number, and the signature unit 110 will generate a random number for each signature participant 120 The random number obtains a random point on the preset elliptic curve, and then performs a binary operation on each random point in a predetermined order to obtain the target random point existing on the preset elliptic curve. Finally, the signature unit 110 will perform a signature for each signature Participant 120 first performs a hash operation on the set of public keys of all signing participants 120, the target random point, and the message to be identified, and then performs an ellipse based on the result of the hash operation and the identity and private key of the signing participant 120 The two-dimensional calculation of the curve, and the random number generated by the signing participant 120 is added to the result of the two-dimensional calculation to obtain the signature of the signing participant; finally, the target random point and the signature of each signing participant 120 are combined As the signature of the message to be signed finally.
值得一提的是,图1仅是本公开的一个实施例,虽然在图1的实施例中,It is worth mentioning that FIG. 1 is only one embodiment of the present disclosure, although in the embodiment of FIG. 1,
各签名参与方120是台式计算机,而密钥生成中心130也位于签名中心100之外,但在实际应用中,签名参与方120可以是前述的各种类型的终端,密钥生成中心130与签名中心100的包含关系可以是任意的,即密钥生成中心130能位于签名中心100之外,也可以位于签名中心100的内部,所以本公开对此不作限定,本公开的保护范围也不应因此而受到任何限制。Each signature participant 120 is a desktop computer, and the key generation center 130 is also located outside the signature center 100. However, in actual applications, the signature participant 120 may be the aforementioned various types of terminals. The key generation center 130 and the signature The inclusion relationship of the center 100 can be arbitrary, that is, the key generation center 130 can be located outside the signature center 100 or inside the signature center 100, so the present disclosure does not limit this, and the protection scope of the present disclosure should not be therefore And subject to any restrictions.
图2是根据一示例性实施例示出的一种多重签名方法的流程图。其中,图2实施例示 出的方法由签名中心执行,签名中心包括签名单元和多个签名参与方,如图2所示,包括以下步骤:Fig. 2 is a flowchart showing a multi-signature method according to an exemplary embodiment. Among them, the method shown in the embodiment of Fig. 2 is executed by a signature center, which includes a signature unit and multiple signature participants, as shown in Fig. 2, including the following steps:
步骤210,签名中心中的每一签名参与方获取基于预设的椭圆曲线方程建立的素数阶循环群。Step 210: Each signature participant in the signature center obtains a prime order cyclic group established based on a preset elliptic curve equation.
所述循环群包括生成元,所述签名参与方具有标识。The cyclic group includes generators, and the signature participants have identifiers.
签名中心是包括多个单元或者模块的系统,其中包括的签名单元以及多个签名参与方在签名中心中是有机结合在一起的,签名单元与签名参与方彼此之间可以发生相互联系或者作用。签名中心可以是软件、硬件以及固件有机结合起来的一个整体。The signature center is a system that includes multiple units or modules. The included signature units and multiple signature participants are organically integrated in the signature center, and the signature unit and the signature participants can interact or interact with each other. The signature center can be an organic combination of software, hardware, and firmware.
在实际应用中,签名参与方可以是模块、可以一个终端,甚至可以是一个单独的系统或子系统。In practical applications, the signature participant can be a module, a terminal, or even a separate system or subsystem.
群是群论中的一个概念,一个群是满足封闭性、结合律、单位元存在、逆元存在等条件的非空集合,一个群中的一个单位称为群内的一个元素,群的阶是群中元素的个数,循环群是满足这样条件的群:群内每一元素都是群内一个固定元素的乘方,因此所述循环群的生成元即该固定元素,而素数阶循环群即包含的元素的个数为素数的循环群。A group is a concept in group theory. A group is a non-empty set that satisfies the conditions of closure, associative law, existence of identity elements, and existence of inverse elements. A unit in a group is called an element in the group. Is the number of elements in the group. A cyclic group is a group that satisfies the condition: each element in the group is a power of a fixed element in the group, so the generator of the cyclic group is the fixed element, and the prime order cyclic group A group is a cyclic group in which the number of elements contained is prime.
在一个实施例中,所述预设的椭圆曲线方程的通式为:In an embodiment, the general formula of the preset elliptic curve equation is:
y^2=x^3+a*x+b(mod p),y^2=x^3+a*x+b(mod p),
其中,a和b为所述预设的椭圆曲线方程的系数,p为模数。Wherein, a and b are the coefficients of the preset elliptic curve equation, and p is the modulus.
一般的椭圆曲线方程可以采用上述的形式,比如可以是:The general elliptic curve equation can adopt the above form, for example:
y 2=x 3-5x+4(mod 25)。 y 2 =x 3 -5x+4 (mod 25).
椭圆曲线中的所有点构成一个加法群,所以基于预设的椭圆曲线方程建立的素数阶循环群中的每一元素都是一个点。All points in the elliptic curve form an additive group, so each element in the prime order cyclic group established based on the preset elliptic curve equation is a point.
在一个实施例中,将满足预设的椭圆曲线方程的所有点组成的集合作为建立的素数阶循环群。In one embodiment, the set of all points satisfying the preset elliptic curve equation is used as the established prime order cyclic group.
基于预设的椭圆曲线方程建立素数阶循环群的过程是利用椭圆曲线的加法运算法则来建立的。The process of establishing the cyclic group of prime order based on the preset elliptic curve equation is established by using the addition algorithm of the elliptic curve.
签名参与方的标识是用于唯一确定签名参与方身份的字符串,其中可以包含字母、数字、下划线等字符,比如可以是MAC地址(Media Access Control Address,媒体控制访问地址)、手机号、银行卡号、预先为每一签名参与方分配的账号或者ID(Identification,序列号)等。The identity of the signing participant is a string used to uniquely determine the identity of the signing participant, which can include letters, numbers, underscores and other characters, such as MAC address (Media Access Control Address), mobile phone number, bank Card number, account number or ID (Identification, serial number) assigned in advance for each signing participant.
在一个实施例中,所述签名中心中各签名参与方的标识的类型是相同的,所述签名参与方的标识的类型为身份证号、手机号、邮箱地址中的一个。In one embodiment, the type of the identity of each signature participant in the signature center is the same, and the type of the identity of the signature participant is one of an ID number, a mobile phone number, and an email address.
步骤220,签名中心中的每一签名参与方接收密钥生成中心根据该签名参与方的标识生成的私钥。Step 220: Each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant.
私钥是在非对称加密领域用于加密的密钥,被私钥加密的信息只能用相应的公钥解密。The private key is the key used for encryption in the field of asymmetric encryption. The information encrypted by the private key can only be decrypted with the corresponding public key.
在一个实施例中,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:In one embodiment, the key generation center generates a private key according to the identity of each signing participant in the following manner:
所述密钥生成中心利用特定于该密钥生成中心的哈希算法对每一签名参与方的标识进行哈希运算,得到每一签名参与方的私钥。The key generation center uses a hash algorithm specific to the key generation center to hash the identity of each signature participant to obtain the private key of each signature participant.
在一个实施例中,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:In one embodiment, the key generation center generates a private key according to the identity of each signing participant in the following manner:
所述密钥生成中心利用自身的私钥对每一签名参与方的标识进行加密,得到每一签名参与方的私钥。The key generation center uses its own private key to encrypt the identity of each signing participant to obtain the private key of each signing participant.
在一个实施例中,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:In one embodiment, the key generation center generates a private key according to the identity of each signing participant in the following manner:
所述密钥生成中心针对每一签名参与方,生成与该签名参与方的标识对应的随机字符序列作为该签名参与方的私钥,并将为每一签名参与方生成的私钥与对应的签名参与方的标识对应存储。For each signature participant, the key generation center generates a random character sequence corresponding to the signature of the signature participant as the private key of the signature participant, and combines the private key generated for each signature participant with the corresponding The identity of the signing participant is stored correspondingly.
在一个实施例中,所有签名参与方的标识都由密钥生成中心生成,并由密钥生成中心维护。In one embodiment, the identities of all signature participants are generated by the key generation center and maintained by the key generation center.
在一个实施例中,在签名中心中的每一签名参与方接收密钥生成中心根据该签名参与方的标识生成的私钥之前,所述方法还包括:In an embodiment, before each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant, the method further includes:
签名中心中的每一签名参与方向密钥生成中心发送该签名参与方的标识,以便密钥生成中心根据该签名参与方的标识生成私钥。Each signature participant in the signature center sends the signature of the signature participant to the key generation center, so that the key generation center generates a private key according to the signature of the signature participant.
在一个实施例中,密钥生成中心在本端(即签名中心)嵌有脚本,在签名中心中的每一签名参与方接收密钥生成中心根据该签名参与方的标识生成的私钥之前,密钥生成中心利用脚本爬取签名中心中的签名参与方的标识,并根据每一签名参与方的标识生成对应的私钥。In one embodiment, the key generation center has a script embedded at the local end (namely, the signature center), and before each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant, The key generation center uses a script to crawl the identity of the signing participants in the signature center, and generates a corresponding private key according to the identity of each signing participant.
步骤230,签名中心中的每一签名参与方基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥:In step 230, each signature participant in the signature center obtains the public key of the signature participant by using the following formula based on the private key of the signature participant:
X i=g^x i, X i =g^x i ,
其中,X i是得到的第i个签名参与方的公钥,g是所述循环群的生成元,x i是第i个签名参与方的私钥。 Wherein, X i is the i-th signature obtained participant public key, g is a generator of the cyclic group, x i is the i-th signature participant private key.
可以看出,每一签名参与方的公钥是在对所述生成元进行特定数目次椭圆曲线上的二元运算得到的,其中,所述生成元即为椭圆曲线的初始点,而所述特定数目等于对应的签名参与方的私钥。It can be seen that the public key of each signature participant is obtained by performing binary operations on the elliptic curve a specific number of times on the generator, where the generator is the initial point of the elliptic curve, and the generator The specified number is equal to the private key of the corresponding signing participant.
步骤250,当接收到针对待签名消息的签名请求,签名中心中的每一签名参与方生成一个随机数,签名中心中的签名单元基于各签名参与方的随机数利用如下公式在所述预设的椭圆曲线上获取目标随机点:Step 250: When a signature request for the message to be signed is received, each signature participant in the signature center generates a random number, and the signature unit in the signature center uses the following formula based on the random number of each signature participant in the preset Get the target random point on the elliptic curve:
R i=g^r iR i =g^r i ,
R=R 1*R 2*…*R nR=R 1 *R 2 *...*R n ,
其中,R i是在所述预设的椭圆曲线上针对第i个签名参与方获取的随机点,r i是第i个签名参与方生成的随机数,R是基于各签名参与方的随机数获取的目标随机点。 Among them, R i is a random point obtained for the i-th signature participant on the preset elliptic curve, r i is a random number generated by the i-th signature participant, and R is a random number based on each signature participant Random points of the target obtained.
在一个实施例中,每一签名参与方生成的随机数大于0且小于所述循环群的阶数。In one embodiment, the random number generated by each signature participant is greater than 0 and less than the order of the cyclic group.
针对待签名消息的签名请求可以是基于各种协议的网络请求,比如可以是HTTP协议下的请求。The signature request for the message to be signed may be a network request based on various protocols, for example, it may be a request under the HTTP protocol.
在一个实施例中,所述签名请求中即包含待签名消息。In one embodiment, the signature request includes the message to be signed.
在一个实施例中,在接收到针对待签名消息的签名请求之前,所述签名中心中的签名单元获取多个待签名消息,其中每一待签名消息具有标识,针对待签名消息的签名请求中包含待签名消息的标识,然后当接收到针对待签名消息的签名请求,所述签名中心中的签名单元在所述多个待签名消息中获取标识与所述签名请求中包含的待签名消息的标识相同的待签名消息。In one embodiment, before receiving the signature request for the message to be signed, the signature unit in the signature center obtains a plurality of messages to be signed, wherein each message to be signed has an identifier, and the signature request for the message to be signed Contains the identity of the message to be signed, and then when a signature request for the message to be signed is received, the signature unit in the signature center obtains the identity and the identity of the message to be signed included in the signature request from the plurality of messages to be signed. Identifies the same message to be signed.
步骤260,签名中心中各签名参与方基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元,所述签名单元合成每一签名参与方的签名得到所述待签名消息的签名: Step 260, each signature participant in the signature center uses the following formula to sign the message to be signed based on the target random point, and sends it to the signature unit in the signature center, and the signature unit synthesizes each signature participant The signature of the party obtains the signature of the message to be signed:
s i=r i+c*ID i*x is i = r i +c*ID i *x i ,
其中,ID i为第i个签名参与方的标识,c=H(X,R,m),H为哈希函数,m为所述待签名消息,X为签名中心中所有签名参与方的公钥的集合,s i为第i个签名参与方对所述待签名消息进行的签名,所述签名单元合成出的所述待签名消息的签名为(R,S),S=s 1+s 2+…+s nAmong them, ID i is the identity of the i-th signing participant, c=H(X,R,m), H is the hash function, m is the message to be signed, and X is the public signature of all signing participants in the signature center. A set of keys, s i is the signature of the i-th signature participant to the message to be signed, and the signature of the message to be signed synthesized by the signature unit is (R, S), S=s 1 +s 2 +…+s n .
可以看出,最终合成出的所述待签名消息的签名与私钥、每一签名参与方的标识、各签名参与方的公钥、目标随机点以及待签名消息多个因素相关,这样就提高了签名的复杂度,进而提高了签名的可靠性和安全性。It can be seen that the finally synthesized signature of the message to be signed is related to the private key, the identity of each signing participant, the public key of each signing participant, the target random point, and the message to be signed. This improves The complexity of the signature is improved, and the reliability and security of the signature are improved.
综上所述,根据图2实施例示出的多重签名方法,由于各签名参与方的私钥是密钥生成中心根据签名参与方的标识来生成的,因此可以避免通过随机方式生成私钥导致签名可靠性降低这种现象的出现,无论是签名参与方的私钥本身还是最终得到的待签名消息的签名都与每一签名参与方的标识有关,提高了签名的安全性和系统的可维护性,同时在现有技术的基础上省却了需要大量计算资源的步骤,节约了资源,提高的签名的效率。In summary, according to the multi-signature method shown in the embodiment of FIG. 2, since the private key of each signature participant is generated by the key generation center according to the signature of the signature participant, it is possible to avoid random generation of the private key leading to signature The appearance of the phenomenon of reduced reliability. Both the private key of the signing participant and the signature of the message to be signed are related to the identity of each signing participant, which improves the security of the signature and the maintainability of the system. At the same time, on the basis of the existing technology, the steps that require a large amount of computing resources are eliminated, resources are saved, and the efficiency of signatures is improved.
图3是根据图2对应实施例示出的一实施例的步骤230之后步骤以及步骤260之后步骤的流程图。如图3所示,包括以下步骤:FIG. 3 is a flowchart of steps after step 230 and steps after step 260 according to an embodiment shown in the embodiment corresponding to FIG. 2. As shown in Figure 3, it includes the following steps:
步骤240,签名中心中的每一签名参与方公布该签名参与方的公钥,以使得签名验证方能获得由签名中心中的所有签名参与方的公钥组成的公钥集合。In step 240, each signature participant in the signature center publishes the public key of the signature participant, so that the signature verification party can obtain a public key set composed of the public keys of all the signature participants in the signature center.
在一个实施例中,签名参与方通过网络公开的方式公布其公钥。比如,签名参与方将公钥加入至预设的网页代码模板,生成记录公钥的网页文件并存储在本地;当签名验证方需要获取签名参与方的公钥时,向签名参与方发送公钥获取请求,签名参与方会根据该请求向签名验证方返回包含公钥的网页文件,从而使签名验证方可以从该网页文件中获取公钥,签名验证方通过向每一签名参与方发送公钥获取请求,从而获取公钥集合。In one embodiment, the signing participant publishes its public key through the network. For example, the signing participant adds the public key to the preset webpage code template, generates a webpage file that records the public key and stores it locally; when the signature verifier needs to obtain the public key of the signing participant, the public key is sent to the signing participant Obtain the request, the signing party will return a web page file containing the public key to the signature verifier according to the request, so that the signature verifier can obtain the public key from the web page file, and the signature verifier sends the public key to each signing party Obtain the request to obtain the public key set.
在一个实施例中,签名中心中的所有签名参与方生成公钥后,由签名中心将公钥集合打包并向与之建立有通信连接的每一签名验证方发送,从而使签名验证方可以获得公钥。In one embodiment, after all signature participants in the signature center generate public keys, the signature center will package the public key set and send it to each signature verifier with which it has established a communication connection, so that the signature verifier can obtain Public key.
签名验证方是具有运算处理以及通信能力的实体,可以是与签名参与方为同样类型的终端或者系统。The signature verifier is an entity with computing processing and communication capabilities, and can be the same type of terminal or system as the signature participant.
步骤270,签名中心中的签名单元向目标签名验证方发送所述对所述待签名消息进行的签名,以便所述目标签名验证方利用所述公钥集合对所述待签名消息进行验签。Step 270: The signature unit in the signature center sends the signature of the message to be signed to the target signature verifier, so that the target signature verifier uses the public key set to verify the signature of the message to be signed.
目标签名验证方是有资格对所述待签名消息的签名进行验签的一方。The target signature verifier is a party qualified to verify the signature of the message to be signed.
在一个实施例中,目标签名验证方具有标识,并存储在签名单元本地,当签名中心中的签名单元接收到获取待签名消息的签名的请求,如果该请求中的标识与存储在签名单元本地中的标识一致,则根据该请求向该请求的发送方发送所述对所述待签名消息进行的签名。In one embodiment, the target signature verifier has an identifier and is stored locally in the signature unit. When the signature unit in the signature center receives a request to obtain the signature of the message to be signed, if the identifier in the request is stored locally in the signature unit If the identifiers in are consistent, the signature for the message to be signed is sent to the sender of the request according to the request.
在一个实施例中,述目标签名验证方利用所述公钥集合基于如下公式对所述待签名消息进行验签:In one embodiment, the target signature verifier uses the public key set to verify the signature of the message to be signed based on the following formula:
g^S=R*(X 1^ID 1+…+X n^ID n)*c。 g^S=R*(X 1 ^ID 1 +...+X n ^ID n )*c.
其中,g是所述循环群的生成元,R是基于各签名参与方的随机数获取的目标随机点,S=s 1+s 2+…+s n,X i是得到的第i个签名参与方的公钥,ID i为第i个签名参与方的标识,c=H(X,R,m),H为哈希函数,m为所述待签名消息,X为签名中心中所有签名参与方的公钥的集合。 Wherein, g is a generator of the cyclic group, R is a random number based on the target random points each acquired signature participants, S = s 1 + s 2 + ... + s n, X it is the i-th signature obtained The public key of the participant, ID i is the identity of the i-th signing participant, c=H(X,R,m), H is the hash function, m is the message to be signed, and X is all signatures in the signature center The collection of public keys of the participants.
本公开还提供了一种签名中心,图4是根据一示例性实施例示出的一种签名中心的框图。如图4所示,签名中心400包括签名单元420和多个签名参与方410,所述签名单元420包括目标随机点获取模块421和合成模块422,所述签名参与方410包括获取模块411、接收模块412、公钥获取模块413、生成模块414以及签名模块415,其中:The present disclosure also provides a signature center. Fig. 4 is a block diagram showing a signature center according to an exemplary embodiment. As shown in FIG. 4, the signature center 400 includes a signature unit 420 and a plurality of signature participants 410. The signature unit 420 includes a target random point acquisition module 421 and a synthesis module 422. The signature participant 410 includes an acquisition module 411, Module 412, public key acquisition module 413, generation module 414 and signature module 415, where:
获取模块411,用于获取基于预设的椭圆曲线方程建立的素数阶循环群,所述循环群包括生成元,所述签名参与方具有标识;The obtaining module 411 is configured to obtain a prime order cyclic group established based on a preset elliptic curve equation, the cyclic group including generators, and the signature participant has an identifier;
接收模块412,用于接收密钥生成中心根据该签名参与方的标识生成的私钥;The receiving module 412 is configured to receive the private key generated by the key generation center according to the identity of the signature participant;
公钥获取模块413,用于基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥:The public key obtaining module 413 is configured to obtain the public key of the signature participant by using the following formula based on the private key of the signature participant:
X i=g^x i, X i =g^x i ,
其中,X i是得到的第i个签名参与方的公钥,g是所述循环群的生成元,x i是第i个签名参与方的私钥; Wherein, X i is the i-th signature obtained participating party public key, g is a generator of the cyclic group, x i is the i-th signature participant private key;
生成模块414,用于当接收到针对待签名消息的签名请求,生成一个随机数;The generating module 414 is configured to generate a random number when a signature request for a message to be signed is received;
目标随机点获取模块421,用于基于各签名参与方的随机数利用如下公式在所述预设的椭圆曲线上获取目标随机点:The target random point obtaining module 421 is configured to obtain a target random point on the preset elliptic curve based on the random number of each signature participant using the following formula:
R i=g^r iR i =g^r i ,
R=R 1*R 2*…*R nR=R 1 *R 2 *...*R n ,
其中,R i是在所述预设的椭圆曲线上针对第i个签名参与方获取的随机点,r i是第i个签名参与方生成的随机数,R是基于各签名参与方的随机数获取的目标随机点; Among them, R i is a random point obtained for the i-th signature participant on the preset elliptic curve, r i is a random number generated by the i-th signature participant, and R is a random number based on each signature participant Random points of the target obtained;
签名模块415,用于基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元:The signature module 415 is configured to respectively sign the message to be signed based on the target random point using the following formula, and send it to the signature unit in the signature center:
s i=r i+c*ID i*x is i = r i +c*ID i *x i ,
其中,ID i为第i个签名参与方的标识,c=H(X,R,m),H为哈希函数,m为所述待签名消息,X为签名中心中所有签名参与方的公钥的集合,s i为第i个签名参与方对所述待签名消息进行的签名; Among them, ID i is the identity of the i-th signing participant, c=H(X,R,m), H is the hash function, m is the message to be signed, and X is the public signature of all signing participants in the signature center. A set of keys, s i is the signature of the message to be signed by the i-th signing participant;
合成模块422,用于合成每一签名参与方的签名得到所述待签名消息的签名(R,S),其中,S=s 1+s 2+…+s nThe synthesis module 422 is used to synthesize the signatures of each signing participant to obtain the signature (R, S) of the message to be signed, where S=s 1 +s 2 +...+s n .
据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。According to the third aspect of the present disclosure, there is also provided an electronic device capable of implementing the above method.
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。Those skilled in the art can understand that various aspects of the present application can be implemented as a system, method, or program product. Therefore, each aspect of the present application can be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which can be collectively referred to herein as "Circuit", "Module" or "System".
下面参照图5来描述根据本申请的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。The electronic device 500 according to this embodiment of the present application will be described below with reference to FIG. 5. The electronic device 500 shown in FIG. 5 is only an example, and should not bring any limitation to the function and use scope of the embodiments of the present application.
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。As shown in FIG. 5, the electronic device 500 is represented in the form of a general-purpose computing device. The components of the electronic device 500 may include, but are not limited to: the aforementioned at least one processing unit 510, the aforementioned at least one storage unit 520, and a bus 530 connecting different system components (including the storage unit 520 and the processing unit 510).
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。Wherein, the storage unit stores program code, and the program code can be executed by the processing unit 510, so that the processing unit 510 executes the various exemplary methods described in the above-mentioned "Embodiment Method" section of this specification. Implementation steps.
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(ROM)523。The storage unit 520 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 521 and/or a cache storage unit 522, and may further include a read-only storage unit (ROM) 523.
存储单元520还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。The storage unit 520 may also include a program/utility tool 524 having a set of (at least one) program module 525. Such program module 525 includes but is not limited to: an operating system, one or more application programs, other program modules, and program data, Each of these examples or some combination may include the implementation of a network environment.
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。The bus 530 may represent one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any bus structure among multiple bus structures. bus.
电子设备500也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。The electronic device 500 may also communicate with one or more external devices 700 (such as keyboards, pointing devices, Bluetooth devices, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 500, and/or communicate with Any device (such as a router, modem, etc.) that enables the electronic device 500 to communicate with one or more other computing devices. This communication can be performed through an input/output (I/O) interface 550. In addition, the electronic device 500 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 560. As shown in the figure, the network adapter 560 communicates with other modules of the electronic device 500 through the bus 530. It should be understood that although not shown in the figure, other hardware and/or software modules can be used in conjunction with the electronic device 500, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives And data backup storage system, etc.
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。Through the description of the foregoing embodiments, those skilled in the art can easily understand that the exemplary embodiments described herein can be implemented by software, or can be implemented by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (can be a CD-ROM, U disk, mobile hard disk, etc.) or on the network , Including several instructions to make a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiments of the present disclosure.
根据本公开的第四方面,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。According to the fourth aspect of the present disclosure, there is also provided a computer-readable storage medium on which is stored a program product capable of implementing the above method of this specification. In some possible implementation manners, various aspects of the present application can also be implemented in the form of a program product, which includes program code. When the program product runs on a terminal device, the program code is used to enable the The terminal device executes the steps according to various exemplary embodiments of the present application described in the above-mentioned "Exemplary Method" section of this specification.
参考图6所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。Referring to FIG. 6, a program product 600 for implementing the above method according to an embodiment of the present application is described. It can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be installed in a terminal device, For example, running on a personal computer. However, the program product of this application is not limited to this. In this document, the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or combined with an instruction execution system, device, or device.
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。The program product can use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples (non-exhaustive list) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Type programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。The computer-readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and readable program code is carried therein. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. The readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with the instruction execution system, apparatus, or device.
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。The program code contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。The program code used to perform the operations of this application can be written in any combination of one or more programming languages. The programming languages include object-oriented programming languages—such as Java, C++, etc., as well as conventional procedural Programming language-such as "C" language or similar programming language. The program code can be executed entirely on the user's computing device, partly on the user's device, executed as an independent software package, partly on the user's computing device and partly executed on the remote computing device, or entirely on the remote computing device or server Executed on. In the case of a remote computing device, the remote computing device can be connected to a user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using Internet service providers) Business to connect via the Internet).
上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。The processing shown in the above drawings does not indicate or limit the time sequence of these processings. In addition, it is easy to understand that these processes can be executed synchronously or asynchronously in multiple modules, for example. It should be understood that the present application is not limited to the precise structure that has been described above and shown in the drawings, and various modifications and changes can be performed without departing from its scope.

Claims (20)

  1. 一种多重签名方法,其特征在于,所述方法由签名中心执行,所述签名中心包括签名单元和多个签名参与方,所述方法包括:A multi-signature method, characterized in that the method is executed by a signature center, the signature center includes a signature unit and a plurality of signature participants, and the method includes:
    签名中心中的每一签名参与方获取基于预设的椭圆曲线方程建立的素数阶循环群,所述循环群包括生成元,所述签名参与方具有标识;Each signature participant in the signature center obtains a cyclic group of prime order established based on a preset elliptic curve equation, the cyclic group includes generators, and the signature participant has an identifier;
    签名中心中的每一签名参与方接收密钥生成中心根据该签名参与方的标识生成的私钥;Each signature participant in the signature center receives the private key generated by the key generation center according to the signature of the signature participant;
    签名中心中的每一签名参与方基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥:Each signature participant in the signature center uses the following formula to obtain the signature participant's public key based on the signature participant's private key:
    X i=g^x i, X i =g^x i ,
    其中,X i是得到的第i个签名参与方的公钥,g是所述循环群的生成元,x i是第i个签名参与方的私钥; Wherein, X i is the i-th signature obtained participating party public key, g is a generator of the cyclic group, x i is the i-th signature participant private key;
    当接收到针对待签名消息的签名请求,签名中心中的每一签名参与方生成一个随机数,签名中心中的签名单元基于各签名参与方的随机数利用如下公式在所述预设的椭圆曲线上获取目标随机点:When a signature request for a message to be signed is received, each signature participant in the signature center generates a random number, and the signature unit in the signature center uses the following formula to set the preset elliptic curve based on the random number of each signature participant Get random points on the target:
    R i=g^r iR i =g^r i ,
    R=R 1*R 2*…*R nR=R 1 *R 2 *...*R n ,
    其中,R i是在所述预设的椭圆曲线上针对第i个签名参与方获取的随机点,r i是第i个签名参与方生成的随机数,R是基于各签名参与方的随机数获取的目标随机点; Among them, R i is a random point obtained for the i-th signature participant on the preset elliptic curve, r i is a random number generated by the i-th signature participant, and R is a random number based on each signature participant Random points of the target obtained;
    签名中心中各签名参与方基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元,所述签名单元合成每一签名参与方的签名得到所述待签名消息的签名:Each signature participant in the signature center uses the following formula to sign the message to be signed based on the target random point, and sends it to the signature unit in the signature center, and the signature unit synthesizes the signature of each signature participant Obtain the signature of the message to be signed:
    s i=r i+c*ID i*x is i = r i +c*ID i *x i ,
    其中,ID i为第i个签名参与方的标识,c=H(X,R,m),H为哈希函数,m为所述待签名消息,X为签名中心中所有签名参与方的公钥的集合,s i为第i个签名参与方对所述待签名消息进行的签名,所述签名单元合成出的所述待签名消息的签名为(R,S),S=s 1+s 2+…+s nAmong them, ID i is the identity of the i-th signing participant, c=H(X,R,m), H is the hash function, m is the message to be signed, and X is the public signature of all signing participants in the signature center. A set of keys, s i is the signature of the i-th signature participant to the message to be signed, and the signature of the message to be signed synthesized by the signature unit is (R, S), S=s 1 +s 2 +…+s n .
  2. 根据权利要求1所述的方法,其特征在于,在签名中心中的每一签名参与方基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥的步骤之后,所述方法还包括:The method according to claim 1, wherein after each signature participant in the signature center uses the following formula to obtain the public key of the signature participant based on the private key of the signature participant, the method further include:
    签名中心中的每一签名参与方公布该签名参与方的公钥,以使得签名验证方能获得由签名中心中的所有签名参与方的公钥组成的公钥集合;Each signature participant in the signature center publishes the public key of the signature participant, so that the signature verification party can obtain a public key set composed of the public keys of all signature participants in the signature center;
    在签名中心中各签名参与方基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元,所述签名单元合成每一签名参与方的签名得到所述待签名消息的签名的步骤之后,所述方法还包括:In the signature center, each signature participant uses the following formula to sign the message to be signed based on the target random point, and sends it to the signature unit in the signature center, and the signature unit synthesizes the signature of each signature participant After the step of obtaining the signature of the message to be signed, the method further includes:
    签名中心中的签名单元向目标签名验证方发送所述对所述待签名消息进行的签名,以便所述目标签名验证方利用所述公钥集合对所述待签名消息进行验签。The signature unit in the signature center sends the signature of the message to be signed to the target signature verifier, so that the target signature verifier uses the public key set to verify the signature of the message to be signed.
  3. 根据权利要求2所述的方法,其特征在于,所述目标签名验证方利用所述公钥集合 基于如下公式对所述待签名消息进行验签:The method according to claim 2, wherein the target signature verifier uses the public key set to verify the message to be signed based on the following formula:
    g^S=R*(X 1^ID 1+…+X n^ID n)*c。 g^S=R*(X 1 ^ID 1 +...+X n ^ID n )*c.
  4. 根据权利要求1所述的方法,其特征在于,所述预设的椭圆曲线方程的通式为:The method according to claim 1, wherein the general formula of the preset elliptic curve equation is:
    y^2=x^3+a*x+b(mod p),y^2=x^3+a*x+b(mod p),
    其中,a和b为所述预设的椭圆曲线方程的系数,p为模数。Wherein, a and b are the coefficients of the preset elliptic curve equation, and p is the modulus.
  5. 根据权利要求1所述的方法,其特征在于,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:The method according to claim 1, wherein the key generation center generates a private key according to the identity of each signing participant in the following manner:
    所述密钥生成中心利用特定于该密钥生成中心的哈希算法对每一签名参与方的标识进行哈希运算,得到每一签名参与方的私钥。The key generation center uses a hash algorithm specific to the key generation center to hash the identity of each signature participant to obtain the private key of each signature participant.
  6. 根据权利要求1所述的方法,其特征在于,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:The method according to claim 1, wherein the key generation center generates a private key according to the identity of each signing participant in the following manner:
    所述密钥生成中心利用自身的私钥对每一签名参与方的标识进行加密,得到每一签名参与方的私钥。The key generation center uses its own private key to encrypt the identity of each signing participant to obtain the private key of each signing participant.
  7. 根据权利要求1至6任意一项所述的方法,其特征在于,所述签名中心中各签名参与方的标识的类型是相同的,所述签名参与方的标识的类型为身份证号、手机号、邮箱地址中的一个。The method according to any one of claims 1 to 6, wherein the types of the identities of the signature participants in the signature center are the same, and the types of the identities of the signature participants are ID number, mobile phone One of the number and email address.
  8. 一种签名中心,其特征在于,包括:签名单元和多个签名参与方,所述签名单元包括目标随机点获取模块和合成模块,所述签名参与方包括获取模块、接收模块、公钥获取模块、生成模块以及签名模块,其中:A signature center, comprising: a signature unit and a plurality of signature participants, the signature unit includes a target random point acquisition module and a synthesis module, and the signature participants include an acquisition module, a receiving module, and a public key acquisition module , Generation module and signature module, where:
    获取模块,用于获取基于预设的椭圆曲线方程建立的素数阶循环群,所述循环群包括生成元,所述签名参与方具有标识;An obtaining module, configured to obtain a prime order cyclic group established based on a preset elliptic curve equation, the cyclic group including generators, and the signature participant has an identifier;
    接收模块,用于接收密钥生成中心根据该签名参与方的标识生成的私钥;The receiving module is used to receive the private key generated by the key generation center according to the identity of the signature participant;
    公钥获取模块,用于基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥:The public key acquisition module is used to obtain the public key of the signature participant using the following formula based on the private key of the signature participant:
    X i=g^x i, X i =g^x i ,
    其中,X i是得到的第i个签名参与方的公钥,g是所述循环群的生成元,x i是第i个签名参与方的私钥; Wherein, X i is the i-th signature obtained participating party public key, g is a generator of the cyclic group, x i is the i-th signature participant private key;
    生成模块,用于当接收到针对待签名消息的签名请求,生成一个随机数;The generation module is used to generate a random number when a signature request for a message to be signed is received;
    目标随机点获取模块,用于基于各签名参与方的随机数利用如下公式在所述预设的椭圆曲线上获取目标随机点:The target random point obtaining module is used to obtain the target random point on the preset elliptic curve based on the random number of each signature participant using the following formula:
    R i=g^r iR i =g^r i ,
    R=R 1*R 2*…*R nR=R 1 *R 2 *...*R n ,
    其中,R i是在所述预设的椭圆曲线上针对第i个签名参与方获取的随机点,r i是第i个签名参与方生成的随机数,R是基于各签名参与方的随机数获取的目标随机点; Among them, R i is a random point obtained for the i-th signature participant on the preset elliptic curve, r i is a random number generated by the i-th signature participant, and R is a random number based on each signature participant Random points of the target obtained;
    签名模块,用于基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元:The signature module is configured to respectively sign the message to be signed based on the target random point using the following formula, and send it to the signature unit in the signature center:
    s i=r i+c*ID i*x is i = r i +c*ID i *x i ,
    其中,ID i为第i个签名参与方的标识,c=H(X,R,m),H为哈希函数,m为所述待签名消息,X为签名中心中所有签名参与方的公钥的集合,s i为第i个签名参与方对所述待签名消息进行的签名; Among them, ID i is the identity of the i-th signing participant, c=H(X,R,m), H is the hash function, m is the message to be signed, and X is the public signature of all signing participants in the signature center. A set of keys, s i is the signature of the message to be signed by the i-th signing participant;
    合成模块,用于合成每一签名参与方的签名得到所述待签名消息的签名(R,S),其中,S=s 1+s 2+…+s nThe synthesis module is used to synthesize the signatures of each signing participant to obtain the signature (R, S) of the message to be signed, where S=s 1 +s 2 +...+s n .
  9. 根据权利要求8所述的签名中心,其特征在于,The signature center according to claim 8, wherein:
    所述公钥获取模块,还用于在基于该签名参与方的私钥获取该签名参与方的公钥之后,公布该签名参与方的公钥,以使得签名验证方能获得由签名中心中的所有签名参与方的公钥组成的公钥集合;The public key acquisition module is also used to publish the public key of the signature participant after acquiring the public key of the signature participant based on the private key of the signature participant, so that the signature verification party can obtain the signature from the signature center. A set of public keys composed of the public keys of all signing parties;
    所述签名模块,还用于在基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元,所述签名单元合成每一签名参与方的签名得到所述待签名消息的签名之后,向目标签名验证方发送所述对所述待签名消息进行的签名,以便所述目标签名验证方利用所述公钥集合对所述待签名消息进行验签。The signature module is further configured to use the following formula to sign the message to be signed based on the target random point, and send it to the signature unit in the signature center, and the signature unit synthesizes each signature participant After obtaining the signature of the message to be signed, send the signature of the message to be signed to the target signature verifier, so that the target signature verifier uses the public key set to perform the signature on the message to be signed Sign verification.
  10. 根据权利要求9所述的签名中心,其特征在于,所述目标签名验证方利用所述公钥集合基于如下公式对所述待签名消息进行验签:The signature center according to claim 9, wherein the target signature verifier uses the public key set to verify the message to be signed based on the following formula:
    g^S=R*(X 1^ID 1+…+X n^ID n)*c。 g^S=R*(X 1 ^ID 1 +...+X n ^ID n )*c.
  11. 根据权利要求8所述的签名中心,其特征在于,所述预设的椭圆曲线方程的通式为:The signature center according to claim 8, wherein the general formula of the preset elliptic curve equation is:
    y^2=x^3+a*x+b(mod p),y^2=x^3+a*x+b(mod p),
    其中,a和b为所述预设的椭圆曲线方程的系数,p为模数。Wherein, a and b are the coefficients of the preset elliptic curve equation, and p is the modulus.
  12. 根据权利要求8所述的签名中心,其特征在于,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:The signature center according to claim 8, wherein the key generation center generates a private key according to the identity of each signing participant in the following manner:
    所述密钥生成中心利用特定于该密钥生成中心的哈希算法对每一签名参与方的标识进行哈希运算,得到每一签名参与方的私钥。The key generation center uses a hash algorithm specific to the key generation center to hash the identity of each signature participant to obtain the private key of each signature participant.
  13. 根据权利要求8所述的签名中心,其特征在于,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:The signature center according to claim 8, wherein the key generation center generates a private key according to the identity of each signing participant in the following manner:
    所述密钥生成中心利用自身的私钥对每一签名参与方的标识进行加密,得到每一签名参与方的私钥。The key generation center uses its own private key to encrypt the identity of each signing participant to obtain the private key of each signing participant.
  14. 根据权利要求8至13任意一项所述的签名中心,其特征在于,所述签名中心中各签名参与方的标识的类型是相同的,所述签名参与方的标识的类型为身份证号、手机号、邮箱地址中的一个。The signature center according to any one of claims 8 to 13, wherein the type of the identity of each signature participant in the signature center is the same, and the type of the identity of the signature participant is an ID number, One of mobile phone number and email address.
  15. 一种计算机可读程序介质,其特征在于,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行根据权利要求1至7中任一项所述的方法。A computer-readable program medium, characterized in that it stores computer program instructions, and when the computer program instructions are executed by a computer, the computer executes the method according to any one of claims 1 to 7.
  16. 一种电子设备,其特征在于,所述电子设备部署于签名中心,所述签名中心包括签名单元和多个签名参与方,所述电子设备包括:An electronic device, characterized in that the electronic device is deployed in a signature center, the signature center includes a signature unit and a plurality of signature participants, and the electronic device includes:
    处理器;processor;
    存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现以下步骤:A memory, where computer-readable instructions are stored, and when the computer-readable instructions are executed by the processor, the following steps are implemented:
    获取基于预设的椭圆曲线方程建立的素数阶循环群,所述循环群包括生成元,所述签名参与方具有标识;Acquiring a cyclic group of prime order established based on a preset elliptic curve equation, the cyclic group including generators, and the signature participants have identifiers;
    接收密钥生成中心根据该签名参与方的标识生成的私钥;Receive the private key generated by the key generation center according to the identity of the signature participant;
    基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥:Use the following formula to obtain the public key of the signature participant based on the private key of the signature participant:
    X i=g^x i, X i =g^x i ,
    其中,X i是得到的第i个签名参与方的公钥,g是所述循环群的生成元,x i是第i个签名参与方的私钥; Wherein, X i is the i-th signature obtained participating party public key, g is a generator of the cyclic group, x i is the i-th signature participant private key;
    当接收到针对待签名消息的签名请求,生成一个随机数,签名中心中的签名单元基于各签名参与方的随机数利用如下公式在所述预设的椭圆曲线上获取目标随机点:When receiving a signature request for the message to be signed, a random number is generated, and the signature unit in the signature center uses the following formula to obtain the target random point on the preset elliptic curve based on the random number of each signature participant:
    R i=g^r iR i =g^r i ,
    R=R 1*R 2*…*R nR=R 1 *R 2 *...*R n ,
    其中,R i是在所述预设的椭圆曲线上针对第i个签名参与方获取的随机点,r i是第i个签名参与方生成的随机数,R是基于各签名参与方的随机数获取的目标随机点; Among them, R i is a random point obtained for the i-th signature participant on the preset elliptic curve, r i is a random number generated by the i-th signature participant, and R is a random number based on each signature participant Random points of the target obtained;
    基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元,所述签名单元合成每一签名参与方的签名得到所述待签名消息的签名:Based on the target random points, the following formulas are used to sign the message to be signed and sent to the signature unit in the signature center. The signature unit synthesizes the signature of each signing participant to obtain the message to be signed signature:
    s i=r i+c*ID i*x is i = r i +c*ID i *x i ,
    其中,ID i为第i个签名参与方的标识,c=H(X,R,m),H为哈希函数,m为所述待签名消息,X为签名中心中所有签名参与方的公钥的集合,s i为第i个签名参与方对所述待签名消息进行的签名,所述签名单元合成出的所述待签名消息的签名为(R,S),S=s 1+s 2+…+s nAmong them, ID i is the identity of the i-th signing participant, c=H(X,R,m), H is the hash function, m is the message to be signed, and X is the public signature of all signing participants in the signature center. A set of keys, s i is the signature of the i-th signature participant to the message to be signed, and the signature of the message to be signed synthesized by the signature unit is (R, S), S=s 1 +s 2 +…+s n .
  17. 根据权利要求16所述的电子设备,其特征在于,在基于该签名参与方的私钥利用如下公式获取该签名参与方的公钥的步骤之后,所述处理器还执行以下步骤:The electronic device according to claim 16, wherein after the step of obtaining the public key of the signing participant using the following formula based on the private key of the signing participant, the processor further performs the following steps:
    公布该签名参与方的公钥,以使得签名验证方能获得由签名中心中的所有签名参与方的公钥组成的公钥集合;Publish the public key of the signature participant so that the signature verifier can obtain a public key set composed of the public keys of all signature participants in the signature center;
    基于所述目标随机点分别利用如下公式对所述待签名消息进行签名,并发送给所述签名中心中的签名单元,所述签名单元合成每一签名参与方的签名得到所述待签名消息的签名之后,所述处理器还执行以下步骤:Based on the target random points, the following formulas are used to sign the message to be signed and sent to the signature unit in the signature center. The signature unit synthesizes the signature of each signing participant to obtain the signature of the message to be signed After signing, the processor further executes the following steps:
    通过签名中心中的签名单元向目标签名验证方发送所述对所述待签名消息进行的签名,以便所述目标签名验证方利用所述公钥集合对所述待签名消息进行验签。The signature of the message to be signed is sent to the target signature verifier through the signature unit in the signature center, so that the target signature verifier uses the public key set to verify the signature of the message to be signed.
  18. 根据权利要求17所述的电子设备,其特征在于,所述目标签名验证方利用所述公钥集合基于如下公式对所述待签名消息进行验签:The electronic device according to claim 17, wherein the target signature verifier uses the public key set to verify the message to be signed based on the following formula:
    g^S=R*(X 1^ID 1+…+X n^ID n)*c。 g^S=R*(X 1 ^ID 1 +...+X n ^ID n )*c.
  19. 根据权利要求16所述的电子设备,其特征在于,所述预设的椭圆曲线方程的通式为:The electronic device according to claim 16, wherein the general formula of the preset elliptic curve equation is:
    y^2=x^3+a*x+b(mod p),y^2=x^3+a*x+b(mod p),
    其中,a和b为所述预设的椭圆曲线方程的系数,p为模数。Wherein, a and b are the coefficients of the preset elliptic curve equation, and p is the modulus.
  20. 根据权利要求16所述的电子设备,其特征在于,所述密钥生成中心通过如下方式根据每一签名参与方的标识生成私钥:The electronic device according to claim 16, wherein the key generation center generates a private key according to the identity of each signing participant in the following manner:
    所述密钥生成中心利用特定于该密钥生成中心的哈希算法对每一签名参与方的标识进行哈希运算,得到每一签名参与方的私钥。The key generation center uses a hash algorithm specific to the key generation center to hash the identity of each signature participant to obtain the private key of each signature participant.
PCT/CN2019/123094 2019-07-24 2019-12-04 Multisignature method, signature center, medium and electronic device WO2021012574A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910671776.9A CN110351096B (en) 2019-07-24 2019-07-24 Multiple signature method, signature center, program medium, and electronic device
CN201910671776.9 2019-07-24

Publications (1)

Publication Number Publication Date
WO2021012574A1 true WO2021012574A1 (en) 2021-01-28

Family

ID=68180024

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/123094 WO2021012574A1 (en) 2019-07-24 2019-12-04 Multisignature method, signature center, medium and electronic device

Country Status (2)

Country Link
CN (1) CN110351096B (en)
WO (1) WO2021012574A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139197A (en) * 2021-04-27 2021-07-20 上海淇玥信息技术有限公司 Project signature checking method and device and electronic equipment
CN113343259A (en) * 2021-06-17 2021-09-03 北京宏思电子技术有限责任公司 Joint signature realization method and device based on SM2, electronic equipment and storage medium
CN113869901A (en) * 2021-12-02 2021-12-31 腾讯科技(深圳)有限公司 Key generation method, key generation device, computer-readable storage medium and computer equipment
CN114070556A (en) * 2021-11-15 2022-02-18 成都卫士通信息产业股份有限公司 Threshold ring signature method and device, electronic equipment and readable storage medium
CN114780923A (en) * 2022-06-17 2022-07-22 杭州天谷信息科技有限公司 Electronic seal management and control method and system
CN115001711A (en) * 2022-06-10 2022-09-02 成都卫士通信息产业股份有限公司 Information signature method and device, electronic equipment and computer readable storage medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351096B (en) * 2019-07-24 2022-02-01 深圳壹账通智能科技有限公司 Multiple signature method, signature center, program medium, and electronic device
CN111162912B (en) * 2019-12-30 2021-06-15 深圳前海微众银行股份有限公司 Verification method and device suitable for block chain and storage medium
CN111523889B (en) * 2020-04-17 2023-09-01 昆明大棒客科技有限公司 Multiple signature implementation method, device, equipment and storage medium
CN111817858A (en) * 2020-07-27 2020-10-23 北京金仓幸福科技有限公司 Block chain data security method based on multiple signatures
CN112737777B (en) * 2020-12-29 2023-01-10 北京百度网讯科技有限公司 Threshold signature and signature verification method, device, equipment and medium based on secret key
CN112613882B (en) * 2020-12-29 2023-06-02 成都知道创宇信息技术有限公司 Distributed signature system and management method
CN113112269B (en) * 2021-04-09 2023-11-28 杭州复杂美科技有限公司 Multiple signature method, computer device, and storage medium
CN113381856A (en) * 2021-07-07 2021-09-10 北京明朝万达科技股份有限公司 Digital signature and signature verification method, system, device and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009076811A1 (en) * 2007-12-14 2009-06-25 Huawei Technologies Co., Ltd. A method, a system, a client and a server for key negotiating
CN102983971A (en) * 2012-10-10 2013-03-20 中国科学技术大学苏州研究院 Certificateless signature algorithm for user identity authentication in network environment
CN107171788A (en) * 2017-04-08 2017-09-15 西安邮电大学 A kind of identity-based and the constant online offline aggregate signature method of signature length
CN110011806A (en) * 2019-03-22 2019-07-12 西安邮电大学 Multiple isomorphism endorsement method under multi-source network encoding mechanism
CN110351096A (en) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 Multi-signature method, signature center, medium and electronic equipment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941406B (en) * 2017-05-02 2019-11-08 深圳奥联信息安全技术有限公司 Identify-based encryption endorsement method, decryption sign test method and device thereof
GB201709367D0 (en) * 2017-06-13 2017-07-26 Nchain Holdings Ltd Computer-implemented system and method
CN107395370B (en) * 2017-09-05 2020-07-14 深圳奥联信息安全技术有限公司 Identification-based digital signature method and device
CN108650097B (en) * 2018-04-28 2021-03-09 上海扈民区块链科技有限公司 Efficient digital signature aggregation method
CN109064170B (en) * 2018-07-23 2021-10-22 西安电子科技大学 Group signature method without trusted center

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009076811A1 (en) * 2007-12-14 2009-06-25 Huawei Technologies Co., Ltd. A method, a system, a client and a server for key negotiating
CN102983971A (en) * 2012-10-10 2013-03-20 中国科学技术大学苏州研究院 Certificateless signature algorithm for user identity authentication in network environment
CN107171788A (en) * 2017-04-08 2017-09-15 西安邮电大学 A kind of identity-based and the constant online offline aggregate signature method of signature length
CN110011806A (en) * 2019-03-22 2019-07-12 西安邮电大学 Multiple isomorphism endorsement method under multi-source network encoding mechanism
CN110351096A (en) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 Multi-signature method, signature center, medium and electronic equipment

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139197A (en) * 2021-04-27 2021-07-20 上海淇玥信息技术有限公司 Project signature checking method and device and electronic equipment
CN113343259A (en) * 2021-06-17 2021-09-03 北京宏思电子技术有限责任公司 Joint signature realization method and device based on SM2, electronic equipment and storage medium
CN113343259B (en) * 2021-06-17 2023-09-29 北京宏思电子技术有限责任公司 SM 2-based joint signature realization method and device, electronic equipment and storage medium
CN114070556A (en) * 2021-11-15 2022-02-18 成都卫士通信息产业股份有限公司 Threshold ring signature method and device, electronic equipment and readable storage medium
CN114070556B (en) * 2021-11-15 2023-07-25 成都卫士通信息产业股份有限公司 Threshold ring signature method and device, electronic equipment and readable storage medium
CN113869901A (en) * 2021-12-02 2021-12-31 腾讯科技(深圳)有限公司 Key generation method, key generation device, computer-readable storage medium and computer equipment
CN115001711A (en) * 2022-06-10 2022-09-02 成都卫士通信息产业股份有限公司 Information signature method and device, electronic equipment and computer readable storage medium
CN115001711B (en) * 2022-06-10 2024-01-30 成都卫士通信息产业股份有限公司 Information signing method, device, electronic equipment and computer readable storage medium
CN114780923A (en) * 2022-06-17 2022-07-22 杭州天谷信息科技有限公司 Electronic seal management and control method and system
CN114780923B (en) * 2022-06-17 2022-09-27 杭州天谷信息科技有限公司 Electronic seal management and control method and system

Also Published As

Publication number Publication date
CN110351096B (en) 2022-02-01
CN110351096A (en) 2019-10-18

Similar Documents

Publication Publication Date Title
WO2021012574A1 (en) Multisignature method, signature center, medium and electronic device
US10839070B1 (en) Securely executing smart contract operations in a trusted execution environment
US20210306164A1 (en) Distributed key management for trusted execution environments
CN111200502B (en) Collaborative digital signature method and device
WO2020019341A1 (en) Method and device for processing blockchain account, and storage medium
Yang et al. Provable data possession of resource-constrained mobile devices in cloud computing
CN111080295B (en) Electronic contract processing method and device based on blockchain
CN107483191B (en) SM2 algorithm key segmentation signature system and method
CN113364760A (en) Data encryption processing method and device, computer equipment and storage medium
US20150358167A1 (en) Certificateless Multi-Proxy Signature Method and Apparatus
CN112511514A (en) HTTP encrypted transmission method and device, computer equipment and storage medium
JP7164672B2 (en) Digital signature method, signature information verification method, related device and electronic device
US20130091362A1 (en) Generating implicit certificates
CN110445840B (en) File storage and reading method based on block chain technology
CN115442047A (en) Electronic signature method and system for business management file
CN114785524B (en) Electronic seal generation method, device, equipment and medium
CN114553590A (en) Data transmission method and related equipment
CN113206746B (en) Digital certificate management method and device
CN114615031A (en) File storage method and device, electronic equipment and storage medium
WO2020177109A1 (en) Lot-drawing processing method, trusted chip, node, storage medium and electronic device
US11902451B2 (en) Cross-blockchain identity and key management
CN115085934A (en) Contract management method based on block chain and combined key and related equipment
CN113179169B (en) Digital certificate management method and device
Somaiya et al. Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed
CN115086428A (en) Network request sending method and device and electronic equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19938993

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19938993

Country of ref document: EP

Kind code of ref document: A1