Collaborative signature method and related apparatus

By using a collaborative signature method, both the mobile device and the collaborating device retain a portion of their private keys. The signature is generated collaboratively through elliptic curve point calculation and random number generation, which solves the information security risk of single-point leakage in traditional digital signatures and improves the protection of private keys and the security of the signature.

CN120223318BActive Publication Date: 2026-02-17ORIGIN QUANTUM COMPUTING TECH (HEFEI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510243957.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-03
Publication Date
2026-02-17
Estimated Expiration
2045-03-03

AI Technical Summary

Technical Problem

In traditional digital signature schemes, the private key is held by a single entity, posing a single point of leakage risk to information security.

Method used

The collaborative signature method is adopted, where the mobile terminal and the collaborating terminal each hold a portion of the private key. The final signature is generated collaboratively through elliptic curve point calculation and random number generation, ensuring that the private key is stored in a distributed manner.

Benefits of technology

It improves the protection of private keys, prevents information security risks caused by single point of leakage, and enhances the security of signatures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120223318B_ABST
    Figure CN120223318B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a kind of cooperation signature method and related device, and mobile terminal is according to first random number, the sub private key of mobile terminal, public key and elliptic curve base point, and sends to cooperation end to calculate intermediate elliptic curve point;Cooperation end is according to intermediate elliptic curve point, second random number, the sub private key of cooperation end, public key and elliptic curve base point, and calculate final elliptic curve point, and according to the final elliptic curve point, calculate final target signature validity verification message and intermediate target signature integrity verification message and send to mobile terminal;Mobile terminal is according to the private key of mobile terminal, first random number, final target signature validity verification message and intermediate target signature integrity verification message, and calculate final target signature integrity verification message, and final target signature validity verification message and integrity verification message are as target signature.Using the embodiments of the present application, the protection ability to private key can be improved, to prevent the information security risk caused by single point leakage.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of digital signature, and in particular to a collaborative signature method and related device. BACKGROUND

[0002] A digital signature is an electronic signature used to verify the authenticity and integrity of digital information. Digital signature is one of the important cryptographic primitives, which can provide functions similar to handwritten signatures in digital form, such as identity authentication, anti-fraud, tamper-proofing, etc. It has important applications in electronic commerce, electronic government affairs and blockchain services, etc. There are various technical routes for the design of digital signature schemes, such as constructing signature schemes based on prime factorization and solving discrete logarithm problems, etc. In traditional digital signature schemes, the private key is completely held and used by a single entity, and once the security measures of the private key holder are not strict, there is a risk of single-point leakage of information. SUMMARY

[0003] The embodiments of the present application provide a collaborative signature method and related device, which can improve the protection capability of the private key and prevent information security risks caused by single-point leakage.

[0004] The first aspect of the embodiments of the present application provides a collaborative signature method applied to a collaboration end, and the method comprises:

[0005] receiving an intermediate elliptic curve point sent by a mobile end, wherein the intermediate elliptic curve point is calculated by the mobile end according to a first random number, a sub-private key of the mobile end, a public key and an elliptic curve base point;

[0006] calculating a final elliptic curve point according to the intermediate elliptic curve point, a second random number, a sub-private key of the collaboration end, the public key and the elliptic curve base point;

[0007] calculating a final target signature validity verification message and an intermediate target signature integrity verification message according to the final elliptic curve point;

[0008] sending the final target signature validity verification message and the intermediate target signature integrity verification message to the mobile end, so that the mobile end determines a target signature according to the final target signature validity verification message and the intermediate target signature integrity verification message, wherein the target signature comprises the final target signature validity verification message and the final target signature integrity verification message.

[0009] Optionally, the calculation of the final elliptic curve point according to the intermediate elliptic curve point, the second random number, the sub-private key of the collaboration end, the public key and the elliptic curve base point comprises:

[0010] calculating the final elliptic curve point according to a first formula, the first formula being: Q=d2k2[*](P+G)+Q1, Q being the final elliptic curve point, Q1 being the intermediate elliptic curve point, k2 being the second random number, d2 being the sub-private key of the cooperation end, P being the public key, and G being the elliptic curve base point.

[0011] Optionally, the calculating the final target signature validity verification message and the intermediate target signature integrity verification message according to the final elliptic curve point comprises:

[0012] calculating the final target signature validity verification message according to the abscissa of the final elliptic curve point and the hash value of the message to be verified, the hash value of the message to be verified being sent by the mobile end, and the message to be verified being obtained by splicing the message to be signed and the identity of the mobile end and the cooperation end;

[0013] calculating the intermediate target signature integrity verification message according to the sub-private key of the cooperation end and the final target signature validity verification message.

[0014] Optionally, the calculating the final target signature validity verification message according to the abscissa of the final elliptic curve point and the hash value of the message to be verified comprises:

[0015] calculating the final target signature validity verification message according to a second formula, the second formula being: r=(x1+e)mod q, r being the final target signature validity verification message, x1 being the abscissa of the final elliptic curve point, e being the hash value of the message to be verified, and q being the number of elements in the finite field of the elliptic curve.

[0016] Optionally, the calculating the intermediate target signature integrity verification message according to the sub-private key of the cooperation end and the final target signature validity verification message comprises:

[0017] calculating the intermediate target signature integrity verification message according to a third formula, the third formula being: s1=d2(r+k2)mod q, s1 being the intermediate target signature integrity verification message.

[0018] Optionally, the method further comprises:

[0019] receiving the first part of the public key sent by the mobile end, the first part of the public key being calculated by the mobile end according to the pre-sub-private key of the mobile end;

[0020] calculating the public key according to the first part of the public key and the pre-sub-private key of the cooperation end, and calculating the second part of the public key according to the pre-sub-private key of the cooperation end;

[0021] sending the second partial public key to the mobile terminal, so that the mobile terminal calculates the public key according to the second partial public key and a pre-sub-private key of the mobile terminal.

[0022] Optionally, the method further comprises:

[0023] receiving a first ciphertext sent by the mobile terminal, the first ciphertext being encrypted by the mobile terminal from a pre-sub-private key of the mobile terminal;

[0024] randomly generating a sub-private key of the cooperation terminal;

[0025] calculating a second ciphertext according to the sub-private key of the cooperation terminal and the first ciphertext;

[0026] sending the second ciphertext to the mobile terminal, so that the mobile terminal decrypts the second ciphertext to obtain the sub-private key of the mobile terminal.

[0027] Optionally, before receiving the intermediate elliptic curve point sent by the mobile terminal, the method further comprises:

[0028] receiving a login password sent by the mobile terminal, the login password being set by the mobile terminal when registering with the cooperation terminal;

[0029] querying a user database to compare whether the login password is correct;

[0030] if the login password is correct, sending a comparison success message to the mobile terminal.

[0031] Embodiment two of the present application provides a cooperation signature method, applied to a mobile terminal, and the method comprises:

[0032] generating a first random number;

[0033] calculating an intermediate elliptic curve point according to the first random number, a sub-private key, a public key and an elliptic curve base point of the mobile terminal;

[0034] sending the intermediate elliptic curve point to a cooperation terminal;

[0035] receiving a final target signature validity verification message and an intermediate target signature integrity verification message sent by the mobile terminal, the final target signature validity verification message and the intermediate target signature integrity verification message being calculated by the mobile terminal according to the intermediate elliptic curve point;

[0036] calculating a final target signature integrity verification message according to the private key of the mobile terminal, the first random number, the final target signature validity verification message and the intermediate target signature integrity verification message;

[0037] The final target signature validity verification message and the final target signature integrity verification message are taken as a target signature.

[0038] Optionally, the final target signature integrity verification message is calculated according to the private key of the mobile terminal, the first random number, the final target signature validity verification message and the intermediate target signature integrity verification message, and the method comprises the following steps of:

[0039] The final target signature integrity verification message is calculated according to a fourth formula, and the fourth formula is s=(d1(r+k1)+s1-r)mod q, wherein s is the final target signature integrity verification message, d1 is the private key of the mobile terminal, k1 is the first random number, r is the final target signature validity verification message, s1 is the intermediate target signature integrity verification message, and q is the number of elements in an elliptic curve finite field.

[0040] Optionally, before the first random number is generated, the method further comprises the following steps of:

[0041] The to-be-signed message is spliced with the identity of the mobile terminal and the identity of the cooperative terminal to obtain a to-be-verified message.

[0042] The hash value of the to-be-verified message is calculated.

[0043] The hash value of the to-be-verified message and a login password set by the mobile terminal when registering with the cooperative terminal are sent to the cooperative terminal, so that the cooperative terminal queries a user database to compare whether the login password is correct.

[0044] Optionally, the intermediate elliptic curve point is calculated according to the first random number, the sub-private key of the mobile terminal, the public key and the elliptic curve base point, and the method comprises the following steps of:

[0045] The intermediate elliptic curve point is calculated according to a fifth formula, and the fifth formula is Q1=d1k1[*](P+G), wherein Q1 is the intermediate elliptic curve point, k1 is the first random number, d1 is the sub-private key of the mobile terminal, P is the public key, and G is the elliptic curve base point.

[0046] Optionally, the method further comprises the following steps of:

[0047] The pre-sub-private key of the mobile terminal is randomly generated.

[0048] The first part of the public key is calculated according to the pre-sub-private key of the mobile terminal.

[0049] The first part of the public key is sent to the cooperative terminal, so that the cooperative terminal calculates the public key according to the first part of the public key and the pre-sub-private key of the mobile terminal.

[0050] receive a second partial public key sent by the cooperation end, the second partial public key being calculated by the cooperation end according to a pre-sub-private key of the cooperation end;

[0051] calculate the public key according to the second partial public key and a pre-sub-private key of the mobile end.

[0052] Optionally, the method further comprises:

[0053] encrypt the pre-sub-private key of the mobile end to obtain a first ciphertext;

[0054] send the first ciphertext to the cooperation end, so that the cooperation end calculates a second ciphertext according to the first ciphertext and a sub-private key of the cooperation end;

[0055] receive the second ciphertext sent by the cooperation end;

[0056] decrypt the second ciphertext to obtain the sub-private key of the mobile end.

[0057] Embodiment third aspect of the application provides a kind of cooperation signature device, applied to cooperation end, the device comprises:

[0058] communication unit, for receiving the intermediate elliptic curve point sent by mobile end, the intermediate elliptic curve point is calculated by the mobile end according to first random number, the sub-private key of the mobile end, public key and elliptic curve base point;

[0059] elliptic curve point calculation unit, for calculating final elliptic curve point according to the intermediate elliptic curve point, second random number, the sub-private key of the cooperation end, the public key and the elliptic curve base point;

[0060] signature information calculation unit, for calculating final target signature validity verification message and intermediate target signature integrity verification message according to the final elliptic curve point;

[0061] the communication unit, it is further used to send the final target signature validity verification message and intermediate target signature integrity verification message to the mobile end, so that the mobile end determines target signature according to the final target signature validity verification message and intermediate target signature integrity verification message, and the target signature includes the final target signature validity verification message and final target signature integrity verification message.

[0062] Embodiment fourth aspect of the application provides a kind of cooperation signature device, applied to mobile end, the device comprises:

[0063] random number generation unit, for generating first random number;

[0064] an elliptic curve point calculation unit configured to calculate an intermediate elliptic curve point according to the first random number, a sub-private key, a public key of the mobile terminal, and an elliptic curve base point;

[0065] a communication unit configured to send the intermediate elliptic curve point to the cooperative terminal;

[0066] the communication unit is further configured to receive a final target signature validity verification message and an intermediate target signature integrity verification message sent by the mobile terminal, the final target signature validity verification message and the intermediate target signature integrity verification message being calculated by the mobile terminal according to the intermediate elliptic curve point;

[0067] a signature information calculation unit configured to calculate a final target signature integrity verification message according to a private key of the mobile terminal, the first random number, the final target signature validity verification message, and the intermediate target signature integrity verification message;

[0068] a signature determination unit configured to take the final target signature validity verification message and the final target signature integrity verification message as a target signature.

[0069] The fifth aspect of the embodiments of the present application provides an electronic device, including a processor and a memory.

[0070] The processor and the memory are connected, wherein the memory is configured to store a computer program, and the processor is configured to invoke the computer program to execute the method in the first aspect or the second aspect of the embodiments of the present application.

[0071] The sixth aspect of the embodiments of the present application provides a computer readable storage medium, which stores a computer program, and the computer program includes program instructions, which, when executed by a processor, execute the method in the first aspect or the second aspect of the embodiments of the present application.

[0072] In the embodiments of the present application, the mobile terminal calculates an intermediate elliptic curve point according to a first random number, a sub-private key, a public key of the mobile terminal, and an elliptic curve base point, and sends the intermediate elliptic curve point to the cooperative terminal; the cooperative terminal calculates a final elliptic curve point according to the intermediate elliptic curve point, a second random number, a sub-private key, a public key of the cooperative terminal, and the elliptic curve base point, and calculates a final target signature validity verification message and an intermediate target signature integrity verification message according to the final elliptic curve point, and sends the final target signature validity verification message and the intermediate target signature integrity verification message to the mobile terminal; the mobile terminal calculates a final target signature integrity verification message according to a private key of the mobile terminal, the first random number, the final target signature validity verification message, and the intermediate target signature integrity verification message, and takes the final target signature validity verification message and the final target signature integrity verification message as a target signature.

[0073] It can be seen that in the embodiment of the present application, the mobile terminal and the cooperation terminal each keep their own private key, and then cooperate to complete the target signature according to their own private key. Since the mobile terminal and the cooperation terminal each hold a part of the private key, the theft of the private key of any one end will not cause the whole target signature to lose credibility, thereby improving the protection ability of the private key and preventing information security risks caused by single-point leakage. BRIEF DESCRIPTION OF DRAWINGS

[0074] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0075] Figure 1 An example system block diagram of the cooperative signature provided by an embodiment of the present application is shown;

