Signature generation method, device and server
Patent Information
- Application Number
- CN202510169762.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-17
- Publication Date
- 2026-08-18
AI Technical Summary
这样,会使得整个签名过程相对比较复杂、繁琐,增加了整体的计算量和通信量,影响了整体的处理效率
[0052] Based on the signature generation method, apparatus, and server provided in this specification, preset protocol rules can be deployed on multiple signature terminals with signature permissions before implementation. In specific implementation, when the first signature terminal among multiple signature terminals needs to collaboratively sign target business data, it can initiate a target signature request for the target business data to multiple participating second signature terminals. According to the preset protocol rules, the first signature terminal can sequentially perform a first interactive operation, a second interactive operation, and a third interactive operation with multiple second signature terminals to obtain a first part signature and a second part signature of the target signature for the target business data. Then, by combining the first part signature and the second part signature, a complete target signature for the target business data is generated. Therefore, without the need to introduce and use zero-knowledge proofs, and without disclosing the complete signature private keys of the signing participants, the signing of target business data can be achieved efficiently and securely, effectively reducing computational and communication loads, simplifying the overall signing process, and improving overall processing efficiency.
Smart Images

Figure CN122601205A_ABST
Abstract
Description
Technical Field
[0001] This manual belongs to the field of information security technology, and in particular relates to methods, devices and servers for generating signatures. Background Technology
[0002] With the development of information technology, digital signature technology has been widely used in business areas such as digital certificates, secure communication, and privacy protection. Unlike traditional signatures, digital signatures mostly simulate the function of paper signatures or seals through specific cryptographic algorithms, thereby ensuring the integrity, authenticity, and non-repudiation of digital resources.
[0003] However, conventional digital signature technology is prone to leaking the complete private keys of the signing participants, posing a significant security risk. To address this security risk and prevent the leakage of the signing participants' complete private keys, it is often necessary to introduce additional technologies such as zero-knowledge proofs to modify the signing process. This makes the entire signing process relatively complex and cumbersome, increasing the overall computational and communication load and affecting overall processing efficiency.
[0004] There is currently no effective solution to the above problems. Summary of the Invention
[0005] This specification provides a signature generation method, apparatus, and server that can efficiently and securely sign target business data, effectively reducing computational and communication loads, simplifying the overall signing process, and improving overall processing efficiency.
[0006] This specification provides a signature generation method applied to a first signature terminal, the method comprising:
[0007] A target signature request for target business data is initiated to multiple second signature terminals; wherein the target signature request carries at least the target business data;
[0008] According to the preset protocol rules, generate the signature private key share and the first random number for the first signature terminal;
[0009] Based on the signature private key share of the first signature terminal and the first random number, a signature public key for the target signature of the target business data is obtained by performing a first interactive operation involving the first intermediate data with multiple second signature terminals; wherein, the first signature terminal and the second signature terminals store the signature public key, and the signature public key is used to verify the target signature;
[0010] According to the preset protocol rules, a second random number is generated for the first signature terminal;
[0011] Based on the second random number of the first signature terminal, the components of the second intermediate data and the third intermediate data of the first signature terminal are obtained by performing a second interactive operation involving the second intermediate data and the third intermediate data with multiple second signature terminals.
[0012] Based on the target business data, the corresponding signature parameters are determined; and using the signature parameters and the third intermediate data, the first part of the target signature about the target business data is generated.
[0013] Based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature, the second part of the target signature is obtained by performing a third interactive operation with multiple second signing terminals.
[0014] By combining the first part of the signature and the second part of the signature, a target signature about the target business data is generated.
[0015] In one embodiment, based on the signature private key share of the first signing terminal and a first random number, a signature public key for the target signature of the target business data is obtained through a first interactive operation involving first intermediate data with multiple second signing terminals, including:
[0016] Based on the signature private key share and the first random number of the first signature terminal, a multi-party secure computation based on an objective function is performed with multiple second signature terminals holding the corresponding signature private key and the first random number to obtain the first interactive secret value between the first signature terminal and the second signature terminals.
[0017] Using the signature private key share of the first signature terminal and the first random number, a first self-interchange secret value between the first signature terminal and the first signature terminal is generated;
[0018] Based on the first interactive secret value and the first self-interacting secret value, generate the first component and the second component of the first intermediate data of the first signature terminal; and broadcast the first component and the second component of the first intermediate data of the first signature terminal to the outside world.
[0019] Obtain the first and second components of the first intermediate data of the second signature terminal broadcast by the second signature terminal; calculate the first intermediate data based on the first and second components of the first intermediate data of the first signature terminal and the first and second components of the first intermediate data of the second signature terminal.
[0020] A signature public key for the target signature is generated based on the first intermediate data.
[0021] In one embodiment, generating a first component and a second component of the first intermediate data of the first signature terminal based on a first interactive secret value and a first self-interacting secret value includes:
[0022] Based on the first interactive secret value and the first self-intersecting secret value, a first component of the first intermediate data of the first signature terminal is generated; based on the first random number and the elliptic curve generator, a second component of the first intermediate data of the first signature terminal is generated.
[0023] In one embodiment, based on a second random number from the first signing terminal, a second interactive operation involving second intermediate data and third intermediate data is performed with multiple second signing terminals to obtain components of the second intermediate data and third intermediate data from the first signing terminal, including:
[0024] Based on the second random number and the first random number of the first signing terminal, a multi-party secure computation based on an objective function is performed with multiple second signing terminals holding the corresponding second random number and the first random number to obtain the second interactive secret value between the first signing terminal and the second signing terminal.
[0025] Using the second random number and the first random number of the first signing terminal, a second self-intersecting secret value between the first signing terminal and the first signing terminal is generated;
[0026] Based on the second interactive secret value and the second self-interacting secret value, the second intermediate data component and the third intermediate data component of the first signing terminal are generated; and the third intermediate data component of the first signing terminal is broadcast externally.
[0027] Obtain the component of the third intermediate data broadcast by the second signature terminal;
[0028] The third intermediate data is generated based on the components of the third intermediate data from the first signing terminal and the components of the third intermediate data from the second signing terminal.
[0029] In one embodiment, the corresponding signature parameters are determined based on the target business data, including:
[0030] Using a hash value associated with the user identifier, the target information is determined based on the target business data;
[0031] By processing the target information using the corresponding cryptographic functions, the corresponding signature parameters are determined.
[0032] In one embodiment, based on the components of the second intermediate data from the first signing terminal, the share of the signing private key, and the first part of the target signature, a second part of the target signature is obtained through a third interactive operation with multiple second signing terminals, including:
[0033] Based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature, the components of the second part of the target signature of the first signing terminal are generated.
[0034] The second part of the target signature of the broadcasting terminal is a component of the signature.
[0035] Obtain the second part of the target signature of the second signature terminal broadcast by the second signature terminal;
[0036] The second part of the target signature is generated by combining the components of the second part of the target signature from the first signing terminal and the second part of the target signature from the second signing terminal.
[0037] In one embodiment, the target business data includes a target licensing contract for a target user;
[0038] Accordingly, after combining the first part of the signature and the second part of the signature to generate a target signature for the target business data, the method further includes:
[0039] The target business data is signed using the target signature to obtain the signed target business data.
[0040] The signed target business data is sent to the target user's user terminal.
[0041] This specification also provides a signature generation apparatus for use in a first signature terminal, the apparatus comprising:
[0042] The initiation module is used to initiate a target signature request for target business data to multiple second signature terminals; wherein the target signature request carries at least the target business data;
[0043] The first generation module is used to generate the signature private key share and the first random number of the first signature terminal according to the preset protocol rules.
[0044] The first interactive operation module is used to obtain the signature public key of the target signature of the target business data by performing a first interactive operation involving the first intermediate data with multiple second signature terminals based on the signature private key share of the first signature terminal and the first random number; wherein the first signature terminal and the second signature terminals store the signature public key, and the signature public key is used to verify the target signature;
[0045] The second generation module is used to generate a second random number for the first signature terminal according to preset protocol rules;
[0046] The second interactive calculation module is used to obtain the components of the second intermediate data and the third intermediate data of the first signature terminal by performing a second interactive calculation involving the second intermediate data and the third intermediate data with multiple second signature terminals based on the second random number of the first signature terminal.
[0047] The third generation module is used to determine the corresponding signature parameters based on the target business data; and to generate the first part of the target signature about the target business data using the signature parameters and the third intermediate data.
[0048] The third interactive operation module is used to obtain the second part of the target signature by performing a third interactive operation with multiple second signature terminals based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature.
[0049] The fourth generation module is used to combine the first part of the signature and the second part of the signature to generate a target signature for the target business data.
[0050] This specification also provides a server, including a processor and a memory for storing processor-executable instructions, wherein the processor, when executing the instructions, implements the steps of the signature generation method.
[0051] This specification also provides a computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of the signature generation method.
[0052] Based on the signature generation method, apparatus, and server provided in this specification, preset protocol rules can be deployed on multiple signature terminals with signature permissions before implementation. In specific implementation, when the first signature terminal among multiple signature terminals needs to collaboratively sign target business data, it can initiate a target signature request for the target business data to multiple participating second signature terminals. According to the preset protocol rules, the first signature terminal can sequentially perform a first interactive operation, a second interactive operation, and a third interactive operation with multiple second signature terminals to obtain a first part signature and a second part signature of the target signature for the target business data. Then, by combining the first part signature and the second part signature, a complete target signature for the target business data is generated. Therefore, without the need to introduce and use zero-knowledge proofs, and without disclosing the complete signature private keys of the signing participants, the signing of target business data can be achieved efficiently and securely, effectively reducing computational and communication loads, simplifying the overall signing process, and improving overall processing efficiency. Attached Figure Description
[0053] To more clearly illustrate the embodiments of this specification, the accompanying drawings used in the embodiments will be briefly introduced below. The drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0054] Figure 1This is a flowchart illustrating a signature generation method provided in one embodiment of this specification;
[0055] Figure 2 This is a schematic diagram illustrating one embodiment of the signature generation method provided in the embodiments of this specification, applied in a scenario example.
[0056] Figure 3 This is a schematic diagram illustrating one embodiment of the signature generation method provided in the embodiments of this specification, applied in a scenario example.
[0057] Figure 4 This is a schematic diagram illustrating one embodiment of the signature generation method provided in the embodiments of this specification, applied in a scenario example.
[0058] Figure 5 This is a schematic diagram of the structural composition of a server provided in one embodiment of this specification;
[0059] Figure 6 This is a schematic diagram of the structural composition of a signature generation device provided in one embodiment of this specification;
[0060] Figure 7 This is a schematic diagram illustrating one embodiment of the signature generation method provided in the embodiments of this specification, applied in a scenario example.
[0061] Figure 8 This is a schematic diagram illustrating one embodiment of the signature generation method provided in the embodiments of this specification, applied in a scenario example. Detailed Implementation
[0062] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0063] It should be noted that the information and data related to users involved in the embodiments of this specification are all information and data authorized by the user or fully authorized by the relevant parties. Furthermore, the collection, storage, use, processing, transmission, provision, disclosure, and application of the relevant data all comply with relevant laws, regulations, and standards, and necessary confidentiality measures have been taken. They do not violate public order and good morals, and corresponding operation entry points are provided for users or relevant parties to choose to authorize or refuse.
[0064] It should also be noted that in the embodiments of this specification, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, it does not mean that the applicant has used or necessarily used the solution.
[0065] See Figure 1 As shown in the embodiments of this specification, a signature generation method is provided, wherein the method is specifically applied to the first signature terminal side. In specific implementation, the method may include the following:
[0066] S101: Initiate a target signature request for target business data to multiple second signature terminals; wherein, the target signature request carries at least the target business data;
[0067] S102: Generate the signature private key share and the first random number of the first signature terminal according to the preset protocol rules;
[0068] S103: Based on the signature private key share of the first signature terminal and the first random number, a signature public key for the target signature of the target business data is obtained by performing a first interactive operation involving the first intermediate data with multiple second signature terminals; wherein, the first signature terminal and the second signature terminals store the signature public key, and the signature public key is used to verify the target signature;
[0069] S104: Generate a second random number for the first signing terminal according to the preset protocol rules;
[0070] S105: Based on the second random number of the first signing terminal, by performing a second interactive operation involving the second intermediate data and the third intermediate data with multiple second signing terminals, the components of the second intermediate data and the third intermediate data of the first signing terminal are obtained;
[0071] S106: Based on the target business data, determine the corresponding signature parameters; and use the signature parameters and the third intermediate data to generate the first part of the target signature for the target business data;
[0072] S107: Based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature, the second part of the target signature is obtained by performing a third interactive operation with multiple second signing terminals.
[0073] S108: Combine the first part of the signature and the second part of the signature to generate a target signature for the target business data.
[0074] Specifically, the first signature terminal can be deployed on the data provider side that has signing permissions for the target business data. The target business data can be understood as business data to be signed.
[0075] The aforementioned target business data could be a licensing agreement for a product or technology, a cooperation agreement for a project, a loan agreement for a sum of money, and so on. It should be noted that the target business data listed above is merely illustrative. In actual implementation, depending on the specific application scenario and processing requirements, the target business data may also include other types of business data. This specification does not limit this.
[0076] For a given set of target business data, there can be multiple data parties with simultaneous signing authority. Based on relevant cooperation agreements, for this target business data to officially become effective, all or a predetermined number of data parties must jointly participate and collaborate to complete the signing.
[0077] Specifically, corresponding signature terminals can be deployed on the side of each data party with signing authority. Combined with relevant cooperation agreements and technologies such as multi-party secure computation, collaborative signing, and encryption algorithms, preset protocol rules can be deployed on each signature terminal. Accordingly, each signature terminal can cooperate with the signature terminals of other data parties to jointly sign the target business data according to the preset protocol rules.
[0078] Specifically, the aforementioned signature terminal may include a front-end applied to the data party with signature authorization, capable of data collection, data transmission, and other functions. Specifically, the signature terminal may be an electronic device such as a desktop computer, tablet computer, laptop computer, or smartphone. Alternatively, the signature terminal may also be a software application running on the aforementioned electronic device, such as an app running on a mobile phone.
[0079] Specifically, the aforementioned first signature terminal can be understood as the signature terminal that initiates a target signature request for the target business data.
[0080] In practice, when a target user wishes to be authorized to use the target technology, they can first send a target authorization request for the target technology to the first signing terminal through their user terminal; wherein the target authorization request carries at least the target user's user identifier. Furthermore, the aforementioned target authorization request may also carry the technology identifier of the target technology.
[0081] Accordingly, the first signing terminal can receive and respond to the target authorization request, and generate corresponding target business data based on the user identifier of the target user and the technical identifier of the target technology, such as a target authorization contract authorizing the target user to use the target technology; simultaneously, based on the technical identifier of the target technology, it identifies other signing terminals that will participate in signing the target business data, serving as the second signing terminals. The second signing terminal can be one signing terminal or multiple signing terminals.
[0082] In practice, the first signing terminal can first determine the importance level of the target technology by querying the system database based on the technical identifier of the target technology; then, based on the importance level of the target technology and in conjunction with the relevant cooperation agreement, determine the minimum number of signing participants to participate in the signing of the target business data; and then, based on the minimum number and consensus rules, determine the corresponding number of signing terminals as the second signing terminals through voting among multiple signing terminals.
[0083] Furthermore, the first signing terminal can initiate a target signature request for the target business data to multiple second signing terminals, thereby triggering the first signing terminal and multiple second signing terminals to cooperate in generating a target signature for the target business data according to preset protocol rules.
[0084] In specific implementation, the first signing terminal can respond to the target signing request and, according to preset protocol rules, generate a signing private key share and a first random number for the first signing terminal, which can be denoted as: u i γ i Where i is the terminal identifier of the first signing terminal. Simultaneously, the second signing terminal can respond to the target signing request and, according to preset protocol rules, generate a corresponding second signing terminal's signature private key share and a first random number. The first signing terminal and multiple second signing terminals each hold and safeguard their own signature private key share.
[0085] It should be noted that the aforementioned signature private key share differs from a traditional signature private key; it is only a portion of the signature private key. Since the first signing terminal and multiple second signing terminals each hold only one signature private key share, and it is impossible for all signature private key shares to appear simultaneously during the subsequent data processing for signature generation, this effectively prevents the complete signature private key from being leaked. Even if one or more signature private key shares are compromised, the complete signature private key cannot be obtained, thus ensuring better security of the relevant data information.
[0086] In practice, the first signature terminal and multiple second signature terminals can jointly determine a relatively large prime number, denoted as q, according to preset protocol rules; then, based on this prime number, a set of integers consisting of 1, 2, ..., q-1 is established, denoted as q-1.
[0087] In practice, the first signing terminal can randomly select an integer from the above integer set as its signature private key share, denoted as u. i ,For example, At the same time, another random integer is selected as the first random number for the first signature terminal, denoted as γ. i ,For example, In a similar manner, the second signing terminal can generate a signature private key share and a second random number according to preset protocol rules.
[0088] In some embodiments, see Figure 2 As shown, the above-mentioned method, based on the signature private key share of the first signature terminal and the first random number, obtains the signature public key for the target signature of the target business data through a first interactive operation involving the first intermediate data with multiple second signature terminals. In specific implementation, it may include the following:
[0089] S1: Based on the signature private key share and the first random number of the first signature terminal, perform multi-party secure computation based on the objective function with multiple second signature terminals holding the corresponding signature private key and the first random number to obtain the first interactive secret value between the first signature terminal and the second signature terminals;
[0090] S2: Using the signature private key share of the first signature terminal and the first random number, generate the first self-interchange secret value between the first signature terminal and the first signature terminal;
[0091] S3: Based on the first interactive secret value and the first self-interacting secret value, generate the first component and the second component of the first intermediate data of the first signing terminal; and broadcast the first component and the second component of the first intermediate data of the first signing terminal to the outside world.
[0092] S4: Obtain the first component and the second component of the first intermediate data of the second signature terminal broadcast by the second signature terminal; calculate the first intermediate data based on the first component and the second component of the first intermediate data of the first signature terminal and the first component and the second component of the first intermediate data of the second signature terminal.
[0093] S5: Generate the signature public key for the target signature based on the first intermediate data.
[0094] Specifically, the objective function may include: an ideal function for multiplication-to-addition, which can be denoted as:
[0095] Specifically, the above-mentioned ideal function for multiplication to addition It can be defined as follows: f((a1, b1), (a2, b2)) = (c1, c2), and c1 + c2 = a1b2 + a2b1, where (a1, b1) and (a2, b2) are ideal functions. The input parameters (c1, c2) are ideal functions. The output result.
[0096] Specifically, the first signing terminal can perform multi-party secure computation based on an objective function with different second signing terminals individually, according to preset protocol rules. In practice, for example, the first signing terminal can input its own private key share u. i The first random number γ i Simultaneously, the second signing terminal (e.g., the second signing terminal identified as j) inputs the signature private key share u held by the second signing terminal. j The first random number γ j Then, based on the objective function, multi-party secure computation is performed using the input data (u i γ j +u j γ i =v ij +v ji ), thus obtaining the first interactive secret value (which can be denoted as v) between the first signing terminal and the second signing terminal. ij ), and the first interactive secret value between the second signing terminal (which can be denoted as v). ji ); wherein, the first signing terminal obtains the first interactive secret value between the first signing terminal and the second signing terminal, and the second signing terminal obtains the first interactive secret value between the second signing terminal and the first signing terminal.
[0097] Based on the above interactive operation method, the signing terminal participating in the calculation cannot know the signature private key share or the first random number used and input by other signing terminals, nor can it know the first interactive secret value obtained by other signing terminals, thus better protecting the security of relevant data information.
[0098] Specifically, the first signing terminal can also use its signature private key share and the first random number to generate a first self-interchange secret value between itself and the first signing terminal according to the following formula: v ii =u i ·γ i .
[0099] Specifically, the first signing terminal can generate the first component of the first intermediate data of the first signing terminal by performing an accumulation operation based on the first interactive secret value and the first self-interacting secret value. For example, V i =∑j∈[t] v ij , where V i t represents the first component of the first intermediate data of the first signing terminal, and t represents the total number of signing terminals participating in the signing of the target business data.
[0100] Simultaneously, the first signature terminal can generate a first random number and an elliptic curve generator (e.g., denoted as G, elliptic curve generator). Generator), generates the second component of the first intermediate data obtained from the first signature terminal. For example, Γ i =γ i G, where Γ i This is the second component of the first intermediate data of the first signing terminal. The second component of the first intermediate data of the first signing terminal is then broadcast externally.
[0101] In a similar manner, the second signing terminal can generate the first and second components of the corresponding second intermediate data of the second signing terminal; and broadcast the second component of the first intermediate data of the second signing terminal to the outside world.
[0102] Specifically, the first signing terminal can calculate the first intermediate data by performing an accumulation operation based on the first and second components of the first intermediate data of the first signing terminal and the first and second components of the first intermediate data of the second signing terminal: V = ∑ i V i , Γ=∑ i Γ i The first intermediate data are: V and Γ.
[0103] Specifically, the first signing terminal can generate a public key for a target signature on the target business data based on the elliptic curve generator and the first intermediate data: Q = V -1 Γ-G; where Q is the signing public key. This signing public key, along with the previously generated signing private key share, is stored locally on the first signing terminal.
[0104] Similarly, the second signing terminal can also generate and obtain the signing public key; and store the signing public key, along with its own signing private key share, locally on the second signing terminal.
[0105] In some embodiments, the above-mentioned generation of the first component and the second component of the first intermediate data of the first signature terminal based on the first interactive secret value and the first self-intersecting secret value may specifically include the following: generating the first component of the first intermediate data of the first signature terminal based on the first interactive secret value and the first self-intersecting secret value; and generating the second component of the first intermediate data of the first signature terminal based on the first random number and the elliptic curve generator.
[0106] In some embodiments, see Figure 3 As shown, the above-mentioned method, based on the second random number of the first signing terminal, obtains the components of the second intermediate data and the third intermediate data of the first signing terminal through a second interactive operation involving the second intermediate data and the third intermediate data with multiple second signing terminals. In specific implementation, it may include the following:
[0107] S1: Based on the second random number and the first random number of the first signing terminal, perform multi-party secure computation based on the objective function with multiple second signing terminals holding the corresponding second random number and the first random number to obtain the second interactive secret value between the first signing terminal and the second signing terminal;
[0108] S2: Using the second random number and the first random number of the first signing terminal, generate the second self-intersecting secret value between the first signing terminal and the first signing terminal;
[0109] S3: Based on the second interactive secret value and the second self-interacting secret value, generate the second intermediate data component and the third intermediate data component of the first signing terminal; and broadcast the third intermediate data component of the first signing terminal to the outside world;
[0110] S4: Obtain the component of the third intermediate data of the second signature terminal broadcast by the second signature terminal;
[0111] S5: Generate third intermediate data based on the components of the third intermediate data from the first signing terminal and the components of the third intermediate data from the second signing terminal.
[0112] In practice, the first signature terminal can randomly select another integer from the aforementioned integer set as its second random number, denoted as k. i ,For example,
[0113] Specifically, the first signing terminal can perform multi-party secure computation based on an objective function with different second signing terminals individually, according to preset protocol rules. In practice, for example, the first signing terminal can input its second random number k. i The first random number γ i Simultaneously, the second signing terminal (e.g., the second signing terminal identified as j) inputs the second random number k held by the second signing terminal. j The first random number γ j Then, based on the objective function, multi-party security computation (k) is performed using the input data. i γ j +k j γ i =φ ij +φ jiThis yields the second interactive secret value (which can be denoted as φ) between the first signing terminal and the second signing terminal. ij ), and the second interactive secret value between the second signing terminals (which can be denoted as φ). ji ); wherein, the first signing terminal obtains the second interactive secret value between the first signing terminal and the second signing terminal, and the second signing terminal obtains the second interactive secret value between the second signing terminal and the first signing terminal.
[0114] Based on the above interactive operation method, the signing terminal participating in the calculation cannot know the second random number and the first random number used and input by other signing terminals, nor can it know the second interactive secret value obtained by other signing terminals, thus better protecting the security of relevant data information.
[0115] Specifically, the first signing terminal can also use its second random number and first random number to generate a second self-intersecting secret value between itself and others, according to the following formula: φ ii =k i γ i .
[0116] Specifically, the first signing terminal can use the second interactive secret value and the second self-intersecting secret value to generate the components of the second intermediate data of the first signing terminal according to the following formula: Φ i =∑ i∈[t] φ ij , where Φ i This is the component of the second intermediate data for the first signing terminal.
[0117] Simultaneously, the first signing terminal can also use the second random number and elliptic curve generator to generate the third intermediate data component (which can be denoted as R) of the first signing terminal. i For example, R i =k i G. and broadcasts the third intermediate data component of the first signature terminal to the outside world.
[0118] In a similar manner, the second signing terminal can generate the second intermediate data component and the third intermediate data component of the second signing terminal; and broadcast the third intermediate data component externally.
[0119] Specifically, the first signing terminal can generate the third intermediate data by performing an accumulation operation on the components of the third intermediate data from the first signing terminal and the second signing terminal. For example, R = ∑ i R i , where R is the third intermediate data.
[0120] In some embodiments, the above-mentioned determination of the corresponding signature parameters based on the target business data may include the following:
[0121] S1: Using the hash value associated with the user identifier, determine the target information based on the target business data;
[0122] S2: By processing the target information using the corresponding cryptographic function, the corresponding signature parameters are determined.
[0123] Specifically, the aforementioned hash value can be a hash value associated with the user identifier of the target user, which can be denoted as Z. A For example, a hash value relating to a target user (e.g., user A) consisting of a distinguishable user identifier, partial elliptic curve system parameters, and the user's public key. Specifically, this hash value can be generated from the target user's user identifier, elliptic curve system parameters, and the target user's public key.
[0124] The aforementioned cryptographic function can be a cryptographic function derived from a cryptographic hash function, and can be represented as H(·).
[0125] In practical implementation, the target information can be determined based on the target business data using the hash value associated with the user identifier, according to the following formula: M = Z A ||m, where M is the target information, m is the target business data, and Z A A hash value associated with the user identifier.
[0126] In practice, the corresponding signature parameters can be determined by processing the target information using the corresponding cryptographic function according to the following formula: h = H(M), where h is the signature parameter.
[0127] In some embodiments, the first part of the target signature for the target business data is generated using the signature parameters and third intermediate data. Specifically, the first part of the target signature can be calculated using the following formula: r = R x +h, where r is the first part of the target signature.
[0128] In some embodiments, see Figure 4 As shown, the second part of the target signature is obtained by performing a third interactive operation with multiple second signature terminals based on the components of the second intermediate data from the first signing terminal, the share of the signing private key, and the first part of the target signature. In specific implementations, this may include the following:
[0129] S1: Based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature, generate the components of the second part of the target signature of the first signing terminal.
[0130] S2: Broadcast the second part of the target signature of the first signing terminal;
[0131] S3: Obtain the second part of the target signature of the second signature terminal broadcast by the second signature terminal;
[0132] S4: Combine the components of the second part of the target signature from the first signing terminal and the components of the second part of the target signature from the second signing terminal to generate the second part of the target signature.
[0133] Specifically, the first signing terminal can generate the second part of the target signature component of the first signing terminal according to the following formula: based on the component of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature: s i =Φ i +u i r, where s i The first signing terminal calculates and broadcasts the second part of its signature to the target terminal. Similarly, the second signing terminal can calculate and broadcast its own second part of the signature.
[0134] Specifically, the second part of the target signature is generated by combining the components of the second part of the target signature from the first signing terminal and the second part of the target signature from the second signing terminal, performing an accumulation operation, and then subtracting the first part of the target signature. For example, s = ∑ i s i -r, where s is the second part of the target signature.
[0135] In some embodiments, when implemented, the first signature terminal may combine the first part of the signature and the second part of the signature in the following manner to generate a target signature for the target business data: σ = (r, s), thereby obtaining a complete target signature.
[0136] In some embodiments, the target business data may specifically include a target licensing contract for a target user;
[0137] Accordingly, after combining the first part of the signature and the second part of the signature to generate the target signature for the target business data, the method may further include the following in its specific implementation:
[0138] S1: Use the target signature to sign the target business data to obtain the signed target business data;
[0139] S2: Send the signed target business data to the target user's user terminal.
[0140] In this way, the target user can use the signed target business data received by the user terminal as a credential of use, and be authorized to use the product or technology indicated by the target business data normally.
[0141] In some embodiments, after generating a target signature for the target business data, the method may further include the following: using a signing public key to verify the validity of the target signature; if the verification is successful, determining that all second signing terminals participating in the signing have received and agreed to the target business data; determining that the target signature is valid, and using the target signature to perform a signing operation on the target business data to obtain the signed target business data.
[0142] Conversely, if the verification fails, it can be determined that at least one of the second signing terminals involved in the signing has not received the target service data or disagrees with the target service data. In this case, the first signing terminal can send an error message to the target user's terminal indicating that the target authorization request has failed.
[0143] As can be seen from the above, based on the signature generation method provided in the embodiments of this specification, before specific implementation, preset protocol rules can be deployed on multiple signature terminals with signature permissions respectively. In specific implementation, when the first signature terminal among the multiple signature terminals needs to collaboratively sign target business data, it can initiate a target signature request for the target business data to multiple participating second signature terminals. According to the preset protocol rules, the first signature terminal can sequentially perform a first interactive operation, a second interactive operation, and a third interactive operation with multiple second signature terminals to obtain a first part signature and a second part signature of the target signature for the target business data. The first part signature and the second part signature are then combined to generate a complete target signature for the target business data. Therefore, without the need to introduce and use zero-knowledge proofs, and without disclosing the complete signature private keys of the signing participants, the signing of target business data can be achieved efficiently and securely, effectively reducing computational and communication loads, simplifying the overall signing process, and improving overall processing efficiency.
[0144] This specification provides an embodiment of a server, see below. Figure 5 As shown. The server includes a network communication port 501, a processor 502, and a memory 503. These structures are connected by internal cables so that they can perform specific data interaction.
[0145] Specifically, the network communication port 501 can be used to initiate a target signature request for target business data to multiple second signature terminals; wherein the target signature request carries at least the target business data.
[0146] The processor 502 can specifically be used to: generate a signature private key share and a first random number for a first signing terminal according to preset protocol rules; obtain a signature public key for a target signature of target business data by performing a first interactive operation involving first intermediate data with multiple second signing terminals based on the signature private key share and the first random number of the first signing terminal; wherein the first signing terminal and the second signing terminals store the signature public key; generate a second random number for the first signing terminal according to preset protocol rules; obtain a component of the second intermediate data and a third intermediate data of the first signing terminal by performing a second interactive operation involving second intermediate data and a third intermediate data with multiple second signing terminals based on the second random number of the first signing terminal; determine the corresponding signature parameters based on the target business data; generate a first part signature of the target signature of the target business data using the signature parameters and the third intermediate data; obtain a second part signature of the target signature by performing a third interactive operation with multiple second signing terminals based on the component of the second intermediate data and the signature private key share of the first signing terminal, and the first part signature of the target signature; and combine the first part signature and the second part signature to generate the target signature of the target business data.
[0147] The memory 503 can be used to store the corresponding instruction program, as well as target business data, signature private key share, first random number, second random number and other related data.
[0148] Based on the above method, the relevant structural performance of the server can be effectively utilized to improve the data processing speed of electronic devices and efficiently realize the data processing for signature generation.
[0149] In this embodiment, the network communication port 501 can be a virtual port bound to different communication protocols, thereby enabling the sending or receiving of different data. For example, the network communication port can be a port responsible for web data communication, a port responsible for FTP data communication, or a port responsible for email data communication. Furthermore, the network communication port can also be a physical communication interface or communication chip. For example, it can be a wireless mobile network communication chip, such as GSM or CDMA; it can also be a Wi-Fi chip; or it can be a Bluetooth chip.
[0150] In this embodiment, the processor 502 can be implemented in any suitable manner. For example, the processor can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers, etc. This specification is not limiting.
[0151] In this embodiment, the memory 503 may include multiple layers. In a digital system, anything that can store binary data can be a memory. In an integrated circuit, a circuit with storage function but no physical form is also called a memory, such as RAM, FIFO, etc. In a system, a storage device with a physical form is also called a memory, such as a memory module.
[0152] This specification also provides a computer-readable storage medium based on the above-described signature generation method. The computer-readable storage medium stores computer program instructions that, when executed, implement: initiating a target signature request for target business data to multiple second signature terminals; wherein the target signature request carries at least the target business data; generating a signature private key share and a first random number for a first signature terminal according to preset protocol rules; and obtaining a signature public key for the target signature of the target business data by performing a first interactive operation involving first intermediate data with multiple second signature terminals based on the signature private key share and the first random number of the first signature terminal; wherein the first and second signature terminals store the signature public key; and according to preset protocol rules... The process involves generating a second random number for the first signing terminal; based on this second random number, performing a second interactive operation involving second and third intermediate data with multiple second signing terminals to obtain the components of the second intermediate data and the third intermediate data of the first signing terminal; determining the corresponding signature parameters based on the target business data; and using the signature parameters and the third intermediate data to generate a first part of the target signature for the target business data; based on the components of the second intermediate data of the first signing terminal, the share of the signature private key, and the first part of the target signature, performing a third interactive operation with multiple second signing terminals to obtain a second part of the target signature; and combining the first part of the signature and the second part of the signature to generate the target signature for the target business data.
[0153] In this embodiment, the storage medium includes, but is not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), cache, hard disk drive (HDD), or memory card. The memory can be used to store computer program instructions. The network communication unit can be an interface configured according to standards specified in the communication protocol for network connection communication.
[0154] In this embodiment, the specific functions and effects implemented by the program instructions stored in the computer-readable storage medium can be explained in comparison with other embodiments, and will not be repeated here.
[0155] This specification also provides a computer program product, comprising at least a computer program, which, when executed by a processor, implements the following method steps: initiating a target signature request for target business data to a plurality of second signature terminals; wherein the target signature request carries at least the target business data; generating a signature private key share and a first random number for a first signature terminal according to preset protocol rules; obtaining a signature public key for the target signature of the target business data by performing a first interactive operation involving first intermediate data with the plurality of second signature terminals based on the signature private key share and the first random number of the first signature terminal; wherein the first signature terminal and the second signature terminals store the signature public key; generating the signature public key for the first signature terminal according to preset protocol rules. The second random number is generated; based on the second random number generated by the first signing terminal, the components of the second intermediate data and the third intermediate data of the first signing terminal are obtained by performing a second interactive operation involving the second intermediate data and the third intermediate data with multiple second signing terminals; the corresponding signature parameters are determined based on the target business data; and the first part of the target signature is generated using the signature parameters and the third intermediate data; based on the components of the second intermediate data of the first signing terminal, the signature private key share, and the first part of the target signature, the second part of the target signature is obtained by performing a third interactive operation with multiple second signing terminals; the first part of the signature and the second part of the signature are combined to generate the target signature for the target business data.
[0156] See Figure 6 As shown in the embodiments of this specification, a signature generation apparatus is also provided, which may specifically include the following structural modules:
[0157] The initiating module 601 can be specifically used to initiate a target signature request for target business data to multiple second signature terminals; wherein, the target signature request carries at least the target business data;
[0158] The first generation module 602 can be used to generate the signature private key share and the first random number of the first signature terminal according to the preset protocol rules.
[0159] The first interactive operation module 603 is specifically used to obtain the signature public key of the target signature of the target business data by performing a first interactive operation involving the first intermediate data with multiple second signature terminals based on the signature private key share of the first signature terminal and the first random number; wherein the first signature terminal and the second signature terminals store the signature public key, and the signature public key is used to verify the target signature;
[0160] The second generation module 604 can be used to generate a second random number for the first signature terminal according to preset protocol rules.
[0161] The second interactive operation module 605 can be specifically used to obtain the components of the second intermediate data and the third intermediate data of the first signature terminal by performing a second interactive operation involving the second intermediate data and the third intermediate data with multiple second signature terminals based on the second random number of the first signature terminal.
[0162] The third generation module 606 can be used to determine the corresponding signature parameters based on the target business data; and use the signature parameters and the third intermediate data to generate the first part of the target signature for the target business data.
[0163] The third interactive operation module 607 can be used to obtain the second part of the target signature by performing a third interactive operation with multiple second signature terminals based on the components of the second intermediate data of the first signature terminal, the share of the signature private key, and the first part of the target signature.
[0164] The fourth generation module 608 can be used to combine the first part of the signature and the second part of the signature to generate a target signature for the target business data.
[0165] In some embodiments, when the first interactive operation module 603 is specifically implemented, it can obtain the signature public key of the target signature of the target business data by performing a first interactive operation involving the first intermediate data with multiple second signature terminals based on the signature private key share and the first random number of the first signature terminal: performing a multi-party secure calculation based on a target function with multiple second signature terminals holding the corresponding signature private key and the first random number to obtain a first interactive secret value between the first signature terminal and the second signature terminals; generating a first self-interacting secret value between the first signature terminal and the first signature terminal using the signature private key share and the first random number; generating a first component and a second component of the first intermediate data of the first signature terminal based on the first interactive secret value and the first self-interacting secret value; broadcasting the first component and the second component of the first intermediate data of the first signature terminal; obtaining the first component and the second component of the first intermediate data of the second signature terminal broadcast by the second signature terminal; calculating the first intermediate data based on the first component and the second component of the first intermediate data of the first signature terminal and the first component and the second component of the first intermediate data of the second signature terminal; and generating the signature public key for the target signature based on the first intermediate data.
[0166] In some embodiments, when the first interactive operation module 603 is specifically implemented, it can generate the first component and the second component of the first intermediate data of the first signature terminal according to the first interactive secret value and the first self-intersecting secret value in the following manner: the first component of the first intermediate data of the first signature terminal is generated according to the first interactive secret value and the first self-intersecting secret value; the second component of the first intermediate data of the first signature terminal is generated according to the first random number and the elliptic curve generator.
[0167] In some embodiments, when the second interactive operation module 605 is specifically implemented, it can obtain the components of the second intermediate data and the third intermediate data of the first signature terminal by performing a second interactive operation involving the second intermediate data and the third intermediate data with multiple second signature terminals based on the second random number of the first signature terminal: Based on the second random number and the first random number of the first signature terminal, perform a multi-party secure computation based on an objective function with multiple second signature terminals holding the corresponding second random number and the first random number to obtain a second interactive secret value between the first signature terminal and the second signature terminals; use the second random number and the first random number of the first signature terminal to generate a second self-interacting secret value between the first signature terminal and the first signature terminal; generate the components of the second intermediate data and the third intermediate data of the first signature terminal based on the second interactive secret value and the second self-interacting secret value; and broadcast the components of the third intermediate data of the first signature terminal externally; obtain the components of the third intermediate data of the second signature terminal broadcast by the second signature terminal; and generate the third intermediate data based on the components of the third intermediate data of the first signature terminal and the components of the third intermediate data of the second signature terminal.
[0168] In some embodiments, when the third generation module 606 is specifically implemented, the corresponding signature parameters can be determined based on the target business data in the following manner: using a hash value associated with the user identifier, the target information is determined based on the target business data; and using a corresponding cryptographic function to process the target information, the corresponding signature parameters are determined.
[0169] In some embodiments, when the third interactive operation module 607 is specifically implemented, it can obtain the second part of the target signature by performing a third interactive operation with multiple second signature terminals in the following manner, based on the components of the second intermediate data of the first signature terminal, the share of the signature private key, and the first part of the target signature: generating the components of the second part of the target signature of the first signature terminal based on the components of the second intermediate data of the first signature terminal, the share of the signature private key, and the first part of the target signature; broadcasting the components of the second part of the target signature of the first signature terminal; obtaining the components of the second part of the target signature of the second signature terminal broadcast by the second signature terminal; and combining the components of the second part of the target signature of the first signature terminal and the components of the second part of the target signature of the second signature terminal to generate the second part of the target signature.
[0170] In some embodiments, the target business data includes a target licensing contract for a target user;
[0171] Accordingly, after combining the first part of the signature and the second part of the signature to generate a target signature for the target business data, the device is further used in the following specific implementations: to perform a signature operation on the target business data using the target signature to obtain the signed target business data; and to send the signed target business data to the user terminal of the target user.
[0172] It should be noted that the units, devices, or modules described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. For ease of description, the above devices are described by dividing them into various modules according to their functions. Of course, in implementing this specification, the functions of each module can be implemented in one or more software and / or hardware, or the module that implements the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection between the devices or units shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0173] As can be seen from the above, the signature generation apparatus provided in the embodiments of this specification does not require the introduction and use of zero-knowledge proofs. Without disclosing the complete signature private key of the signing participants, it can efficiently and securely achieve the signature of the target business data, effectively reducing the amount of computation and communication, simplifying the overall signature process, and improving the overall processing efficiency.
[0174] In a specific scenario example, the signature generation method provided in this manual can be used to implement multi-party collaborative SM2 signatures. For detailed implementation procedures, please refer to [link / reference needed]. Figure 7 and Figure 8 This includes the following content.
[0175] In this scenario example, while SM2 signature technology (an algorithm that uses elliptic curve cryptography to implement digital signatures, providing a secure and efficient digital signature method based on the mathematical properties of elliptic curves) is theoretically secure, it may face threats and attacks in practical applications. The most serious security threat is private key leakage. If the private key is leaked, attackers can use it to generate valid signatures and impersonate legitimate users for fraudulent activities. Collaborative signature technology allows multiple parties to jointly generate a key, preventing any single entity or a few colluders from obtaining the complete private key without authorization. Multiple signers jointly complete the signature, ensuring that all parties agree and authorize the content of the signature, preventing a single entity from abusing signature authority. However, this technology is very useful in scenarios requiring multi-party participation and consent, such as multi-party contracts and multi-party authorizations. However, collaborative signature technology may also increase complexity and computational costs, and existing technologies cannot guarantee a balance between security, reliability, and performance when applying these technologies.
[0176] To address the aforementioned problems and their root causes, this scenario example proposes a multi-party collaborative SM2 signature generation method. This method can collaboratively generate complete digital signatures in a multi-party environment, solving or at least partially solving the requirements of existing collaborative signature technologies. It aligns with the need for independent, secure, and controllable development, ensuring secure, reliable, and rapid digital signature generation in a multi-party environment. The method mainly includes the following steps.
[0177] S1: t participants (e.g., the first signing terminal and multiple second signing terminals) randomly generate a signing private key share and a random number (e.g., the first random number), and generate a first intermediate variable (e.g., the first intermediate data) based on their respective private key shares and random numbers using multiplication to addition (e.g., the objective function), and then generate a signing public key through interaction based on the first intermediate variable;
[0178] S2: t participants randomly generate new random numbers (e.g., the second random number), generate second intermediate variables (e.g., second intermediate data, third intermediate data) based on their respective private keys and the new random numbers, and generate the first part of the signature (e.g., the first part of the target signature) through the first interaction;
[0179] S3: t participants generate a second part of the signature (e.g., a component of the second part of the signature) based on the second intermediate variable and the first part of the signature, and generate a complete second part of the signature (e.g., the second part of the signature) through a second interaction.
[0180] In this scenario example, the "multiple parties" refers to a set U of t users participating together. Let's assume the i-th user is P. iWhere t≥2, 1≤i≤t, key pair generation may include the following steps:
[0181] S1: Participant P i Let i ∈ {1, ..., t} and randomly select an integer. As part of your private key, randomly select a random number. Used to calculate the public key;
[0182] S2: Any two participating parties P i P j To interact, it will be by u i and γ j The product value plus u j and γ i The multiplied values become two secret values v ij and v ji The sum of, that is, satisfying u i γ j +u j γ i =v ij +v ji Subsequently, each participating party P i Calculate intermediate variable V i , Γ i And broadcast;
[0183] S3: Each participant P i After receiving the intermediate variables disclosed by other participants, calculate the public key Q.
[0184] In this scenario example, multiple parties collaborate to generate the first and second parts of the signature. The signature generation process includes the following steps:
[0185] S1: Each participant P i Let i ∈ {1, ..., t} and randomly select an integer.
[0186] S2: Any two participating parties P i P j To interact, it will be done by k i and γ j The product value plus k j and γ i The multiplied values become two secret values φ ij and φ ji The sum of, that is, satisfying k i γ j +k j γ i =φ ij +φ ji Subsequently, each participating party P i Calculate intermediate variable Φi And calculate R i broadcast;
[0187] S3: Each participant P i Received R broadcast by other participants i Then, the first part r and the second part s of the signature are calculated by combining the message m. i Then s i Send to other participants;
[0188] S4: Each participant P i Upon receiving the second component s of the signatures from other participants j , j∈[t]\i, calculate the complete second part of the signature.
[0189] Among them, the above-mentioned ideal function for multiplication to addition Specifically, it can be defined as f((a1, b1), (a2, b2)) = (c1, c2), and c1 + c2 = a1b2 + a2b1, where (a1, b1) and (a1, b2) are ideal functions. The input parameters (c1, c2) are ideal functions. The output result.
[0190] In this scenario example, the specific symbols involved are described as follows: P1, P2, P3...: first participant, second participant, third participant...; q: a large prime number; The set of integers consisting of 1, 2, ..., q-1; mod q: modulo q operation; The elliptic curve group of order N; G: elliptic curve Generator; x i Participant P i The signature private key share; Q: digital signature verification public key; k·P: k times the point P on the elliptic curve, where k is a positive integer; H(·): cryptographic function derived from the cryptographic hash function; m: the message to be signed; Z A : Distinguishing identifiers of user A, partial elliptic curve system parameters, and hash values of user A's public key; Ideal function for multiplication to addition.
[0191] In practice, the above-mentioned multi-party collaborative key generation steps include: the signing private keys and random numbers of each of the t signing participants, through an ideal function. Interactive computation of intermediate variables leads to the joint generation of a publicly available signature verification public key Q, denoted as P for each signing participant. i (i∈{1,...,n}).
[0192] See Figure 7As shown, this can be achieved through the following steps:
[0193] 1) Each participant P i Randomly select a random number As a share of the private key for signing, and a random number is randomly selected.
[0194] 2) Any two participants P i P j Interact with the function to convert multiplication to addition using an ideal function. will be by u i and γ j The product value plus u j and γ i The multiplied values become two secret values v ij and v ji The sum of, that is, satisfying u i γ j +u j γ i =v ij +v ji ;
[0195] 3) Each participant P i Calculate v ii =u i ·γ i intermediate variable V i =∑ j∈[t] v ij and Γ i =γ i G, and broadcast V i and Γ i ;
[0196] 4) Each participant P i Received V from other participating parties i and Γ i Then, calculate the intermediate variable V = ∑ i V i , Γ=∑ i Γ i Then calculate Q = V -1 Γ-G serves as the public key for SM2, along with the private key share u. i Store them together safely.
[0197] In practical implementation, the above-mentioned multi-party collaborative signature generation steps include: t signature participants jointly execute the distributed signature generation protocol and pass an ideal function. Interactively calculate intermediate variables to obtain the complete signature value σ = (r, s).
[0198] See Figure 8As shown, this can be achieved through the following steps:
[0199] 1) Each participant P i Let i ∈ {1, ..., t} and randomly select an integer.
[0200] 2) Any two participants P i P j Interact with the function to convert multiplication to addition using an ideal function. will be by k i and γ j Multiply and add k j and γ i The multiplied values become two secret values φ ij and φ ji The sum of, that is, satisfying k i γ j +k j γ i =φ ij +φ ji ;
[0201] 3) Subsequently, each participant P i Calculate φ ii =k i γ i intermediate variable Φ i =∑ i∈[t] φ ij And calculate R i =k i G Broadcast R i ;
[0202] 4) Each participant P i Received R broadcast by other participants i Then, first calculate R = ∑ i R i Then, calculate the signature M=Z based on message m. A ||m and h = H(M), calculate the first part of the signature r = R x +h and the second component s i =Φ i +u i r, then s i Send to other participants;
[0203] 5) Each participant P i Upon receiving the second component s of the signatures from other participants j , j∈[t]\i, calculate the complete second part of the signature s=∑ i s i -r.
[0204] The above scenario examples verify that the signature generation method provided in this specification has higher security compared to conventional signature methods that rely directly on the security of SM2 digital signatures. Furthermore, it does not rely on zero-knowledge proofs from multiple provers, effectively reducing computation and communication overhead. It also enables multi-party collaborative generation of SM2 digital signatures while ensuring the verifiability, extractability, completeness, and privacy of the signature.
[0205] While this specification provides the steps of operation for the methods described in the embodiments or flowcharts, more or fewer steps may be included based on conventional or non-inventive means. The order of steps listed in the embodiments is merely one possible order of execution among many steps and does not represent the only possible order. In actual device or client product execution, the methods shown in the embodiments or drawings may be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment). The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitations, the presence of other identical or equivalent elements in a process, method, product, or apparatus that includes said elements is not excluded. The terms "first," "second," etc., are used to denote names and do not indicate any particular order.
[0206] Those skilled in the art will also know that, besides implementing the controller using purely computer-readable program code, the same functions can be achieved by logically programming the method steps, making the controller function as logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers (PLCs), and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the devices within it used to implement various functions can also be considered structures within that hardware component. Alternatively, the devices used to implement various functions can be considered as both software modules implementing the method and structures within a hardware component.
[0207] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer-readable storage media, including storage devices.
[0208] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this specification can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions of this specification can essentially be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, mobile terminal, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments of this specification.
[0209] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. This specification can be used in numerous general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable electronic devices, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices, etc.
[0210] Although this specification has been described by way of examples, those skilled in the art will recognize that many variations and modifications are possible without departing from the spirit of this specification, and it is intended that the appended claims cover such variations and modifications without departing from the spirit of this specification.
Claims
1. A method for generating a signature, characterized in that, Applied to a first signature terminal, the method includes: A target signature request for target business data is initiated to multiple second signature terminals; wherein the target signature request carries at least the target business data; According to the preset protocol rules, generate the signature private key share and the first random number for the first signature terminal; Based on the signature private key share of the first signature terminal and the first random number, a signature public key for the target signature of the target business data is obtained by performing a first interactive operation involving the first intermediate data with multiple second signature terminals; wherein, the first signature terminal and the second signature terminals store the signature public key; According to the preset protocol rules, a second random number is generated for the first signature terminal; Based on the second random number of the first signature terminal, the components of the second intermediate data and the third intermediate data of the first signature terminal are obtained by performing a second interactive operation involving the second intermediate data and the third intermediate data with multiple second signature terminals. Based on the target business data, the corresponding signature parameters are determined; and using the signature parameters and the third intermediate data, the first part of the target signature about the target business data is generated. Based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature, the second part of the target signature is obtained by performing a third interactive operation with multiple second signing terminals. By combining the first part of the signature and the second part of the signature, a target signature about the target business data is generated.
2. The method according to claim 1, characterized in that, Based on the signature private key share of the first signature terminal and the first random number, a signature public key for the target signature of the target business data is obtained through a first interactive operation involving the first intermediate data with multiple second signature terminals, including: Based on the signature private key share and the first random number of the first signature terminal, a multi-party secure computation based on an objective function is performed with multiple second signature terminals holding the corresponding signature private key and the first random number to obtain the first interactive secret value between the first signature terminal and the second signature terminals. Using the signature private key share of the first signature terminal and the first random number, a first self-interchange secret value between the first signature terminal and the first signature terminal is generated; Based on the first interactive secret value and the first self-interacting secret value, generate the first component and the second component of the first intermediate data of the first signature terminal; and broadcast the first component and the second component of the first intermediate data of the first signature terminal to the outside world. Obtain the first and second components of the first intermediate data of the second signature terminal broadcast by the second signature terminal; calculate the first intermediate data based on the first and second components of the first intermediate data of the first signature terminal and the first and second components of the first intermediate data of the second signature terminal. A signature public key for the target signature is generated based on the first intermediate data.
3. The method according to claim 2, characterized in that, Based on the first interactive secret value and the first self-interacting secret value, the first component and the second component of the first intermediate data of the first signature terminal are generated, including: Based on the first interactive secret value and the first self-intersecting secret value, a first component of the first intermediate data of the first signature terminal is generated; based on the first random number and the elliptic curve generator, a second component of the first intermediate data of the first signature terminal is generated.
4. The method according to claim 1, characterized in that, Based on the second random number from the first signing terminal, and through a second interactive operation involving second intermediate data and third intermediate data with multiple second signing terminals, the components of the second intermediate data and the third intermediate data of the first signing terminal are obtained, including: Based on the second random number and the first random number of the first signing terminal, a multi-party secure computation based on an objective function is performed with multiple second signing terminals holding the corresponding second random number and the first random number to obtain the second interactive secret value between the first signing terminal and the second signing terminal. Using the second random number and the first random number of the first signing terminal, a second self-intersecting secret value between the first signing terminal and the first signing terminal is generated; Based on the second interactive secret value and the second self-interacting secret value, the second intermediate data component and the third intermediate data component of the first signing terminal are generated; and the third intermediate data component of the first signing terminal is broadcast externally. Obtain the component of the third intermediate data broadcast by the second signature terminal; The third intermediate data is generated based on the components of the third intermediate data from the first signing terminal and the components of the third intermediate data from the second signing terminal.
5. The method according to claim 1, characterized in that, Based on the target business data, determine the corresponding signature parameters, including: Using a hash value associated with the user identifier, the target information is determined based on the target business data; By processing the target information using the corresponding cryptographic functions, the corresponding signature parameters are determined.
6. The method according to claim 1, characterized in that, Based on the components of the second intermediate data from the first signing terminal, the share of the signing private key, and the first part of the target signature, a second part of the target signature is obtained through a third interactive operation with multiple second signing terminals, including: Based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature, the components of the second part of the target signature of the first signing terminal are generated. The second part of the target signature of the broadcasting terminal is a component of the signature. Obtain the second part of the target signature of the second signature terminal broadcast by the second signature terminal; The second part of the target signature is generated by combining the components of the second part of the target signature from the first signing terminal and the second part of the target signature from the second signing terminal.
7. The method according to claim 1, characterized in that, The target business data includes target authorization contracts for target users; Accordingly, after combining the first part of the signature and the second part of the signature to generate a target signature for the target business data, the method further includes: The target business data is signed using the target signature to obtain the signed target business data. The signed target business data is sent to the target user's user terminal.
8. A signature generation apparatus, characterized in that, Applied to a first signature terminal, the device includes: The initiation module is used to initiate a target signature request for target business data to multiple second signature terminals; wherein the target signature request carries at least the target business data; The first generation module is used to generate the signature private key share and the first random number of the first signature terminal according to the preset protocol rules. The first interactive operation module is used to obtain the signature public key of the target signature of the target business data by performing a first interactive operation involving the first intermediate data with multiple second signature terminals based on the signature private key share of the first signature terminal and the first random number; wherein the first signature terminal and the second signature terminals store the signature public key, and the signature public key is used to verify the target signature; The second generation module is used to generate a second random number for the first signature terminal according to preset protocol rules; The second interactive calculation module is used to obtain the components of the second intermediate data and the third intermediate data of the first signature terminal by performing a second interactive calculation involving the second intermediate data and the third intermediate data with multiple second signature terminals based on the second random number of the first signature terminal. The third generation module is used to determine the corresponding signature parameters based on the target business data; and to generate the first part of the target signature about the target business data using the signature parameters and the third intermediate data. The third interactive operation module is used to obtain the second part of the target signature by performing a third interactive operation with multiple second signature terminals based on the components of the second intermediate data of the first signing terminal, the share of the signing private key, and the first part of the target signature. The fourth generation module is used to combine the first part of the signature and the second part of the signature to generate a target signature for the target business data.
9. A server, characterized in that, It includes a processor and a memory for storing processor-executable instructions, wherein the processor, when executing the instructions, implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, It stores computer instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1 to 7.