WO2022116176A1 - Procédé et dispositif de génération d'une signature numérique, et serveur - Google Patents

Procédé et dispositif de génération d'une signature numérique, et serveur Download PDF

Info

Publication number
WO2022116176A1
WO2022116176A1 PCT/CN2020/133999 CN2020133999W WO2022116176A1 WO 2022116176 A1 WO2022116176 A1 WO 2022116176A1 CN 2020133999 W CN2020133999 W CN 2020133999W WO 2022116176 A1 WO2022116176 A1 WO 2022116176A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
public key
temporary
private key
signature
Prior art date
Application number
PCT/CN2020/133999
Other languages
English (en)
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 上海阵方科技有限公司
Priority to PCT/CN2020/133999 priority Critical patent/WO2022116176A1/fr
Publication of WO2022116176A1 publication Critical patent/WO2022116176A1/fr

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Definitions

  • This specification belongs to the technical field of digital signatures, and in particular relates to a method, device and server for generating digital signatures.
  • This specification provides a method, device and server for generating a digital signature, which can improve computing efficiency, reduce communication bandwidth and data processing volume, and efficiently and safely without disclosing the private key data held by each other to the other party.
  • the target digital signature of the target information is jointly generated through collaboration.
  • This specification provides a method for generating a digital signature, the method is applied to the second server, and the method includes:
  • the first server In response to the joint signature request, interact with the first server to generate a second temporary private key and a second temporary public key, and exchange the temporary public key with the first server; wherein the first server responds
  • the joint signature request generates a first temporary private key and a first temporary public key
  • the target information, the second temporary private key, and the first temporary public key are used to generate the third intermediate ciphertext data and the second random number; wherein, the preset protocol rules are based on the ElGamal encryption algorithm and the group encryption algorithm;
  • the first server sends the third intermediate ciphertext data and the second random number to the first server; wherein, the first server generates the target digital signature of the target information according to the first temporary private key and the second temporary public key The first part of the signature in the target digital signature; the first server also generates the second part of the signature in the target digital signature of the target information by using the third intermediate ciphertext data and the second random number according to the preset protocol rule; The first server obtains the target digital signature of the target information according to the first partial signature and the second partial signature.
  • the response to the joint signature request generates a second temporary private key and a second temporary public key by interacting with the first server, and exchanges the temporary public key with the first server, include:
  • the first server Detecting whether a first temporary commitment document about the first temporary public key is received; wherein, the first server generates a first temporary private key and a first temporary public key in response to the joint signature request; and according to the first temporary public key The first temporary commitment file related to key generation;
  • the first server determines that the second temporary public key and the second temporary certification file are received In this case, providing the second server with a first temporary public key and a first temporary certification file about the first temporary public key;
  • generating the third intermediate ciphertext data by using the target information, the second temporary private key, and the first temporary public key according to a preset protocol rule includes:
  • the third intermediate ciphertext data is generated by using the target hash value, the first partial signature, and the first random number.
  • the third intermediate ciphertext data is constructed and obtained by using the first intermediate ciphertext data and the second intermediate ciphertext data.
  • the second random number is generated according to a preset protocol rule, including:
  • the second random number is generated according to the first random number according to the following formula:
  • t p is the second random number
  • t is the first random number
  • p is the order of the cyclic subgroup F in the cluster encryption
  • mod is the modulo function
  • the method before acquiring the target information to be signed, the method further includes:
  • the second part of the private key, the first part of the public key, and the second type of ciphertext data are obtained; and according to the first part of the public key and the second part of the ciphertext data; private key to generate a collaborative public key.
  • the second part of the private key and the first part of the public key are obtained, including:
  • the first server Detecting whether the first part of the commitment document about the first part of the public key is received; wherein, the first server generates the first part of the private key and the first part of the public key; and generates the first part of the relevant commitment document according to the first part of the public key;
  • the first server determines that the second part of the public key and the second part of the certification file are received In this case, providing the second server with the first part of the public key and the first part of the certification document about the first part of the public key;
  • the second type of ciphertext data is obtained, including:
  • the first server obtains the first type of ciphertext data about the first part of the private key through the first processing method based on the ElGamal encryption algorithm according to the preset protocol rules,
  • the second processing method of the algorithm obtains the second type of ciphertext data about the first part of the private key;
  • the first server also generates a corresponding first declaration file and a second type of ciphertext data according to the first type of ciphertext data and the second type of ciphertext data. declaration document;
  • the second type of ciphertext data is acquired according to the first declaration file and the second declaration file.
  • This specification provides a method for generating a digital signature, the method is applied to the first server, and the method includes:
  • the second server In response to the joint signature request, interact with the second server to generate a first temporary private key and a first temporary public key, and exchange the temporary public key with the second server; wherein the second server responds For the joint signature request, a second temporary private key and a second temporary public key are generated;
  • the second server uses the target information, the second temporary private key, and the first temporary public key to generate the third Intermediate ciphertext data, and a second random number;
  • the preset protocol rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm;
  • the target digital signature of the target information is obtained.
  • the method before receiving the joint signature request for target information initiated by the second server, the method further includes:
  • the first part of the private key, the second part of the public key and the second type of ciphertext data are obtained; and according to the first part of the private key and the second part of the ciphertext data; public key to generate a collaborative public key.
  • the second type of ciphertext data is obtained by performing preset data interaction with the second server, including:
  • the first type of first private key and the first type of first public key are generated; and according to the first type of first public key, the first type of first public key
  • the random number encrypts the first part of the private key to obtain the first type of ciphertext data about the first part of the private key;
  • the second type of first private key and the second type of first public key are generated through the second processing method based on the cluster encryption algorithm; and according to the second type of first public key, the second type of first public key The random number encrypts the first part of the private key to obtain the second type of ciphertext data about the first part of the private key.
  • the method further includes:
  • a verification parameter associated with the public key of the second type is generated, and the verification parameter is sent to the second server.
  • the method further includes:
  • the preset protocol rules use the first type of first public key, the first type of ciphertext data, and the first part of the public key to generate a first statement file and a certification file of the first statement file; and the first statement documents, and the supporting documents of the first declaration document are sent to the second server;
  • the preset protocol rules use the first type of first public key, the second type of first public key, the first type of ciphertext data and the second type of ciphertext data to generate a second declaration file, and the second declaration file. Proof document; and send the second declaration document and the proof document of the second declaration document to the second server.
  • the third intermediate ciphertext data and the second random number are used to generate the second part of the signature in the target digital signature of the target information, including:
  • the second part of the signature in the target digital signature of the target information is acquired.
  • the third intermediate ciphertext data is processed by using the second random number, the second type of first private key and the first partial private key to obtain the first intermediate result data, including:
  • the first intermediate result data is obtained according to the following formula:
  • s′′ is the first intermediate result data
  • sk 2 is the first private key of the second type
  • c 3 is the third intermediate ciphertext data
  • x 1 is the first part of the private key
  • t p is the second random number
  • p is the The order of the cyclic subgroup F in cluster encryption
  • mod is the modulo function
  • CL.Dec(sk 2 ,c 3 ) means that the third intermediate ciphertext data is decrypted based on the cluster encryption algorithm using the second type of first private key deal with.
  • the method further includes:
  • a target digital signature is set on the target information.
  • This specification provides a device for generating a digital signature, including:
  • the acquisition module is used to acquire the target information to be signed
  • an initiating module for initiating a joint signature request about the target information to the first server
  • a first processing module configured to generate a second temporary private key and a second temporary public key by interacting with the first server in response to the joint signature request, and exchange the temporary public key with the first server; wherein , the first server generates a first temporary private key and a first temporary public key in response to the joint signature request;
  • the second processing module is configured to use the target information, the second temporary private key and the first temporary public key to generate the third intermediate ciphertext data and the second random number according to the preset protocol rules; wherein the preset The protocol rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm;
  • a sending module configured to send the third intermediate ciphertext data and the second random number to a first server; wherein, the first server generates a target according to the first temporary private key and the second temporary public key The first part of the signature in the target digital signature of the information; the first server also uses the third intermediate ciphertext data and the second random number to generate the target digital signature of the target information according to the preset protocol rule. The second part of the signature; the first server obtains the target digital signature of the target information according to the first part of the signature and the second part of the signature.
  • This specification provides a device for generating a digital signature, including:
  • a first receiving module configured to receive a joint signature request for target information initiated by a second server
  • a first processing module configured to generate a first temporary private key and a first temporary public key by interacting with the second server in response to the joint signature request, and exchange the temporary public key with the second server; wherein , the second server generates a second temporary private key and a second temporary public key in response to the joint signature request;
  • a second processing module configured to generate the first part of the signature in the target digital signature of the target information according to the first temporary private key and the second temporary public key;
  • the second receiving module is configured to receive the third intermediate ciphertext data and the second random number sent by the second server; wherein the second server uses the target information, the second temporary private key, the first A temporary public key generates the third intermediate ciphertext data, and the second random number; the preset protocol rule is obtained according to the ElGamal encryption algorithm and the group encryption algorithm;
  • a third processing module configured to generate the second part of the signature in the target digital signature of the target information by using the third intermediate ciphertext data and the second random number according to a preset protocol rule;
  • the fourth processing module is configured to obtain the target digital signature of the target information according to the first partial signature and the second partial signature.
  • the present specification also provides a server, including a processor and a memory for storing instructions executable by the processor, and when the processor executes the instructions, the processor implements the relevant steps of the above-mentioned method for generating a digital signature.
  • the present specification also provides a computer-readable storage medium on which computer instructions are stored, and when the instructions are executed, the relevant steps of the above-mentioned method for generating a digital signature are implemented.
  • This specification provides a method, device, and server for generating a digital signature.
  • the second server can interact with the first server in response to a joint signature request for target information to generate a second temporary private key and a second temporary private key.
  • Temporary public key and exchange the generated temporary public key with the first server, so that the first server can obtain the second temporary public key generated by the second server, and the second server can obtain the first temporary public key generated by the first server.
  • the second server can generate the third intermediate ciphertext data by utilizing the target information, the second temporary private key and the first temporary public key according to the preset protocol rules combining the ElGamal encryption algorithm and the group encryption algorithm, and the second random number, and send the above data to the first server; the first server can first generate the first part of the signature according to the first temporary private key and the second temporary public key, and use the third intermediate encryption according to the preset protocol rules The text data and the second random number are used to generate the second part of the signature; and then the complete target digital signature about the target information can be obtained.
  • the computing efficiency can be effectively improved, the communication bandwidth and data processing volume can be reduced, and the target digital signature of the target information can be jointly generated efficiently and safely through cooperation without revealing the private key data held by each other to the other party.
  • the technical problems existing in the existing method such as cumbersome process, low processing efficiency and large communication bandwidth, when the two parties jointly generate the target digital signature through cooperation are solved.
  • FIG. 1 is a schematic diagram of an embodiment of the structural composition of a system to which a method for generating a digital signature provided by an embodiment of the present specification is applied;
  • FIG. 2 is a schematic flowchart of a method for generating a digital signature provided by an embodiment of this specification
  • FIG. 3 is a schematic diagram of an embodiment of applying a method for generating a digital signature provided by an embodiment of this specification in an example scenario
  • FIG. 4 is a schematic diagram of an embodiment of applying a method for generating a digital signature provided by an embodiment of this specification in an example scenario
  • FIG. 5 is a schematic flowchart of a method for generating a digital signature provided by an embodiment of this specification
  • FIG. 6 is a schematic diagram of the structural composition of a server provided by an embodiment of this specification.
  • FIG. 7 is a schematic structural diagram of a device for generating a digital signature provided by an embodiment of the present specification.
  • FIG. 8 is a schematic structural diagram of a device for generating a digital signature provided by an embodiment of this specification.
  • FIG. 9 is a schematic diagram of an embodiment of applying the method for generating a digital signature provided by an embodiment of this specification in an example scenario.
  • this specification constructs a new set of protocol rules through creative thinking, considering the comprehensive use of the ElGamal encryption algorithm and the group encryption algorithm, as well as the specific characteristics and confidentiality requirements when the two parties jointly sign.
  • Preset protocol rules also called Promise Sigma protocol.
  • the first server and the second server interact to generate a temporary private key and a temporary public key, and after exchanging the temporary public key generated by each other, the second server can use the target information held by itself according to the preset protocol rules. , the second temporary private key, and the first temporary public key to generate the third intermediate ciphertext data and the second random number; and send the third intermediate ciphertext data and the second random number to the first server.
  • the first server can first generate the first partial signature according to the second temporary public key and the first temporary private key held by its own party; further, according to the preset protocol rules, it can use the third intermediate ciphertext data, the second The random number is used to generate the second part of the signature, and then the complete target digital signature about the target information can be obtained.
  • the processing process can be effectively simplified, the calculation efficiency can be improved, the communication bandwidth and data processing volume can be reduced, and the information held by each other can be disclosed to the other party.
  • the target digital signature of the target information can be jointly generated efficiently and safely through cooperation.
  • the embodiments of this specification provide a method for generating a digital signature, which can be specifically applied to a system including a first server and a second server.
  • a system including a first server and a second server.
  • the first server and the second server may be connected in a wired or wireless manner, and specific data interaction has been performed.
  • the second server may acquire the target information to be signed, and initiate a joint signature request for the target information to the first server.
  • the first server and the second server may perform corresponding data interaction in response to the above joint signature request to generate a first temporary private key, a first temporary public key, and a second temporary private key and a second temporary public key respectively; The generated ephemeral public key.
  • the second server can obtain the first temporary public key
  • the first server can obtain the second temporary public key.
  • the second server can use the target information, the second temporary private key, and the first temporary public key to generate the third intermediate ciphertext data and the second random number according to the preset protocol rules; wherein, the preset protocol The rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm. and sending the third intermediate ciphertext data and the second random number to the first server.
  • the first server may first generate the first part of the signature in the target digital signature of the target information according to the first temporary private key and the second temporary public key. Then, the second part of the signature in the target digital signature of the target information can be generated by using the third intermediate ciphertext data and the second random number according to the preset protocol rule. Further, according to the first partial signature and the second partial signature, a complete digital signature about the target information, that is, the target digital signature, can be obtained.
  • the first server and the second server can efficiently and safely cooperate to jointly generate the target digital signature of the target information.
  • the first server and the second server may specifically include a background server applied to the business platform side and capable of implementing functions such as data transmission and data processing.
  • the first server and the second server may be, for example, an electronic device with data computing, storage, and network interaction functions.
  • the first server and the second server may also be software programs running in the electronic device to provide support for data processing, storage and network interaction.
  • the number of servers included in the first server and the second server is not specifically limited.
  • the first server and the second server may specifically be one server, or several servers, or a server cluster formed by several servers.
  • an embodiment of this specification provides a method for generating a digital signature.
  • the method is specifically applied to the side of the first server.
  • the method may include the following contents.
  • the above target information may specifically be a transaction order in a transaction data processing scenario, an electronic securities in an electronic securities processing scenario, or a notification message to be delivered in a communication interaction scenario.
  • the target information listed above is only a schematic illustration.
  • the above target information to be signed may also include other types of data information. This specification does not limit this.
  • the method may be specifically applied to the side of the second server (which may be denoted as p 2 ).
  • the second server may be connected with the terminal device.
  • the second server may receive target information sent by the terminal device, or a data processing request carrying the target information, so that the second server can subsequently assist the first server (which may be denoted as p 1 ) to complete the target information joint signature.
  • the first server and the second server responsible for jointly signing the target information may be two servers of the same level.
  • the first server may also receive the target information sent by the terminal device, or a data processing request carrying the target information.
  • S202 Initiate a joint signature request for target information to the first server.
  • the above joint signature request can specifically be understood as a request data requesting the first server to participate and cooperate with its own party to jointly generate a digital signature for the target information, so as to complete the joint signature operation on the target information.
  • the second server may trigger the second server to generate and initiate the above-mentioned joint signature request for the target information.
  • S203 In response to the joint signature request, interact with the first server to generate a second temporary private key and a second temporary public key, and exchange a temporary public key with the first server; wherein the first The server generates a first temporary private key and a first temporary public key in response to the joint signature request.
  • the response to the joint signature request generates a second temporary private key and a second temporary public key by interacting with the first server, and exchanges the temporary public key with the first server,
  • the following contents may be included.
  • S1 Detecting whether a first temporary commitment document related to the first temporary public key is received; wherein, the first server generates a first temporary private key and a first temporary public key in response to the joint signature request; and according to the first temporary public key The temporary public key generates the relevant first temporary commitment document;
  • S3 Send the second temporary public key and the second temporary certification file to the first server; wherein the first server determines that the second temporary public key and the second temporary certification have been received In the case of a file, provide the second server with a first temporary public key and a first temporary certification file about the first temporary public key;
  • the first server can generate a corresponding first temporary commitment file through a preset commitment function by using the first temporary private key and the first temporary public key according to the preset protocol rules; Instead of directly sending the first temporary public key to the second server, the first temporary commitment file is now sent to the second server, so that data security on the side of the first server can be better protected.
  • the above-mentioned preset protocol rule can be specifically understood as a new protocol rule designed and constructed by combining the ElGamal encryption algorithm and the group encryption algorithm, and combining with the scene characteristics of the joint signature of the two parties. Specifically, it can be recorded as: Promise Sigma protocol (rule).
  • the above-mentioned ElGamal encryption algorithm can be specifically understood as an asymmetric encryption algorithm based on Diffie-Hellman key exchange in cryptography.
  • the above-mentioned group encryption algorithm (also called group-based encryption technology) can be specifically understood as a data encryption algorithm designed for a system in which multiple group members participate together to assist in data processing.
  • the first server may first generate a first temporary private key according to a preset temporary secret key generation rule, which may be recorded as k 1 ; and then generate a corresponding temporary private key according to the first temporary private key.
  • the first temporary public key can be recorded as: R 1 .
  • the first server may, according to a preset temporary secret key generation rule, firstly start from the first data set (for example, ) randomly selects a piece of data as the first temporary private key.
  • a corresponding first temporary public key may be generated according to a preset temporary secret key generation rule and according to the first temporary private key.
  • R 1 k 1 G.
  • G can be specifically represented as a generator whose order is a prime number on the elliptic curve based on the ECDSA digital signature.
  • the above-mentioned digital signature can also be called a public key digital signature, which can be specifically understood as a digital string that can only be generated by a signer who holds information and cannot be forged by others.
  • the digital string is also a valid proof of the authenticity of the message sent by the signer of the message.
  • ECDSA Elliptic Curve Digital Signature Algorithm, Elliptic Curve Digital Signature Algorithm
  • ECC Elliptic Curve Cryptography
  • DSA Digital Signature Algorithm
  • the digital signature involved in this embodiment may specifically be an ECDSA digital signature.
  • ECDSA digital signature listed above is only a schematic illustration, and according to the specific application scenarios and the specific characteristics of the signature algorithm used, it is not limited to adapt the generation method of the digital signature provided in this specification. Applied to other types of digital signatures.
  • the first server may not directly send the first temporary public key to the second server. Instead, first generate a corresponding first temporary commitment file according to the first temporary public key to be provided to the second server; and send the first temporary commitment file to the second server. Therefore, data security on the side of the first server can be more effectively protected.
  • the above-mentioned first temporary commitment file can be understood as a kind of file data used to promise the other party that a temporary public key is generated according to the protocol rules, and the temporary public key will be provided to the other party later.
  • the first server may call a preset commitment function, for example, And use the preset commitment function to process the first temporary public key and the first temporary private key (for example, perform com-prove processing), and obtain the corresponding first temporary commitment file about the first temporary public key, for example, proof -receipt file.
  • the second server when the second server detects and determines that the first temporary commitment file is received, it may trigger the generation of a second temporary private key (which may be recorded as k 2 ) first, and generate a corresponding private key according to the second temporary private key.
  • the second server may generate a corresponding second certification file according to the above-mentioned second temporary public key.
  • the above-mentioned second certification file can be specifically understood as a kind of file data used to prove that the second temporary public key is generated according to the protocol rules and meets the requirements of the protocol.
  • the second server may call a preset certification function, for example, (Logarithmic discreteness proof function), process the second temporary public key and the second temporary private key (for example, perform proof processing), and obtain a second temporary certification file about the second temporary public key, for example, a proof file.
  • a preset certification function for example, (Logarithmic discreteness proof function)
  • process the second temporary public key and the second temporary private key for example, perform proof processing
  • a second temporary certification file about the second temporary public key
  • the second server may send the above-mentioned second temporary public key and a second temporary certification file related to the second temporary public key to the first server.
  • the first server After the first server receives the second temporary public key and determines according to the second temporary certification file that the second temporary public key is the second server according to the protocol rules and meets the protocol requirements, it can allow the second server to obtain the first public key.
  • the temporary public key, and the first temporary certification file about the first temporary public key are the first server.
  • the first server can generate a first temporary certification file about the first temporary public key according to the first temporary public key and the first temporary private key by calling a preset certification function; and then use the first temporary public key, and the first temporary certification file is sent to the second server.
  • the first server may also perform corresponding processing (for example, decom-proof processing) according to data such as the first commitment document by calling a preset commitment function, and obtain the first temporary public key and the first temporary certification file about the first temporary public key. Feedback to the second server.
  • processing for example, decom-proof processing
  • the second server can obtain the first temporary public key and the first temporary certification file through the above interaction.
  • the first server can obtain the second temporary public key generated by the second server, and at the same time, the second server can obtain the first temporary public key generated by the first server.
  • the second server determines according to the above-mentioned first temporary certification file that the first temporary public key is the first server according to the protocol rules and meets the protocol requirements, it can be determined that the current interaction is safe and effective, and then both parties can assist in the follow-up data processing. On the contrary, it is determined that the current interaction is unsafe and invalid, and the two parties will terminate the assistance and no further data processing will be performed. Thus, data security in subsequent data processing processes can be effectively protected, and attacks introduced by malicious provers in both parties can be avoided.
  • S204 According to the preset protocol rule, use the target information, the second temporary private key, and the first temporary public key to generate the third intermediate ciphertext data and the second random number; wherein, the preset protocol rule is based on ElGamal The encryption algorithm and the group encryption algorithm are obtained.
  • the third intermediate ciphertext data is generated by using the target information, the second temporary private key, and the first temporary public key.
  • the following contents may be included.
  • S2 generate the first partial signature in the target digital signature according to the second temporary private key and the first temporary public key;
  • S4 According to a preset protocol rule, use the target hash value, the first partial signature, and the first random number to generate the third intermediate ciphertext data.
  • the second server can obtain the first part of the signature in the target digital signature by calculating the following formula according to the second temporary private key and the first temporary public key currently held:
  • R can be represented as the media data
  • r x can be represented as the abscissa of the media data
  • ry can be represented as the ordinate of the media data
  • r can be represented as the first part of the signature.
  • the above-mentioned obtaining the first random number, and randomly extracting a value from a specified data range as the first random number can be expressed in the following form:
  • t is the first random number
  • p is the order of the cyclic subgroup F in cluster encryption
  • S is the cyclic subgroup in cluster encryption An approximate upper bound on the order of .
  • the third intermediate ciphertext data is generated by using the target hash value, the first partial signature, and the first random number according to a preset protocol rule. In a specific implementation, the following may be included: content.
  • S1 According to a preset protocol rule, use the second temporary private key, the target hash value, and the generator of the cyclic subgroup in the cluster encryption to generate the first intermediate ciphertext data.
  • S2 According to the preset protocol rules, use the second part of the private key and the second type of ciphertext data, as well as the second temporary private key and the first random number to generate the second intermediate ciphertext data.
  • S3 According to a preset protocol rule, use the first intermediate ciphertext data and the second intermediate ciphertext data to construct and obtain the third intermediate ciphertext data.
  • the second temporary private key, the target hash value, and the generator of the cyclic subgroup in the group encryption are used to generate the first intermediate ciphertext data.
  • the first intermediate ciphertext data which can include:
  • c 1 can be specifically represented as the first intermediate ciphertext data
  • f can specifically be represented as a generator of the cyclic subgroup F in the cluster encryption
  • m′ can be specifically represented as a target hash value.
  • the second part of the private key and the second type of ciphertext data, the second temporary private key and the first random number are used to generate the second intermediate ciphertext data, which may include :
  • the second intermediate ciphertext data is generated according to the following formula:
  • c 2 can specifically be represented as the second intermediate ciphertext data
  • k 2 can specifically represent the second temporary private key
  • t can specifically represent the first random number
  • r can specifically represent the first part of the signature
  • x 2 can specifically represent The second part of the private key
  • c key can specifically represent the second type of ciphertext data
  • the third intermediate ciphertext data is constructed and obtained by using the first intermediate ciphertext data and the second intermediate ciphertext data according to the preset protocol rules.
  • c 3 can be specifically expressed as the third intermediate ciphertext data, Represents a homomorphic addition operation on ciphertext data.
  • the private data (for example, the second part of the private key, etc.) hidden by the second server can be obtained, which can be used to generate the second part of the target digital signature, but the use process will not be leaked
  • the third intermediate ciphertext data of the private data held by the second server can be obtained, which can be used to generate the second part of the target digital signature, but the use process will not be leaked.
  • a corresponding second random number may also be generated according to the first random number, and then the second random number may be used instead of The first random number is sent to the first server together with the third intermediate ciphertext data.
  • the above-mentioned generation of the second random number according to a preset protocol rule may include:
  • the second random number is generated according to the first random number according to the following formula:
  • t p is the second random number
  • t is the first random number
  • p is the order of the cyclic subgroup F in the cluster encryption
  • mod is the modulo function
  • the second server may send the second random number and the third intermediate ciphertext data to the first server together, so as to generate the second part of the signature in the target digital signature for obtaining the target information on the side of the first server.
  • the second random number (or the first random number) may be combined with the third intermediate ciphertext data to generate the second part of the signature in the target digital signature.
  • the real data value of the real first random number can be effectively hidden, so that the to protect the data security of the second server.
  • the first server may generate the first part of the signature in the target digital signature of the target information on the side of the first server according to the first temporary private key and the second temporary public key . Specifically, the first server can calculate and obtain the first part of the signature in the target digital signature according to the following formula:
  • R can be represented as the media data
  • r x can be represented as the abscissa of the media data
  • ry can be represented as the ordinate of the media data
  • r can be represented as the first part of the signature.
  • S205 Send the third intermediate ciphertext data and the second random number to the first server; wherein, the first server generates the target of the target information according to the first temporary private key and the second temporary public key The first part of the signature in the digital signature; the first server also generates the second part of the target digital signature of the target information by using the third intermediate ciphertext data and the second random number according to the preset protocol rules signature; the first server obtains the target digital signature of the target information according to the first partial signature and the second partial signature.
  • the second server may send the third intermediate ciphertext data and the second random number to the first server in a wired or wireless manner, so that the first server can use the above data to generate and obtain the data in the target digital signature.
  • the second part of the signature can be combined according to the first part of the signature to obtain a complete target digital signature.
  • the first server may first generate the second part of the target digital signature of the target information by using the third intermediate ciphertext data and the second random number according to preset protocol rules. Partial signature.
  • the third intermediate ciphertext data can be processed according to the following formula by using the second random number, the second type of first private key and the first type of private key to obtain the first Intermediate result data:
  • s can be expressed as the first intermediate result data
  • sk 2 can be expressed as the second type of first private key
  • c 3 can be expressed as the third intermediate ciphertext data
  • x 1 can be expressed as the first part of the private key.
  • key t p can be expressed as a second random number
  • p can be expressed as the order of the cyclic subgroup F in cluster encryption
  • mod can be expressed as a modulo function
  • CL.Dec(sk 2 ,c 3 ) can be expressed as Indicates that the third intermediate ciphertext data is decrypted based on the cluster encryption algorithm by using the second type of first private key.
  • the first server may obtain second intermediate result data according to the first temporary private key and the first intermediate result data.
  • the second intermediate result data can be obtained according to the following formula:
  • s' can be specifically represented as the second intermediate result data
  • k 1 can be specifically represented as the first temporary private key
  • the first server may obtain the second part of the signature in the target digital signature of the target information according to the second intermediate result data.
  • the second part of the signature can be obtained according to the following formula:
  • s can be specifically represented as the second part of the signature in the target digital signature, and min( ) represents the minimum value processing.
  • the first server can obtain a complete digital signature, such as (r, s), by combining the first part of the signature and the second part of the signature; further, the digital signature can be used as the target digital signature for the target information.
  • a complete digital signature such as (r, s)
  • the second server may interact with the first server in response to a joint signature request for target information to generate a second temporary private key and a second temporary public key, and exchange them with the first server
  • the temporary public key generated by each further, the second server can generate a third intermediary by using the target information, the second temporary private key, and the first temporary public key according to the preset protocol rules that integrate the ElGamal encryption algorithm and the group encryption algorithm ciphertext data, and the second random number, and send the above data to the first server; the first server can first generate the first part of the signature according to the first temporary private key and the second temporary public key, and according to the preset protocol rules , using the third intermediate ciphertext data and the second random number to generate the second partial signature; and then the complete target digital signature about the target information can be obtained.
  • the computing efficiency can be effectively improved, the communication bandwidth and the data processing volume can be reduced, and the target digital signature of the target information can be jointly generated efficiently and safely through cooperation without revealing the private key data held by each other to the other party.
  • the technical problems existing in the existing method such as cumbersome process, low processing efficiency and large communication bandwidth, when the two parties jointly generate the target digital signature through cooperation are solved.
  • the first server and the second server may also perform corresponding data interaction to generate a collaborative public key according to a preset protocol rule.
  • the method before acquiring the target information to be signed, when the method is specifically implemented, the method may further include the following content: the second server may perform preset data interaction with the first server according to preset protocol rules , obtain the second part of the private key, the first part of the public key, and the second type of ciphertext data; and generate the collaborative public key according to the first part of the public key and the second part of the private key.
  • the second part of the private key and the first part of the public key are obtained by performing preset data interaction with the first server, and the specific implementation may include the following content.
  • S1 Detecting whether the first part of the commitment file about the first part of the public key is received; wherein the first server generates the first part of the private key and the first part of the public key; and generates the first part of the relevant commitment file according to the first part of the public key.
  • S3 Send the second part of the public key and the second part of the certificate to the first server; wherein, the first server determines that the second part of the public key and the second part of the certificate have been received
  • the second server is provided with a first part of the public key, and a first part of the certification file for the first part of the public key.
  • the second type of ciphertext data is obtained by performing preset data interaction with the first server, and the specific implementation may include the following content: receiving the first declaration file and the first Two declaration files; wherein, the first server obtains the first type of ciphertext data about the first part of the private key through the first processing method based on the ElGamal encryption algorithm according to the preset protocol rules, and obtains the first type of ciphertext data based on the second processing method based on the group encryption algorithm Regarding the second type of ciphertext data of the first part of the private key; the first server also generates a corresponding first declaration file and a second declaration file according to the first type of ciphertext data and the second type of ciphertext data; A declaration file and the second declaration file obtain the second type of ciphertext data.
  • the first server can first generate the first part of the private key, which is denoted as x1.
  • the first part of the private key can be generated as follows:
  • the first server may generate a corresponding first part of the public key according to the first part of the private key, which is denoted as Q 1 .
  • the first server can generate a corresponding first part of the commitment file about the first part of the public key according to the first part of the private key and the first part of the public key through a preset commitment function; and send the first part of the commitment file to the second server.
  • the second server When the second server detects and determines that the first part of the commitment document is received, it may first generate the second part of the private key, which is denoted as x 2 .
  • the second part of the private key can be generated in the following manner:
  • the second server may generate a corresponding second part of the public key according to the second part of the private key, which is denoted as Q 2 .
  • the second server may generate a second part of the certification file about the second part of the public key based on a preset protocol rule; and send the second part of the public key and the second part of the certification file to the first server.
  • the first server may allow the second part of the public key.
  • the second server obtains the first part of the public key, and the first part of the certification file about the first part of the public key.
  • the second server can obtain the first part of the public key and the first part of the certification file.
  • the second server receives the first part of the public key and determines according to the first part of the certification file that the received first part of the public key is generated according to the protocol rules and meets the requirements of the protocol, the subsequent data processing can be continued to Generate a collaborative public key. Otherwise, end the current data processing.
  • the first server can obtain the second part of the public key, and at the same time the second server can obtain the first part of the public key.
  • the first server may obtain the first type of ciphertext data about the first part of the private key through the first processing method based on the ElGamal encryption algorithm according to the preset protocol rule.
  • the first server may first obtain a random number of the first type, denoted as r 1 .
  • the first random number can be obtained in the following manner:
  • the first server can generate a first type of first private key and a first type of first private key and a first type of first private key by using a first processing method based on the ElGamal encryption algorithm (for example, a key generation function based on the ElGamal encryption algorithm) according to the set protocol rules.
  • public key Specifically, the corresponding first-type first private key sk 1 and the first-type first public key pk 1 can be obtained in the following manner: EG.KGen(1 ⁇ ) ⁇ (pk 1 ,sk 1 ).
  • the above EG.KGen( ⁇ ) represents a key generation function based on the ElGamal encryption algorithm, and ⁇ can be specifically represented as a security parameter.
  • the first server may encrypt the first part of the private key according to the first type of first public key and the first type of random number to obtain the first type of ciphertext data about the first part of the private key.
  • EG.Enc( ) represents the encryption operation based on the ElGamal encryption algorithm
  • C key represents the first type of ciphertext data
  • C key,1 , C key,2 respectively represent the two components of the first type of ciphertext data.
  • the first server can also generate the second type of first private key and the second type of first public key according to the preset protocol rules and through the second processing method based on the cluster encryption algorithm; A public key and a second type of random number encrypt the first part of the private key to obtain the second type of ciphertext data about the first part of the private key.
  • the first server may first obtain a random number of the second type, which is denoted as r2.
  • the first random number can be obtained in the following manner: r 2 ⁇ [0, S].
  • the first server may generate the second type of first private key and the second type of first private key and the second type of first private key through the second processing method based on the cluster encryption algorithm (for example, the key generation function based on the cluster encryption algorithm) according to the set protocol rule.
  • public key for example, the key generation function based on the cluster encryption algorithm
  • the corresponding first private key sk 2 of the second type and the first public key pk 2 of the second type can be obtained in the following manner: CL.KGen(1 ⁇ ,p) ⁇ (pk 2 ,sk 2 ).
  • CL.KGen( ⁇ ) represents a key generation function based on a cluster encryption algorithm, and ⁇ can be specifically represented as a security parameter.
  • the first server may encrypt the first part of the private key according to the second type of first public key and the second type of random number to obtain the second type of ciphertext data about the first part of the private key.
  • the second type of ciphertext data can be obtained by performing cluster encryption on the first part of the private key according to the following formula: CL.Enc(pk 1 , x 1 ; r 1 ) ⁇ c key .
  • CL.Enc( ⁇ ) represents the encryption operation based on the cluster encryption algorithm
  • c key represents the second type of ciphertext data.
  • the method may further include: generating a verification parameter associated with the second type of public key according to the second type of public key, and sending the verification parameter to the second server.
  • the proofreading parameters can be determined as follows:
  • the proofreading parameters may specifically include: where p is a prime number, Cyclic subgroups in encryption for taxa generators of , and have sk 2 is the first private key of the second type.
  • the first server can send the above-mentioned verification parameters to the second server, so that the second server can detect whether the first server generates the second type of first private key and the second type of first public key according to the protocol rules according to the above-mentioned verification parameters. key to determine whether to proceed with subsequent data processing.
  • the first declaration file may be generated by using the first type of first public key, the first type of ciphertext data, and the first part of the public key according to preset protocol rules, and the certification document of the first declaration document; and send the first declaration document and the supporting document of the first declaration document to the second server;
  • the preset protocol rules use the first type of first public key, the second type of first public key, the first type of ciphertext data and the second type of ciphertext data to generate a second declaration file, and the second declaration file. Proof document; and send the second declaration document and the proof document of the second declaration document to the second server.
  • the document obtains the supporting document corresponding to the first declaration document.
  • the first server may send the first statement file and the certification file of the first statement file, and/or the second statement file and the certification file of the second statement file to the second server for detection and verification.
  • the first server can use the first part of the private key and the second part of the public key held by itself to generate a collaborative public key , which can be denoted as Q.
  • the second server can generate the collaborative public key by using the second part of the private key and the first part of the public key held by its own party.
  • the second server may obtain the corresponding second type of ciphertext data according to the received declaration file.
  • the first server and the second server can securely and efficiently generate the first part of the private key and the second part of the private key respectively held by them, and exchange part of the public keys of both parties to generate the corresponding collaborative public key.
  • the aforementioned collaborative public key can be used for signature verification of subsequent target digital signatures.
  • the second server can respond to a joint signature request for target information, interact with the first server to generate a second temporary private key and a second temporary private key.
  • Temporary public key and exchange the generated temporary public key with the first server; further, the second server can use the target information, the second temporary private key according to the preset protocol rules that integrate the ElGamal encryption algorithm and the group encryption algorithm , the first temporary public key generates the third intermediate ciphertext data and the second random number, and sends the above data to the first server; the first server can first generate the third intermediate ciphertext data according to the first temporary private key and the second temporary public key.
  • the third intermediate ciphertext data and the second random number are used to generate the second part of the signature; and then the complete target digital signature about the target information can be obtained. Therefore, the computing efficiency can be effectively improved, the communication bandwidth and the data processing volume can be reduced, and the target digital signature of the target information can be jointly generated efficiently and safely through cooperation without revealing the private key data held by each other to the other party.
  • the technical problems existing in the existing method such as cumbersome process, low processing efficiency and large communication bandwidth, when the two parties jointly generate the target digital signature through cooperation are solved.
  • an embodiment of the present specification further provides a method for generating a digital signature.
  • the method may be specifically applied to the side of the first server.
  • the following contents may be included.
  • S501 Receive a joint signature request for target information initiated by a second server.
  • S502 In response to the joint signature request, interact with the second server to generate a first temporary private key and a first temporary public key, and exchange a temporary public key with the second server; wherein the second The server generates a second temporary private key and a second temporary public key in response to the joint signature request.
  • S503 Generate a first partial signature in the target digital signature of the target information according to the first temporary private key and the second temporary public key.
  • S504 Receive the third intermediate ciphertext data and the second random number sent by the second server; wherein, the second server generates the target information, the second temporary private key and the first temporary public key according to preset protocol rules
  • the third intermediate ciphertext data, and the second random number; the preset protocol rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm.
  • S505 Generate the second part of the signature in the target digital signature of the target information by using the third intermediate ciphertext data and the second random number according to a preset protocol rule.
  • S506 Obtain the target digital signature of the target information according to the first partial signature and the second partial signature.
  • the method before receiving the joint signature request for target information initiated by the second server, may further include the following content during specific implementation: according to a preset protocol rule, by performing a preset protocol with the second server. Data exchange to obtain the first part of the private key, the second part of the public key, and the second type of ciphertext data; and generate the collaborative public key according to the first part of the private key and the second part of the public key.
  • the second type of ciphertext data is obtained by performing preset data interaction with the second server, and the specific implementation may include the following content.
  • S2 According to the preset protocol rules, through the first processing method based on the ElGamal encryption algorithm, generate the first type of first private key and the first type of first public key; A type of random number encrypts the first part of the private key to obtain the first type of ciphertext data about the first part of the private key;
  • the second type of first private key and the second type of first public key are generated through the second processing method based on the cluster encryption algorithm;
  • the second type of random number encrypts the first part of the private key to obtain the second type of ciphertext data about the first part of the private key.
  • the method may further include: generating a collation parameter associated with the second type of public key according to the second type of public key, and sending the collation parameter to the second server.
  • the preset protocol rules use the first type of first public key, the first type of ciphertext data, and the first part of the public key to generate a first statement file and a certification file of the first statement file; and the first statement documents, and the supporting documents of the first declaration document are sent to the second server;
  • the preset protocol rules use the first type of first public key, the second type of first public key, the first type of ciphertext data and the second type of ciphertext data to generate a second declaration file, and the second declaration file. Proof document; and send the second declaration document and the proof document of the second declaration document to the second server.
  • the third intermediate ciphertext data and the second random number are used to generate the second part of the signature in the target digital signature of the target information.
  • the following may be included: content.
  • S1 According to a preset protocol rule, use the second random number, the second type of first private key and the first partial private key to process the third intermediate ciphertext data to obtain first intermediate result data;
  • S3 Acquire a second partial signature in the target digital signature of the target information according to the second intermediate result data.
  • the third intermediate ciphertext data is processed by using the second random number, the second type of first private key and the first partial private key to obtain the first intermediate ciphertext data.
  • Result data when implemented, may include:
  • the first intermediate result data is obtained according to the following formula:
  • s′′ is the first intermediate result data
  • sk 2 is the first private key of the second type
  • c 3 is the third intermediate ciphertext data
  • x 1 is the first part of the private key
  • t p is the second random number
  • p is the The order of the cyclic subgroup F in cluster encryption
  • mod is the modulo function
  • CL.Dec(sk 2 ,c 3 ) means that the third intermediate ciphertext data is decrypted based on the cluster encryption algorithm using the second type of first private key deal with.
  • the method may further include: verifying the target digital signature according to a preset protocol rule; if it is determined that the verification is passed , and set the target digital signature on the target information.
  • the specific implementation of the verification of the target digital signature may include the following content: calculating the target hash value according to the target information; according to the target hash value and the target digital signature The second part of the signature, calculate the first verification data u 1 ; calculate the second verification data u 2 according to the first part of the signature and the second part of the signature; Detect whether the abscissa data of the target verification data and the first part of the signature satisfy a preset numerical relationship, and determine whether the digital signature has passed the verification.
  • the method for generating a digital signature provided by the embodiments of this specification can effectively improve the computing efficiency, reduce the communication bandwidth and data processing volume, and can effectively improve the efficiency without disclosing the private key data held by each other to the other party.
  • the technical problems existing in the existing method, such as cumbersome process, low processing efficiency and large communication bandwidth, when the two parties jointly generate the target digital signature through cooperation are solved.
  • An embodiment of the present specification further provides a server, including a processor and a memory for storing instructions executable by the processor.
  • the processor may perform the following steps according to the instructions: acquire target information to be signed; Initiating a joint signature request for target information; in response to the joint signature request, interacting with the first server to generate a second temporary private key and a second temporary public key, and exchanging the temporary public key with the first server ; wherein, in response to the joint signature request, the first server generates a first temporary private key and a first temporary public key; according to a preset protocol rule, use the target information, the second temporary private key, and the first temporary public key Generate the third intermediate ciphertext data and the second random number; wherein, the preset protocol rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm; the third intermediate ciphertext data and the second random number are obtained Send the data to the first server; wherein, the first server generates the first part of the signature in the target digital signature of the target information according to
  • the embodiment of the present specification further provides another specific server, wherein the server includes a network communication port 601 , a processor 602 and a memory 603 , and the above structure is achieved by Internal cables are connected so that each structure can carry out specific data interaction.
  • the network communication port 601 can be specifically used to obtain target information to be signed.
  • the processor 602 may be specifically configured to initiate a joint signature request for target information to the first server; in response to the joint signature request, interact with the first server to generate a second temporary private key and a second temporary private key. public key, and exchange the temporary public key with the first server; wherein, the first server generates a first temporary private key and a first temporary public key in response to the joint signature request; according to the preset protocol rules, using The target information, the second temporary private key, and the first temporary public key generate the third intermediate ciphertext data, and the second random number; wherein, the preset protocol rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm; the The third intermediate ciphertext data and the second random number are sent to the first server; wherein, the first server generates the target digital signature of the target information according to the first temporary private key and the second temporary public key.
  • the first part of the signature of the target information the first server also generates the second part of the signature in the target digital signature of the target information by using the third intermediate ciphertext data and the second random number according to the preset protocol rules;
  • the first server obtains the target digital signature of the target information according to the first partial signature and the second partial signature.
  • the memory 603 may specifically be used to store corresponding instruction programs.
  • the network communication port 601 may be a virtual port bound with different communication protocols, so that different data can be sent or received.
  • the network communication port may be a port responsible for web data communication, a port responsible for FTP data communication, or a port responsible for mail data communication.
  • the network communication port may also be a physical communication interface or a communication chip.
  • it can be a wireless mobile network communication chip, such as GSM, CDMA, etc.; it can also be a Wifi chip; it can also be a Bluetooth chip.
  • the processor 602 may be implemented in any suitable manner.
  • a processor may take the form of, for example, a microprocessor or a processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor, logic gates, switches, application specific integrated circuits ( Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc.
  • computer readable program code eg software or firmware
  • the memory 603 may include multiple levels.
  • a digital system as long as it can store binary data, it can be a memory; in an integrated circuit, a circuit with a storage function without physical form is also called a memory , such as RAM, FIFO, etc.; in the system, the storage device with physical form is also called memory, such as memory stick, TF card, etc.
  • Embodiments of the present specification further provide another server, including a processor and a memory for storing instructions executable by the processor.
  • the processor may perform the following steps according to the instructions: receiving a message about target information initiated by a second server. a joint signature request; in response to the joint signature request, interact with the second server to generate a first temporary private key and a first temporary public key, and exchange a temporary public key with the second server; wherein the In response to the joint signature request, the second server generates a second temporary private key and a second temporary public key; and generates the first part of the target digital signature of the target information according to the first temporary private key and the second temporary public key signature; receiving the third intermediate ciphertext data and the second random number sent by the second server; wherein, the second server generates the target information, the second temporary private key and the first temporary public key according to the preset protocol rules
  • the third intermediate ciphertext data, and the second random number; the preset protocol rule is obtained according to the ElGamal encryption algorithm and the group encryption algorithm
  • the embodiments of this specification also provide a computer storage medium based on the above-mentioned method for generating a digital signature, where the computer storage medium stores computer program instructions, and when the computer program instructions are executed, realizes: acquiring target information to be signed; Initiating a joint signature request about the target information to the first server; in response to the joint signature request, interacting with the first server to generate a second temporary private key and a second temporary public key, and communicating with the first server Exchange temporary public keys; wherein, in response to the joint signature request, the first server generates a first temporary private key and a first temporary public key; according to preset protocol rules, use the target information, the second temporary private key, the first temporary A temporary public key generates third intermediate ciphertext data and a second random number; wherein, the preset protocol rules are obtained according to the ElGamal encryption algorithm and the cluster encryption algorithm; the third intermediate ciphertext data and all The second random number is sent to the first server; wherein, the first server generates the first part of the signature in the
  • the above-mentioned storage medium includes but is not limited to random access memory (Random Access Memory, RAM), read-only memory (Read-Only Memory, ROM), cache (Cache), hard disk (Hard Disk Drive, HDD) Or a memory card (Memory Card).
  • the memory may be used to store computer program instructions.
  • the network communication unit may be an interface for performing network connection communication, which is set according to a standard specified by a communication protocol.
  • the embodiments of the present specification further provide another computer storage medium based on the above-mentioned method for generating a digital signature, where the computer storage medium stores computer program instructions, which are implemented when the computer program instructions are executed: receiving a request from a second server.
  • a joint signature request for target information in response to the joint signature request, interact with the second server to generate a first temporary private key and a first temporary public key, and exchange the temporary public key with the second server;
  • the second server generates a second temporary private key and a second temporary public key in response to the joint signature request; and generates a target digital signature of the target information according to the first temporary private key and the second temporary public key
  • the temporary public key generates the third intermediate ciphertext data and the second random number;
  • the preset protocol rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm; according to the
  • an embodiment of the present specification further provides an apparatus for generating a digital signature, and the apparatus may specifically include the following structural modules.
  • Obtaining module 701 which can be specifically used to obtain target information to be signed;
  • Initiating module 702 which can be specifically configured to initiate a joint signature request about target information to the first server;
  • the first processing module 703 can be specifically configured to respond to the joint signature request, interact with the first server to generate a second temporary private key and a second temporary public key, and exchange a temporary public key with the first server. key; wherein, the first server generates a first temporary private key and a first temporary public key in response to the joint signature request;
  • the second processing module 704 can be specifically configured to generate the third intermediate ciphertext data and the second random number by using the target information, the second temporary private key and the first temporary public key according to the preset protocol rules; wherein, the The preset protocol rules are obtained according to the ElGamal encryption algorithm and the group encryption algorithm;
  • the sending module 705 can be specifically configured to send the third intermediate ciphertext data and the second random number to the first server; wherein, the first server uses the first temporary private key, the second temporary public key to generate the first part of the signature in the target digital signature of the target information; the first server also uses the third intermediate ciphertext data and the second random number to generate the target digital signature of the target information according to the preset protocol rule the second part of the signature; the first server obtains the target digital signature of the target information according to the first part of the signature and the second part of the signature.
  • the units, devices or modules described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions.
  • the functions are divided into various modules and described respectively.
  • the functions of each module can be implemented in the same one or more software and/or hardware, and the modules that implement the same function can also be implemented by a combination of multiple sub-modules or sub-units.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • this specification also provides another digital signature generation device, which may specifically include the following structural modules.
  • the first receiving module 801 can be specifically configured to receive a joint signature request for target information initiated by a second server;
  • the first processing module 802 can be specifically configured to respond to the joint signature request, generate a first temporary private key and a first temporary public key by interacting with the second server, and exchange a temporary public key with the second server. key; wherein, the second server generates a second temporary private key and a second temporary public key in response to the joint signature request;
  • the second processing module 803 can be specifically configured to generate the first part of the signature in the target digital signature of the target information according to the first temporary private key and the second temporary public key;
  • the second receiving module 804 can be specifically configured to receive the third intermediate ciphertext data and the second random number sent by the second server; wherein, the second server uses the target information, the second temporary private data and the second random number according to preset protocol rules.
  • the key and the first temporary public key generate the third intermediate ciphertext data, and the second random number;
  • the preset protocol rule is obtained according to the ElGamal encryption algorithm and the group encryption algorithm;
  • the third processing module 805 can be specifically configured to generate the second part of the signature in the target digital signature of the target information by using the third intermediate ciphertext data and the second random number according to a preset protocol rule;
  • the fourth processing module 806 may be specifically configured to obtain the target digital signature of the target information according to the first partial signature and the second partial signature.
  • the digital signature generation device provided by the embodiments of this specification can effectively improve the computing efficiency, reduce the communication bandwidth and the data processing volume, and can efficiently generate the private key data without disclosing the private key data held by each other to the other party.
  • the technical problems existing in the existing method, such as cumbersome process, low processing efficiency and large communication bandwidth, when the two parties jointly generate the target digital signature through cooperation are solved.
  • the method for generating a digital signature provided in this specification can be applied to implement a two-party ECDSA joint signature based on group encryption.
  • [Lin17] implemented a two-party ECDSA signature scheme based on Paillier homomorphic encryption.
  • Paillier encryption due to the difference between Paillier encryption and the modulus in ECDSA system, a heavy range zero-knowledge proof sub-protocol is introduced, resulting in this scheme requiring more computation and higher bandwidth.
  • [CCL+19] implements a two-party ECDSA signature scheme based on cluster encryption. Cluster encryption is the same modulo as in ECDSA systems, eliminating the effects of range zero-knowledge proofs.
  • the sub-protocol implementation needs to be repeated in parallel using a single-bit challenge. Obviously, efficiency will suffer greatly.
  • the Promise Sigma protocol used in this scenario example is a Promise Sigma protocol with equal plaintext.
  • the equal plaintext may specifically refer to: the group encrypted plaintext is equal to the ElGamal encrypted plaintext.
  • the formal language description of the Promise Sigma protocol with equal plaintext is as follows:
  • the specific protocol execution process can be referred to as shown in FIG. 9 .
  • the Fiat-Shamir heuristic can also be used to convert the above-mentioned interactive protocol into a non-interactive protocol.
  • two parties eg, the first server and the second server
  • the generated signature can also be verified.
  • the generation method of the digital signature provided in this specification is verified. Due to the introduction of a new protocol, the Promise Sigma protocol, and the application of this protocol to the generation process of the digital signature, a secure and efficient two-dimensional signature is obtained. Square ECDSA signature scheme. Compared with the previous scheme, the computing efficiency can be greatly improved and the communication bandwidth can be reduced.
  • the controller in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps.
  • the same function can be realized in the form of a microcontroller, etc. Therefore, such a controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
  • program modules include routines, programs, objects, components, data structures, classes, etc. that perform particular tasks or implement particular abstract data types.
  • the specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Procédé et dispositif de génération d'une signature numérique, et serveur. Sur la base du procédé, un second serveur interagit avec un premier serveur en réponse à une demande de signature conjointe relative à des informations cibles de façon à générer une seconde clé privée éphémère et une seconde clé publique éphémère, et échange, avec le premier serveur, les clés publiques éphémères générées par chacun; en outre, le second serveur utilise les informations cibles, la seconde clé privée éphémère, et une première clé publique éphémère pour générer des troisièmes données de cryptogramme intermédiaires et un second nombre aléatoire sur la base d'une règle de protocole prédéfinie combinant l'algorithme de chiffrement ElGamal et un algorithme de chiffrement de groupe, et transmet les données au premier serveur; le premier serveur génère une première signature partielle et, à l'aide des troisièmes données de cryptogramme intermédiaires et de second nombre aléatoire sur la base d'une règle de protocole prédéfinie, génère une seconde signature partielle, ce qui donne lieu à une signature numérique cible complète pour les informations cibles. Par conséquent, une signature numérique peut être générée de manière efficace, sécurisée et conjointe sans divulguer des données de clés privées respectives.
PCT/CN2020/133999 2020-12-04 2020-12-04 Procédé et dispositif de génération d'une signature numérique, et serveur WO2022116176A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/133999 WO2022116176A1 (fr) 2020-12-04 2020-12-04 Procédé et dispositif de génération d'une signature numérique, et serveur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/133999 WO2022116176A1 (fr) 2020-12-04 2020-12-04 Procédé et dispositif de génération d'une signature numérique, et serveur

Publications (1)

Publication Number Publication Date
WO2022116176A1 true WO2022116176A1 (fr) 2022-06-09

Family

ID=81852869

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/133999 WO2022116176A1 (fr) 2020-12-04 2020-12-04 Procédé et dispositif de génération d'une signature numérique, et serveur

Country Status (1)

Country Link
WO (1) WO2022116176A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061245A (zh) * 2023-10-11 2023-11-14 中国电子科技集团公司第三十研究所 一种使用前缀哈希的格基认证密钥交换协议构造方法
CN117155570A (zh) * 2023-10-30 2023-12-01 北京天润基业科技发展股份有限公司 密文置换方法、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506156A (zh) * 2016-12-15 2017-03-15 北京三未信安科技发展有限公司 一种基于椭圆曲线的分布式门限签名方法
US20180330078A1 (en) * 2017-05-11 2018-11-15 Microsoft Technology Licensing, Llc Enclave pool shared key
CN110289968A (zh) * 2019-06-27 2019-09-27 矩阵元技术(深圳)有限公司 私钥恢复、协同地址的创建、签名方法及装置、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506156A (zh) * 2016-12-15 2017-03-15 北京三未信安科技发展有限公司 一种基于椭圆曲线的分布式门限签名方法
US20180330078A1 (en) * 2017-05-11 2018-11-15 Microsoft Technology Licensing, Llc Enclave pool shared key
CN110289968A (zh) * 2019-06-27 2019-09-27 矩阵元技术(深圳)有限公司 私钥恢复、协同地址的创建、签名方法及装置、存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061245A (zh) * 2023-10-11 2023-11-14 中国电子科技集团公司第三十研究所 一种使用前缀哈希的格基认证密钥交换协议构造方法
CN117061245B (zh) * 2023-10-11 2023-12-22 中国电子科技集团公司第三十研究所 一种使用前缀哈希的格基认证密钥交换协议构造方法
CN117155570A (zh) * 2023-10-30 2023-12-01 北京天润基业科技发展股份有限公司 密文置换方法、存储介质及电子设备
CN117155570B (zh) * 2023-10-30 2024-01-23 北京天润基业科技发展股份有限公司 密文置换方法、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN108667626B (zh) 安全的两方协作sm2签名方法
CN109246129B (zh) 一种可验证客户端身份的sm2协同签名方法及系统
CN111200502B (zh) 协同数字签名方法和装置
US9571274B2 (en) Key agreement protocol
CN109639439B (zh) 一种基于两方协同的ecdsa数字签名方法
CN105959269A (zh) 一种基于身份的可认证动态群组密钥协商方法
CN112436938B (zh) 数字签名的生成方法、装置和服务器
JP7492508B2 (ja) コンピュータにより実施される、デジタル署名されたデータのシェアを分配するシステム及び方法
CN111682938A (zh) 面向中心化移动定位系统的三方可认证密钥协商方法
US20150358167A1 (en) Certificateless Multi-Proxy Signature Method and Apparatus
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
CN112417489B (zh) 数字签名的生成方法、装置和服务器
WO2022116176A1 (fr) Procédé et dispositif de génération d'une signature numérique, et serveur
CN113676333A (zh) 一种两方协作生成sm2盲签名方法
CN111447065A (zh) 一种主动安全的sm2数字签名两方生成方法
CN111010285A (zh) 一种适用于轻量级客户端的sm2两方协同签名方法及介质
CN113765662A (zh) 一种基于sm2算法的签名及解密方法和系统
US20160352689A1 (en) Key agreement protocol
WO2022116175A1 (fr) Procédé et appareil pour générer une signature numérique et serveur
CN111046411A (zh) 电网数据安全存储方法及系统
CN101116281A (zh) 询问-应答签名和安全迪菲-海尔曼协议
CN111191262B (zh) 一种基于两方签名的区块链钱包客户端私钥保护方法
Tan An efficient pairing‐free identity‐based authenticated group key agreement protocol
Worku et al. Cloud data auditing with designated verifier
CN110943826B (zh) 一种基于sm2算法的拆分密钥签名方法与系统

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: 20964022

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: 20964022

Country of ref document: EP

Kind code of ref document: A1