[0076] Figure 2 A flowchart of the cooperative signature method provided by an embodiment of the present application is shown;

[0077] Figure 3 A flowchart of the communication security verification method provided by an embodiment of the present application is shown;

[0078] Figure 4 A flowchart of the public key splitting method provided by an embodiment of the present application is shown;

[0079] Figure 5 A flowchart of the private key splitting method provided by an embodiment of the present application is shown;

[0080] Figure 6 A structure diagram of the cooperative signature device provided by an embodiment of the present application is shown;

[0081] Figure 7 A structure diagram of the cooperative signature device provided by another embodiment of the present application is shown;

[0082] Figure 8 A structure diagram of the computer device provided by an embodiment of the present application is shown. DETAILED DESCRIPTION

[0083] With reference to the drawings of the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments of the present application. According to the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts are within the scope of the present application.

[0084] Please refer to Figure 1 , which shows an example system block diagram of the collaborative signature provided by an embodiment of the present application. The running environment can include a mobile terminal 10 and a collaboration terminal 20.

[0085] The mobile terminal 10 includes but is not limited to a mobile phone, a computer, a smart voice interaction device, a smart home appliance, a vehicle-mounted terminal, a game console, an e-book reader, a multimedia playback device, a wearable device, and the like. The mobile terminal 10 can install a client of an application program. The collaboration terminal 20, for example, can be a server, providing a digital signature collaboration service.

[0086] The mobile terminal 10 and the collaboration terminal 20 can communicate with each other using any suitable network protocol 30, including network protocols that have not been developed as of the filing date of the present application. The network protocol can include, for example, a TCP / IP protocol, a UDP / IP protocol, an HTTP protocol, an HTTPS protocol, and the like. Of course, the network protocol can also include, for example, a RPC protocol (Remote Procedure Call Protocol) and a REST protocol (Representational State Transfer) used on top of the above-mentioned protocols.

[0087] It can be understood that each data item or each type of combined data item in the present application is essentially data obtained by combining and calculating different types of parameters, which is different from the source data directly sent or received. The application of such data in the data interaction process can effectively prevent the source data from being intercepted and obtained or derived in the transmission process. In addition, in one or more embodiments of the present application, each type of data expressed by a parameter expression is actually the result data calculated by applying the parameter expression. The numerical value data corresponding to the numerical value is also transmitted in the interaction process, rather than the expression itself.

[0088] Please refer to Figure 2 , which shows a flowchart of the collaborative signature method provided by an embodiment of the present application. The method can be applied in a computer device, which refers to an electronic device with data calculation and processing capability, such as the mobile terminal 10 and the collaboration terminal 20 shown in Figure 1 . The method can include the following steps:

[0089] Step 201: The mobile terminal 10 generates a first random number.

[0090] Step 202: The mobile terminal 10 calculates an intermediate elliptic curve point according to the first random number, the mobile terminal's sub-private key, public key and elliptic curve base point.

[0091] Specifically, the intermediate elliptic curve point is calculated according to the first random number, the mobile terminal's sub-private key, public key and elliptic curve base point, including:

[0092] The intermediate elliptic curve point is calculated according to a fifth formula: Q1=d1k1[*](P+G), wherein Q1 is the intermediate elliptic curve point, k1 is the first random number, d1 is the mobile terminal's sub-private key, P is the public key, and G is the elliptic curve base point.

[0093] The elliptic curve base point is a point on the elliptic curve and is the basis for constructing an elliptic curve cryptosystem.

[0094] Step 203: The mobile terminal 10 sends the intermediate elliptic curve point to the cooperating terminal.

[0095] Step 204: The cooperating terminal 20 calculates a final elliptic curve point according to the intermediate elliptic curve point, second random number, the cooperating terminal's sub-private key, the public key and the elliptic curve base point.

[0096] The first random number k1 and the second random number k2 can be pseudo-random numbers or true random numbers. The pseudo-random numbers are generated by a deterministic algorithm, and the true random numbers are obtained by physical processes such as quantum mechanical phenomena or environmental noise.

[0097] Specifically, the final elliptic curve point is calculated according to the intermediate elliptic curve point, second random number, the cooperating terminal's sub-private key, the public key and the elliptic curve base point, including:

[0098] The final elliptic curve point is calculated according to a first formula: Q=d2k2[*](P+G)+Q1, wherein Q is the final elliptic curve point, k2 is the second random number, and d2 is the cooperating terminal's sub-private key.

[0099] Step 205: The cooperating terminal 20 calculates a final target signature validity verification message and an intermediate target signature integrity verification message according to the final elliptic curve point.

[0100] Generally, a signature has two parts, one part for verifying the validity of the signature, usually represented by r, and the other part for verifying the integrity of the signature, usually represented by s. The final one is the final value that needs to be determined, and the r and s of the target signature are used. The intermediate one is the intermediate value, which is only used to determine the final value.

[0101] Specifically, the final target signature validity verification message and the intermediate target signature integrity verification message are calculated according to the final elliptic curve point, and the final target signature validity verification message is calculated according to the abscissa of the final elliptic curve point and the hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperative terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperative terminal.

[0102] Specifically, the final target signature validity verification message and the intermediate target signature integrity verification message are calculated according to the final elliptic curve point, and the final target signature validity verification message is calculated according to the abscissa of the final elliptic curve point and the hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperative terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperative terminal.

[0103] The intermediate target signature integrity verification message is calculated according to the sub-private key of the cooperative terminal and the final target signature validity verification message.

[0104] Specifically, the final target signature validity verification message and the intermediate target signature integrity verification message are calculated according to the final elliptic curve point, and the final target signature validity verification message is calculated according to the abscissa of the final elliptic curve point and the hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperative terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperative terminal.

[0105] The final target signature validity verification message is calculated according to a second formula, the second formula being r = (x1 + e) mod q, r being the final target signature validity verification message, x1 being the abscissa of the final elliptic curve point, e being the hash value of the message to be verified, and q being the number of elements in the elliptic curve finite field.

[0106] Specifically, the final target signature validity verification message and the intermediate target signature integrity verification message are calculated according to the final elliptic curve point, and the final target signature validity verification message is calculated according to the abscissa of the final elliptic curve point and the hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperative terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperative terminal.

[0107] The intermediate target signature integrity verification message is calculated according to a third formula, the third formula being s1 = d2(r + k2) mod q, s1 being the intermediate target signature integrity verification message.

[0108] Step 206: The cooperative terminal 20 sends the final target signature validity verification message and the intermediate target signature integrity verification message to the mobile terminal.

[0109] Step 207: The mobile terminal 10 calculates a final target signature integrity verification message according to the private key of the mobile terminal, the first random number, the final target signature validity verification message and the intermediate target signature integrity verification message.

[0110] Specifically, the final target signature validity verification message and the intermediate target signature integrity verification message are calculated according to the final elliptic curve point, and the final target signature validity verification message is calculated according to the abscissa of the final elliptic curve point and the hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperative terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperative terminal.

[0111] The final target signature integrity verification message is calculated according to a fourth formula: s = (d1(r+k1) + s1-r) mod q, where s is the final target signature integrity verification message.

[0112] Step 208: The mobile terminal 10 sends the final target signature validity verification message and the final target signature integrity verification message as the target signature.

[0113] In the embodiment of the present application, the mobile terminal calculates an intermediate elliptic curve point according to the first random number, the sub-private key of the mobile terminal, the public key and the elliptic curve base point, and sends the intermediate elliptic curve point to the cooperative terminal; the cooperative terminal calculates a final elliptic curve point according to the intermediate elliptic curve point, the second random number, the sub-private key of the cooperative terminal, the public key and the elliptic curve base point, and calculates a final target signature validity verification message and an intermediate target signature integrity verification message according to the final elliptic curve point, and sends the final target signature validity verification message and the intermediate target signature integrity verification message to the mobile terminal; the mobile terminal calculates a final target signature integrity verification message according to the private key of the mobile terminal, the first random number, the final target signature validity verification message and the intermediate target signature integrity verification message, and sends the final target signature validity verification message and the final target signature integrity verification message as the target signature.

[0114] It can be seen that, in the embodiment of the present application, the mobile terminal and the cooperative terminal each keep their own private key, and then cooperate to complete the target signature according to their own private key. Since the mobile terminal and the cooperative terminal each hold a part of the private key, the private key of either end cannot be stolen to cause the target signature to lose credibility, thereby improving the protection capability of the private key and preventing information security risks caused by single-point leakage.

[0115] Further, before the mobile terminal 10 sends the intermediate elliptic curve point to the cooperative terminal, information verification can be performed first to ensure the security of the communication. Please refer to Figure 3 which shows a flowchart of a communication security verification method provided by an embodiment of the present application. The method can be applied in a computer device, and the computer device is an electronic device with data calculation and processing capability, for example, the execution subject of each step can be the mobile terminal 10 and the cooperative terminal 20 device shown in Figure 1 . The method can include the following steps:

[0116] Step 301: The mobile terminal 10 concatenates the message to be signed and the identity of the mobile terminal and the cooperative terminal to obtain a verification message.

[0117] Step 302: The mobile terminal 10 calculates the hash value of the verification message.

[0118] Step 303: The mobile terminal 10 sends the hash value of the verification message and the login password set when the mobile terminal registers with the cooperative terminal to the cooperative terminal.

[0119] Step 304: The cooperation end 20 queries the user database to compare whether the login password is correct.

[0120] Step 305: If the login password is correct, the cooperation end 20 sends a comparison success message to the mobile end.

[0121] It should be noted that the mobile end 10 can send the hash value of the message to be verified and the login password set by the mobile end when registering with the cooperation end as two pieces of information to the cooperation end, or can splice the hash value of the message to be verified and the login password set by the mobile end when registering with the cooperation end into one piece of information and send it to the cooperation end, which is not limited here.

[0122] It can be seen that in the embodiment of the application, the mobile end compares the login password before cooperating with the cooperation end to sign, which can improve the security of the cooperative signature; at the same time, the mobile end sends the hash value of the message to be verified and the login password at the same time, the hash value of the message to be verified can be directly used for subsequent cooperative signature, reducing the number of information interaction, thereby improving the speed of cooperative signature.

[0123] Further, please refer to Figure 4 , which shows a flowchart of a public key splitting method provided by an embodiment of the application. The method can be applied in a computer device, and the computer device mentioned above refers to an electronic device with data calculation and processing capability, such as the mobile end 10 and the cooperation end 20 device shown in Figure 1 . The method can include the following steps:

[0124] Step 401: The mobile end 10 randomly generates a pre-sub-private key of the mobile end.

[0125] Step 402: The mobile end 10 calculates a first part of the public key according to the pre-sub-private key of the mobile end.

[0126] Step 403: The mobile end 10 sends the first part of the public key to the cooperation end.

[0127] Step 404: The cooperation end 20 randomly generates a pre-sub-private key of the cooperation end.

[0128] Step 405: The cooperation end 20 calculates a public key according to the first part of the public key and the pre-sub-private key of the cooperation end, and calculates a second part of the public key according to the pre-sub-private key of the cooperation end.

[0129] Step 406: The cooperation end 20 sends the second part of the public key to the mobile end.

[0130] Step 407: The cooperation end 20 calculates the public key according to the second part of the public key and the pre-sub-private key of the mobile end.

[0131] Wherein, the pre-sub-private key is not a formal sub-private key.

[0132] Specifically, the calculation of the first part of the public key according to the pre-sub-private key of the mobile end comprises:

[0133] The first part of the public key is calculated according to the sixth formula: P1=d 1 1 -1 [*]G, P1 is the first part of the public key, d1 ′ is the pre-sub-private key of the mobile end.

[0134] Similarly, the calculation of the second part of the public key according to the pre-sub-private key of the cooperation end comprises:

[0135] The intermediate elliptic curve point is calculated according to the seventh formula: P2=d ′ 2 -1 [*]G, P2 is the second part of the public key, d2 ′ is the pre-sub-private key of the cooperation end.

[0136] Specifically, the calculation of the public key according to the first part of the public key and the pre-sub-private key of the cooperation end comprises:

[0137] The public key is calculated according to the eighth formula: P=d ′ 1 -1 [*]P2-G.

[0138] It can be seen that in the embodiments of the present application, the mobile end and the cooperation end each randomly generate their own pre-sub-private key, and then calculate their own part of the public key according to the sub-private key, and send the part of the public key to the other party, and the other party can calculate the same public key according to the part of the public key of the other party and the pre-sub-private key of the other party, thereby realizing the splitting of the public key and improving the security protection of the key.

[0139] Further, please refer to Figure 5 , which shows the flowchart of the private key splitting method provided by an embodiment of the present application. The method can be applied in a computer device, and the computer device mentioned above refers to an electronic device with data calculation and processing capability, such as the mobile end 10 and the cooperation end 20 device shown in Figure 1 . The method can include the following steps:

[0140] Step 501: The mobile end 10 encrypts the pre-sub-private key of the mobile end to obtain the first ciphertext.

[0141] Step 502: the mobile terminal 10 sends the first ciphertext to the collaboration terminal.

[0142] Step 503: the collaboration terminal 20 randomly generates a sub-private key of the collaboration terminal.

[0143] Step 504: the collaboration terminal 20 calculates a second ciphertext according to the sub-private key of the collaboration terminal and the first ciphertext.

[0144] Step 505: the collaboration terminal 20 sends the second ciphertext to the mobile terminal.

[0145] Step 506: the mobile terminal 10 decrypts the second ciphertext to obtain a sub-private key of the mobile terminal.

[0146] For example, the encryption algorithm can be Enc pk , the decryption algorithm can be Dec pk , the mobile terminal 10 encrypts the pre-sub-private key of the mobile terminal Enc pk (d1 ′ ) to obtain the first ciphertext c1; the collaboration terminal 20 calculates the second ciphertext c ′ 2 according to the sub-private key d2 of the collaboration terminal and the first ciphertext c1, and the calculation method can be c2=d2⊙c1, the mobile terminal 10 decrypts the second ciphertext to obtain the sub-private key of the mobile terminal Dec sk (c2 ′ ).

[0147] It can be seen that in the embodiment of the application, the collaboration terminal randomly generates its own sub-private key, and calculates the second ciphertext according to the sub-private key of the collaboration terminal and the first ciphertext encrypted by the pre-sub-private key of the mobile terminal, and the mobile terminal decrypts the second ciphertext to obtain the sub-private key on its side, thereby realizing the splitting of the private key and improving the security protection of the key.

[0148] Figure 6 A structure diagram of a collaboration signature device provided by an embodiment of the application is shown. The device is applied to a collaboration terminal and includes:

[0149] A communication unit 601 is configured to receive an intermediate elliptic curve point sent by a mobile terminal, wherein the intermediate elliptic curve point is calculated by the mobile terminal according to a first random number, a sub-private key of the mobile terminal, a public key and an elliptic curve base point.

[0150] An elliptic curve point calculation unit 602 is configured to calculate a final elliptic curve point according to the intermediate elliptic curve point, a second random number, a sub-private key of the collaboration terminal, the public key and the elliptic curve base point.

[0151] The signature information calculation unit 603 is configured to calculate a final target signature validity verification message and an intermediate target signature integrity verification message according to the final elliptic curve point.

[0152] The communication unit 601 is further configured to send the final target signature validity verification message and the intermediate target signature integrity verification message to the mobile terminal, so that the mobile terminal determines a target signature according to the final target signature validity verification message and the intermediate target signature integrity verification message, and the target signature includes the final target signature validity verification message and the final target signature integrity verification message.

[0153] Figure 7 A structural schematic diagram of a cooperative signature device provided by an embodiment of the present application is shown. The device is applied to a mobile terminal and includes:

[0154] The random number generation unit 701 is configured to generate a first random number.

[0155] The elliptic curve point calculation unit 702 is configured to calculate an intermediate elliptic curve point according to the first random number, a sub-private key, a public key and an elliptic curve base point of the mobile terminal.

[0156] The communication unit 703 is configured to send the intermediate elliptic curve point to a cooperative terminal.

[0157] The communication unit 703 is further configured to receive a final target signature validity verification message and an intermediate target signature integrity verification message sent by the mobile terminal, and the final target signature validity verification message and the intermediate target signature integrity verification message are calculated by the mobile terminal according to the intermediate elliptic curve point.

[0158] The signature information calculation unit 704 is configured to calculate a final target signature integrity verification message according to a private key, the first random number, the final target signature validity verification message and the intermediate target signature integrity verification message of the mobile terminal.

[0159] The signature determination unit 705 is configured to take the final target signature validity verification message and the final target signature integrity verification message as a target signature.

[0160] Figure 8 A structural schematic diagram of a computer device provided by an embodiment of the present application is shown, which includes a memory and a processor. The memory stores a computer program, and the processor implements the function of the computer system of the cooperative signature method in any of the above embodiments when executing the computer program.

[0161] The embodiment of the present application further provides a computer readable storage medium, which stores a computer program. The computer program, when executed by a computer, causes the computer to perform the function of the computer system of the collaborative signature method in any of the above embodiments.

[0162] The embodiment of the present application further provides a computer program product comprising instructions which, when executed by a computer, cause the computer to perform the function of the computer system of the collaborative signature method in any of the above embodiments.

[0163] It can be understood that the specific examples in the present application are only to help those skilled in the art better understand the embodiments of the present application, and not to limit the scope of the present application.

[0164] It can be understood that in various embodiments of the present application, the size of the serial number of each process does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0165] It can be understood that the various embodiments described in the present application can be implemented alone or in combination, and the embodiments of the present application do not limit this.

[0166] Unless otherwise specified, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art of the present application. The terms used in the present application are only for the purpose of describing the specific embodiments and are not intended to limit the scope of the present application. The term "and / or" used in the present application includes any and all combinations of one or more related listed items. The singular forms "a", "an" and "the" used in the embodiments of the present application and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise.

[0167] It can be understood that the processor of the embodiments of the present application can be an integrated circuit chip with processing capability. In the implementation process, each step of the method embodiments described above can be completed by integrated logic circuits in hardware or instructions in software form in the processor. The processor described above can be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. Each method, step and logic block diagram disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read only memory, a programmable read only memory or an electrically erasable programmable memory, a register or other mature storage medium in the art. The storage medium is located in the memory, and the processor reads the information in the memory, and combines the hardware to complete the steps of the above method.

[0168] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read only memory (ROM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM) or a flash memory. The volatile memory can be a random access memory (RAM). It should be noted that the memory of the system and method described herein is intended to include but not limited to these and any other suitable type of memory.

[0169] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0170] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0171] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other manners. For example, the above-described device embodiments are merely schematic, and the division of units is merely a logical function division, and there can be another division manner in actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or in other forms.

[0172] The units described as separated components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments.

[0173] In addition, each functional unit in the embodiments of the present application can be integrated in one processing unit, or each unit can exist physically as separate units, or two or more units can be integrated in one unit.

[0174] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. According to such understanding, the technical solutions of the present application can be embodied in the form of a software product, and the computer software product is stored in a storage medium, and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the embodiments of the present application. The foregoing storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, and various media that can store program codes.

[0175] The above is merely specific embodiments of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A collaborative signature method, characterized in that, Applied to a cooperation end, the method comprises: receiving an intermediate elliptic curve point sent by a mobile end, the intermediate elliptic curve point being calculated by the mobile end according to a first random number, a sub-private key of the mobile end, a public key and an elliptic curve base point; calculating a final elliptic curve point according to the intermediate elliptic curve point, a second random number, a sub-private key of the cooperation end, the public key and the elliptic curve base point; calculating a final target signature validity verification message according to an abscissa of the final elliptic curve point and a hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile end to the cooperation end, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile end and the cooperation end; calculating an intermediate target signature integrity verification message according to the sub-private key of the cooperation end, the second random number and the final target signature validity verification message; sending the final target signature validity verification message and the intermediate target signature integrity verification message to the mobile end, so that the mobile end determines a target signature according to the final target signature validity verification message and the intermediate target signature integrity verification message, the target signature comprising the final target signature validity verification message and a final target signature integrity verification message.

2. The method of claim 1, wherein, The calculating a final elliptic curve point according to the intermediate elliptic curve point, a second random number, a sub-private key of the cooperation end, the public key and the elliptic curve base point comprises: The final elliptic curve point is calculated according to a first formula: , is a final elliptic curve point, is an intermediate elliptic curve point, is a second random number, is a sub-private key of the cooperative end, P is a public key, and G is an elliptic curve base point.

3. The method of claim 2, wherein, The calculating a final target signature validity verification message according to an abscissa of the final elliptic curve point and a hash value of a message to be verified comprises: The final target signature validity verification message is calculated according to a second formula, which is: , is the final target signature validity verification message, is the horizontal coordinate of the final elliptic curve point, e is the hash value of the message to be verified, and q is the number of elements in the elliptic curve finite field.

4. The method of claim 3, wherein, The calculating an intermediate target signature integrity verification message according to the sub-private key of the cooperation end and the final target signature validity verification message comprises: The intermediate target signature integrity verification message is calculated according to a third formula, which is: , is the intermediate target signature integrity verification message.

5. The method of claim 4, wherein, The method further comprises: receiving a first partial public key sent by the mobile end, the first partial public key being calculated by the mobile end according to a pre-sub-private key of the mobile end; calculating a public key according to the first partial public key and a pre-sub-private key of the cooperation end, and calculating a second partial public key according to the pre-sub-private key of the cooperation end; sending the second partial public key to the mobile end, so that the mobile end calculates the public key according to the second partial public key and the pre-sub-private key of the mobile end.

6. The method of claim 5, wherein, The method further comprises: receiving a first ciphertext sent by the mobile end, the first ciphertext being obtained by the mobile end encrypting a pre-sub-private key of the mobile end; randomly generating a sub-private key of the cooperation end; calculating a second ciphertext according to the sub-private key of the cooperation end and the first ciphertext; sending the second ciphertext to the mobile end, so that the mobile end decrypts the second ciphertext to obtain the sub-private key of the mobile end.

7. The method according to any one of claims 1 to 6, characterized in that, Before the receiving an intermediate elliptic curve point sent by a mobile end, the method further comprises: receiving a login password sent by the mobile end, the login password being set by the mobile end when registering with the cooperation end; querying a user database to compare whether the login password is correct; if the login password is correct, sending a comparison success message to the mobile end.

8. A method of collaborative signing, the method comprising: Applied to a mobile terminal, the method comprises: generating a first random number; calculating an intermediate elliptic curve point according to the first random number, a sub-private key of the mobile terminal, a public key and an elliptic curve base point; sending the intermediate elliptic curve point to a cooperative terminal; receiving a final target signature validity verification message and an intermediate target signature integrity verification message sent by the cooperative terminal, the final target signature validity verification message being calculated by the cooperative terminal according to an abscissa of a final elliptic curve point and a hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperative terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperative terminal; the intermediate target signature integrity verification message being calculated by the cooperative terminal according to a sub-private key of the cooperative terminal, a second random number and the final target signature validity verification message; the final elliptic curve point being calculated by the cooperative terminal according to the intermediate elliptic curve point, the second random number, the sub-private key of the cooperative terminal, the public key and the elliptic curve base point; calculating a final target signature integrity verification message according to the sub-private key of the mobile terminal, the first random number, the final target signature validity verification message and the intermediate target signature integrity verification message; taking the final target signature validity verification message and the final target signature integrity verification message as a target signature.

9. The method of claim 8, wherein, Before the first random number is generated, the method further comprises: The final target signature integrity verification message is calculated according to a fourth formula, which is: , is the final target signature integrity verification message, is the sub-private key of the mobile terminal, is the first random number, is the final target signature validity verification message, is the intermediate target signature integrity verification message, and q is the number of elements in an elliptic curve finite field.

10. The method of claim 9, wherein, splicing a message to be signed and identity identifiers of the mobile terminal and the cooperative terminal to obtain a message to be verified; calculating a hash value of the message to be verified; sending the hash value of the message to be verified and a login password set by the mobile terminal when registering with the cooperative terminal to the cooperative terminal, so that the cooperative terminal queries a user database to compare whether the login password is correct. The intermediate elliptic curve point is calculated according to the first random number, the sub-private key of the mobile terminal, the public key and the elliptic curve base point, and comprises:

11. The method of claim 9, wherein, The method further comprises: An intermediate elliptic curve point is calculated according to a fifth formula, which is: , is an intermediate elliptic curve point, is a first random number, is a sub-private key of the mobile terminal, P is a public key, and G is an elliptic curve base point.

12. The method according to any one of claims 8-11, characterized in that, randomly generating a pre-sub-private key of the mobile terminal; calculating a first partial public key according to the pre-sub-private key of the mobile terminal; sending the first partial public key to the cooperative terminal, so that the cooperative terminal calculates a public key according to the first partial public key and the pre-sub-private key of the mobile terminal; receiving a second partial public key sent by the cooperative terminal, the second partial public key being calculated by the cooperative terminal according to a pre-sub-private key of the cooperative terminal; calculating the public key according to the second partial public key and the pre-sub-private key of the mobile terminal. The method further comprises:

13. The method of claim 12, wherein, encrypting the pre-sub-private key of the mobile terminal to obtain a first ciphertext; sending the first ciphertext to the cooperative terminal, so that the cooperative terminal calculates a second ciphertext according to the first ciphertext and a sub-private key of the cooperative terminal; receiving the second ciphertext sent by the cooperative terminal; ​ Decrypt the second ciphertext to obtain the sub-private key of the mobile terminal.

14. A co-signing apparatus characterized by comprising: The device applied to the cooperation terminal comprises: a communication unit configured to receive an intermediate elliptic curve point sent by the mobile terminal, the intermediate elliptic curve point being calculated by the mobile terminal according to a first random number, a sub-private key of the mobile terminal, a public key and an elliptic curve base point; an elliptic curve point calculation unit configured to calculate a final elliptic curve point according to the intermediate elliptic curve point, a second random number, a sub-private key of the cooperation terminal, the public key and the elliptic curve base point; a signature information calculation unit configured to calculate a final target signature validity verification message according to an abscissa of the final elliptic curve point and a hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperation terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperation terminal, and to calculate an intermediate target signature integrity verification message according to the sub-private key of the cooperation terminal, the second random number and the final target signature validity verification message; the communication unit is further configured to send the final target signature validity verification message and the intermediate target signature integrity verification message to the mobile terminal, so that the mobile terminal determines a target signature according to the final target signature validity verification message and the intermediate target signature integrity verification message, the target signature comprising the final target signature validity verification message and the final target signature integrity verification message.

15. A co-signing apparatus characterized by comprising: The device applied to the mobile terminal comprises: a random number generation unit configured to generate a first random number; an elliptic curve point calculation unit configured to calculate an intermediate elliptic curve point according to the first random number, a sub-private key of the mobile terminal, a public key and an elliptic curve base point; a communication unit configured to send the intermediate elliptic curve point to the cooperation terminal; the communication unit is further configured to receive a final target signature validity verification message and an intermediate target signature integrity verification message sent by the cooperation terminal, the final target signature validity verification message being calculated by the cooperation terminal according to an abscissa of a final elliptic curve point and a hash value of a message to be verified, the hash value of the message to be verified being sent by the mobile terminal to the cooperation terminal, the message to be verified being obtained by splicing a message to be signed and identity identifiers of the mobile terminal and the cooperation terminal, the intermediate target signature integrity verification message being calculated by the cooperation terminal according to a sub-private key of the cooperation terminal, a second random number and the final target signature validity verification message, and the final elliptic curve point being calculated by the cooperation terminal according to the intermediate elliptic curve point, the second random number, the sub-private key of the cooperation terminal, the public key and the elliptic curve base point; a signature information calculation unit configured to calculate a final target signature integrity verification message according to the sub-private key of the mobile terminal, the first random number, the final target signature validity verification message and the intermediate target signature integrity verification message. The signature determination unit is configured to determine the final target signature as a target signature based on the final target signature validity verification message and the final target signature integrity verification message.

16. An electronic device, comprising: The method comprises: a processor and a memory; the processor and the memory are connected, wherein the memory is configured to store a computer program, and the processor is configured to invoke the computer program to execute the method according to any one of claims 1-7 or 8-13.

17. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program comprises program instructions, which, when executed by a processor, execute the method according to any one of claims 1-7 or 8-13.

Citation Information

Patent Citations

  • Method for generating digital signature by cooperation of double parties

    CN107483212A

  • Signature method and device for generating SM2 algorithm through mutual coordination, and storage medium

    CN109245903A