Collaborative signature method, collaborative signature verification method, system and client
By adopting a combination of traditional and post-quantum signature algorithms in the collaborative signature system to generate hybrid collaborative signature data, the security risks in the post-quantum era are resolved and the security of data transmission is enhanced.
Patent Information
- Application Number
- CN202411049366.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-01
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-08-01
AI Technical Summary
The existing collaborative signature mechanism faces huge security risks in the post-quantum era. Traditional asymmetric cryptographic algorithms are easily cracked by quantum algorithms, and the security of single signature algorithms is insufficient.
Two different asymmetric signature algorithms are used to collaboratively sign the original data to be signed, namely the traditional asymmetric signature algorithm and the post-quantum signature algorithm, and hybrid collaborative signature data is generated through encapsulation processing.
It enhances the security of signature data, effectively prevents quantum algorithm attacks, and ensures the secure transmission of data in the post-quantum era.
Smart Images

Figure CN118869219B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cryptographic application technology, and in particular to a collaborative signature method, a collaborative signature verification method, a system, and a client. Background Art
[0002] Collaborative signatures are a method for protecting data confidentiality, enabling secure data transmission through multi-party collaboration. Collaborative signature algorithms typically have a public key for public use, and multiple members possess their own private keys. During signature verification, multiple members use their private keys to sign data, and the public key is required for signature verification.
[0003] However, with the advancement of computing power and mathematics, classical signature systems that rely on computational complexity are facing a significant threat. The quantum algorithm Shor's algorithm can solve problems such as integer factorization and discrete logarithms. Collaborative signature mechanisms based on traditional asymmetric cryptographic algorithms face significant security risks in the post-quantum era. Summary of the Invention
[0004] The purpose of the present invention is to address the deficiencies in the above-mentioned prior art and provide a collaborative signature method, a collaborative signature verification method, a system and a client, so as to collaboratively sign the original data to be signed through two different asymmetric signature algorithms, obtain hybrid collaborative signature data corresponding to the original data to be signed, enhance the security of the single signature algorithm, and effectively ensure the secure transmission of the original data to be signed.
[0005] To achieve the above objectives, the technical solutions adopted in the embodiments of the present application are as follows:
[0006] In a first aspect, an embodiment of the present application provides a collaborative signature method, which is applied to a first client in a collaborative signature verification system. The method includes:
[0007] Get the original data to be signed;
[0008] Collaboratively signing the original data to be signed using a first signature algorithm with at least one second client based on their respective first private keys to obtain first collaborative signature data;
[0009] and, with the at least one second client, collaboratively signing the original data to be signed using a second signature algorithm based on their respective second private keys to obtain second collaborative signature data; wherein the first signature algorithm and the second signature algorithm are respectively two different asymmetric signature algorithms;
[0010] The first collaborative signature data and the second collaborative signature data are encapsulated to obtain mixed collaborative signature data corresponding to the original data to be signed.
[0011] In an optional embodiment, the collaborative signing of the original data to be signed with the at least one second client using a first signature algorithm based on their respective first private keys to obtain first collaborative signature data includes:
[0012] Using the first signature algorithm, obtaining first intermediate data based on the original data to be signed;
[0013] sending the first first intermediate data to a first second client among the at least one second client, so that the first second client uses the first signature algorithm to obtain second first intermediate data based on the first first intermediate data, and transmits the second first intermediate data to a next second client for further processing using the first signature algorithm;
[0014] receiving the last first intermediate data sent by the last second client among the at least one second client;
[0015] Based on the last first intermediate data, the first signature algorithm is adopted to obtain the first collaborative signature data.
[0016] In an optional embodiment, the collaborative signing of the original data to be signed with the at least one second client using a second signature algorithm based on their respective second private keys to obtain second collaborative signature data includes:
[0017] Using the second signature algorithm, obtaining first second intermediate data based on the original data to be signed;
[0018] sending the first second intermediate data to a first second client among the at least one second client, so that the first second client uses the second signature algorithm to obtain second second intermediate data based on the first second intermediate data, and transmits the second second intermediate data to a next second client for further processing using the second signature algorithm;
[0019] receiving the last second intermediate data sent by the last second client among the at least one second client;
[0020] Based on the last second intermediate data, the second signature algorithm is adopted to obtain the second collaborative signature data.
[0021] In an optional embodiment, the second signature algorithm is a post-quantum signature algorithm, and the step of using the second signature algorithm to obtain the first second intermediate data based on the original data to be signed includes:
[0022] Performing a digest operation using the post-quantum signature algorithm based on the public key of the first client and the original data to be signed to obtain a digest value of the first client; the first second intermediate data includes: the digest value of the first client;
[0023] The sending of the first second intermediate data to a first second client among the at least one second client, so that the first second client adopts the second signature algorithm, obtains second second intermediate data based on the first second intermediate data, and transmits the second second intermediate data to a next second client for further processing using the second signature algorithm, includes:
[0024] Sending the digest value of the first client to the first second client, so that the first second client performs a digest operation using the post-quantum signature algorithm based on the public key of the first second client and the digest value of the first client to obtain the digest value of the first second client, and performs a signature operation on the digest value of the first client based on the second private key of the first second client to obtain the signature value of the first second client, and transmits the signature value to the next second client to continue processing using the post-quantum signature algorithm, wherein the second second intermediate data includes: the digest value of the first second client, the signature value of the first second client, and the user name of the first second client;
[0025] The last second intermediate data includes: a digest value of the last second client, signature values of all second clients, and user names of all second clients;
[0026] The step of obtaining the second collaborative signature data based on the last second intermediate data and adopting the second signature algorithm includes:
[0027] Performing a signature operation on the digest value of the last second client using the post-quantum signature algorithm according to the second private key of the first client to obtain a signature value of the first client;
[0028] The signature value of the first client, the user name of the first client, the signature values of all the second clients, and the user names of all the second clients are encapsulated to obtain the second collaborative signature data.
[0029] In a second aspect, an embodiment of the present application further provides a collaborative signature verification method, which is applied to a first client in a collaborative signature verification system. The method includes:
[0030] Obtain the original data to be verified and the corresponding hybrid collaborative signature data to be verified;
[0031] Decapsulating the hybrid collaborative signature data to be verified to obtain first collaborative signature data to be verified and second collaborative signature data to be verified;
[0032] Perform collaborative signature verification on the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm according to the first public key of the first client and the first public key of at least one second client, to obtain first signature verification data;
[0033] performing collaborative signature verification on the second collaborative signature data to be verified using an inverse algorithm of a second signature algorithm based on the second public key of the first client and the second public key of the at least one second client, to obtain second signature verification data; the first signature algorithm and the second signature algorithm are respectively two different asymmetric signature algorithms;
[0034] An AND operation is performed on the first signature verification data and the second signature verification data to obtain a target signature verification result.
[0035] In an optional embodiment, the step of performing collaborative signature verification on the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm based on the first public key of the first client and the first public key of at least one second client to obtain first signature verification data includes:
[0036] Perform signature verification on the original data to be verified and the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm according to the first public key of the first client to obtain first first signature verification data;
[0037] If the first first signature verification data indicates that the verification is successful, then continue to use the first public key of the first second client among the at least one second client and the inverse algorithm of the first signature algorithm to perform signature verification on the original data to be verified and the first collaborative signature data to be verified to obtain the second first signature verification data until the verification fails or the first signature verification data of the last second client is obtained. The first signature verification data includes: signature verification data that failed verification, or signature verification data of each client that passed verification.
[0038] In an optional embodiment, the performing collaborative signature verification on the second collaborative signature data to be verified using an inverse algorithm of the second signature algorithm based on the second public key of the first client and the second public key of the at least one second client to obtain the second signature verification data includes:
[0039] Parsing the second collaborative signature data to be verified to obtain a first signature component of the first client, a user name of the first client, user names of all second clients, and second signature components of all second clients;
[0040] Based on the user name of the first client and the user names of all the second clients, obtaining the second public key of the first client and the second public keys of all the second clients from the server;
[0041] Perform signature verification on the original data to be verified and the second signature component of the first second client using an inverse algorithm of the second signature algorithm according to the second public key of the first client and the second public key of the first second client, to obtain first second signature verification data;
[0042] If the first second signature verification data indicates that the verification is successful, then continuing to perform signature verification on the second signature component of the next second client using the inverse algorithm of the second signature algorithm according to the second public key of the first second client and the second public key of the next second client, to obtain second second signature verification data, until the verification fails or the second signature verification data of the last second client is obtained;
[0043] If the second signature verification data of the last second client indicates that the verification is successful, then based on the second public key of the first client and the second public key of the last second client, the inverse algorithm of the second signature algorithm is used to perform signature verification on the first signature component to obtain the second signature verification data.
[0044] In an optional embodiment, the second signature algorithm is a post-quantum signature algorithm; and the method of performing signature verification on the original data to be verified and the second signature component of the first second client using an inverse algorithm of the second signature algorithm based on the second public key of the first client and the second public key of the first second client to obtain first second signature verification data includes:
[0045] Performing digest calculation using an inverse algorithm of the post-quantum signature algorithm based on the second public key of the first client and the original data to be verified to obtain a first verification digest value;
[0046] Performing signature verification on the second signature component of the first second client using an inverse algorithm of the post-quantum signature algorithm according to the first verification digest value and the second public key of the first second client to obtain the first second signature verification data;
[0047] The step of continuing to perform signature verification on the second signature component of the next second client using the inverse algorithm of the second signature algorithm according to the second public key of the first second client and the second public key of the next second client to obtain second second signature verification data includes:
[0048] Performing digest calculation using an inverse algorithm of the post-quantum signature algorithm according to the second public key of the first second client and the first verification digest value to obtain a first second verification digest value;
[0049] Performing signature verification on the second signature component of the next second client using an inverse algorithm of the post-quantum signature algorithm according to the first second verification digest value and the second public key of the next second client to obtain the second second signature verification data;
[0050] The step of performing signature verification on the first signature component using an inverse algorithm of the second signature algorithm according to the second public key of the first client and the second public key of the last second client to obtain the second signature verification data includes:
[0051] Performing digest calculation using an inverse algorithm of the post-quantum signature algorithm according to the second public key of the last second client and the previous second verification digest value to obtain a last second verification digest value;
[0052] According to the last second verification digest value and the second public key of the first client, an inverse algorithm of the second signature algorithm is used to perform signature verification on the first signature component to obtain the second signature verification data.
[0053] In a third aspect, an embodiment of the present application further provides a collaborative signature device, applied to a first client in a collaborative signature verification system, the device comprising:
[0054] The acquisition module is used to obtain the original data to be signed;
[0055] a signing module, configured to collaboratively sign the original data to be signed with at least one second client using a first signature algorithm based on their respective first private keys to obtain first collaborative signature data;
[0056] The signature module is further configured to collaboratively sign the original data to be signed with the at least one second client using a second signature algorithm based on their respective second private keys to obtain second collaborative signature data; the first signature algorithm and the second signature algorithm are respectively two different asymmetric signature algorithms;
[0057] The encapsulation module is used to encapsulate the first collaborative signature data and the second collaborative signature data to obtain the mixed collaborative signature data corresponding to the original data to be signed.
[0058] In a fourth aspect, an embodiment of the present application further provides a collaborative signature verification device, applied to a first client in a collaborative signature verification system, the device comprising:
[0059] An acquisition module is used to obtain the original data to be verified and the corresponding hybrid collaborative signature data to be verified;
[0060] a decapsulation module, configured to decapsulate the hybrid collaborative signature data to be verified to obtain first collaborative signature data to be verified and second collaborative signature data to be verified;
[0061] a signature verification module, configured to perform collaborative signature verification on the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm according to the first public key of the first client and the first public key of at least one second client, to obtain first signature verification data;
[0062] The signature verification module is further configured to perform collaborative signature verification on the second collaborative signature data to be verified using an inverse algorithm of a second signature algorithm based on the second public key of the first client and the second public key of the at least one second client, to obtain second signature verification data; the first signature algorithm and the second signature algorithm are respectively two different asymmetric signature algorithms;
[0063] The operation module is used to perform an AND operation on the first signature verification data and the second signature verification data to obtain a target signature verification result.
[0064] In the fifth aspect, an embodiment of the present application also provides a collaborative signature verification system, which includes: multiple clients and servers, wherein the multiple clients are respectively communicated with the servers, and the multiple clients are communicated with each other, and each client is used to execute the steps of the collaborative signature method as described in any one of the first aspects, or to execute the steps of the collaborative signature verification method as described in any one of the second aspects.
[0065] In the sixth aspect, an embodiment of the present application also provides a client, including: a processor, a storage medium and a bus, wherein the storage medium stores program instructions executable by the processor. When the client is running, the processor and the storage medium communicate through the bus, and the processor executes the steps of the collaborative signature method as described in any one of the first aspects, or executes the steps of the collaborative signature verification method as described in any one of the second aspects.
[0066] In the seventh aspect, an embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, it executes the steps of the collaborative signature method as described in any one of the first aspects, or executes the steps of the collaborative signature verification method as described in any one of the second aspects.
[0067] The beneficial effects of this application are:
[0068] An embodiment of the present application provides a collaborative signature method, a collaborative signature verification method, a system and a client. The collaborative signature method is applied to the first client in the collaborative signature verification system, including: obtaining original data to be signed, collaboratively signing the original data to be signed with at least one second client based on their respective first private keys using a first signature algorithm to obtain first collaborative signature data, and collaboratively signing the original data to be signed with at least one second client based on their respective second private keys using a second signature algorithm to obtain second collaborative signature data, the first signature algorithm and the second signature algorithm being two different asymmetric signature algorithms respectively, and finally encapsulating the first collaborative signature data and the second collaborative signature data to obtain mixed collaborative signature data corresponding to the original data to be signed.
[0069] According to the method of the present application, a first client and at least one second client collaboratively sign the original data to be signed using two different asymmetric signature algorithms, and finally encapsulate the two collaborative signature data obtained to obtain mixed collaborative signature data corresponding to the original data to be signed. On the basis of the first signature algorithm that meets the security and compliance requirements of the cryptographic algorithm, another asymmetric signature algorithm is added, which can enhance the security of the single signature algorithm and effectively ensure the secure transmission of the original data to be signed. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.
[0071] Figure 1 One of the flowcharts of a collaborative signature method provided in an embodiment of the present application;
[0072] Figure 2 The second flowchart of a collaborative signature method provided in an embodiment of the present application;
[0073] Figure 3 The third flowchart of a collaborative signature method provided in an embodiment of the present application;
[0074] Figure 4 A fourth flowchart of a collaborative signature method provided in an embodiment of the present application;
[0075] Figure 5 A schematic diagram of determining second collaborative signature data provided in an embodiment of the present application;
[0076] Figure 6 One of the flowcharts of a collaborative signature verification method provided in an embodiment of the present application;
[0077] Figure 7 This is a second flow chart of a collaborative signature verification method provided in an embodiment of the present application;
[0078] Figure 8 The third flowchart of a collaborative signature verification method provided in an embodiment of the present application;
[0079] Figure 9 A fourth flowchart of a collaborative signature verification method provided in an embodiment of the present application;
[0080] Figure 10 A schematic diagram of determining second signature verification data provided in an embodiment of the present application;
[0081] Figure 11 A schematic diagram of the functional modules of a collaborative signature device provided in an embodiment of the present application;
[0082] Figure 12 A schematic diagram of the functional modules of a collaborative signature verification device provided in an embodiment of the present application;
[0083] Figure 13 This is one of the schematic diagrams of a collaborative signature verification system provided in an embodiment of the present application;
[0084] Figure 14 A second schematic diagram of a collaborative signature verification system provided in an embodiment of the present application;
[0085] Figure 15 A schematic diagram of a client provided in an embodiment of the present application. DETAILED DESCRIPTION
[0086] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments.
[0087] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for protection, but merely represents selected embodiments of the present application. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments in the present application without creative work are within the scope of protection of the present application.
[0088] In the description of this application, it should be noted that if the terms "upper", "lower", etc. appear, the orientation or position relationship indicated is based on the orientation or position relationship shown in the accompanying drawings, or is the orientation or position relationship in which the product of the application is usually placed when in use. It is only for the convenience of describing this application and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, it cannot be understood as a limitation on this application.
[0089] In addition, the terms "first," "second," and the like in the description and claims of the present invention and the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a particular order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to these processes, methods, products, or apparatus.
[0090] It should be noted that, in the absence of conflict, the features in the embodiments of this application can be combined with each other.
[0091] During data transmission, to ensure the integrity and authenticity of the data being transmitted, the sender will collaboratively sign the data to be transmitted through a multi-party collaboration. Based on their respective private keys, multiple users use a signature algorithm to collaboratively sign the data to obtain signed data. The sender then sends the signed data and the data to be transmitted to the receiver. The collaborative signature verifies the sender's identity and ensures data integrity. After receiving the signed data and the data to be transmitted, the receiver uses the inverse algorithm of the signature algorithm based on the public keys of the multiple users to perform signature verification on the signed data and the data to be transmitted. The verification result is used to verify whether the data received by the receiver has been tampered with.
[0092] Signatures and signature verification can effectively prevent data from being tampered with and impersonated during transmission. However, currently, a single signature algorithm is mostly used to sign transmitted data, which is vulnerable to attacks by quantum algorithms and will face huge security risks in the post-quantum era. Therefore, an embodiment of the present application provides a collaborative signature method, which is applied to the first client in a collaborative signature verification system. Specifically, the first client obtains the original data to be signed, and collaboratively signs the original data to be signed using a first signature algorithm with at least one second client based on their respective first private keys to obtain first collaborative signature data. The first client also collaboratively signs the original data to be signed using a second signature algorithm with at least one second client based on their respective second private keys to obtain second collaborative signature data, wherein the first signature algorithm and the second signature algorithm are two different asymmetric signature algorithms. Finally, the first collaborative signature data and the second collaborative signature data are encapsulated and processed to obtain mixed collaborative signature data corresponding to the original data to be signed. Another asymmetric second signature algorithm is added on the basis of the first signature algorithm to enhance the security of the first signature algorithm and effectively prevent attacks by quantum algorithms.
[0093] The collaborative signature method provided in the embodiment of the present application is explained in detail below through specific examples in conjunction with the accompanying drawings. Figure 1 This is one of the flow charts of a collaborative signature method provided in an embodiment of the present application; Figure 1 As shown, the method includes:
[0094] S101. Obtain original data to be signed.
[0095] In this embodiment, the first client is a client in the collaborative signature verification system that needs to send original data to be signed. As the sender, the original data to be signed is data output by the business system in the first client.
[0096] S102. Collaboratively sign original data to be signed with at least one second client using a first signature algorithm based on respective first private keys to obtain first collaborative signature data.
[0097] Among them, at least one second client is a client in the collaborative signature verification system used to collaborate with the first client to sign, and the first signature algorithm is a traditional asymmetric signature algorithm that meets the security and compliance requirements of the cryptographic algorithm, such as the RSA cryptographic algorithm (Rivest-Shamir-Adleman algorithm), elliptic curve cryptography (ECC), elliptic curve algorithm SM2, quantum-resistant algorithm, etc.
[0098] The first client and at least one second client collaboratively sign the original data to be signed using the first signature algorithm based on their respective first private keys, and ultimately obtain first collaborative signature data s.
[0099] S103 . Collaboratively sign the original data to be signed with at least one second client using a second signature algorithm based on their respective second private keys to obtain second collaborative signature data.
[0100] The first signature algorithm and the second signature algorithm are two different asymmetric signature algorithms. For example, if the first signature algorithm is the elliptic curve algorithm SM2, the second signature algorithm can be the RSA cryptographic algorithm, the ECC algorithm, a quantum-resistant algorithm, a post-quantum algorithm, etc.
[0101] The first client and at least one second client, based on their respective second private keys, use a second signature algorithm to collaboratively sign the original signature data, and finally obtain second collaborative signature data qs. The second collaborative signature data qs and the first collaborative signature data s are the collaborative signature data obtained by the first client and at least one second client using different signature algorithms to collaboratively sign the original signature data.
[0102] S104: Encapsulate the first collaborative signature data and the second collaborative signature data to obtain mixed collaborative signature data corresponding to the original data to be signed.
[0103] Specifically, the first collaborative signature data s and the second collaborative signature data qs are concatenated and then encapsulated to obtain mixed collaborative signature data s||qs.
[0104] To summarize, an embodiment of the present application provides a collaborative signature method, which is applied to a first client in a collaborative signature verification system. The method includes: obtaining original data to be signed, collaboratively signing the original data to be signed with at least one second client based on their respective first private keys using a first signature algorithm to obtain first collaborative signature data, and collaboratively signing the original data to be signed with at least one second client based on their respective second private keys using a second signature algorithm to obtain second collaborative signature data. The first signature algorithm and the second signature algorithm are two different asymmetric signature algorithms, respectively. Finally, the first collaborative signature data and the second collaborative signature data are encapsulated to obtain mixed collaborative signature data corresponding to the original data to be signed.
[0105] According to the method of the present application, a first client and at least one second client collaboratively sign the original data to be signed using two different asymmetric signature algorithms, and finally encapsulate the two collaborative signature data obtained to obtain mixed collaborative signature data corresponding to the original data to be signed. On the basis of the first signature algorithm that meets the security and compliance requirements of the cryptographic algorithm, another asymmetric signature algorithm is added, which can enhance the security of the single signature algorithm and effectively ensure the secure transmission of the original data to be signed.
[0106] Based on the collaborative signature method provided in the above embodiment, the embodiment of the present application further provides another possible implementation of the collaborative signature method through a method for determining the first collaborative signature data. Figure 2 This is a second flow chart of a collaborative signature method provided in an embodiment of the present application. Figure 2 As shown, with at least one second client, based on their respective first private keys, a first signature algorithm is used to collaboratively sign the original data to be signed, to obtain first collaborative signature data, including:
[0107] S201: Using a first signature algorithm, obtain first intermediate data based on original data to be signed.
[0108] S202. Send the first first intermediate data to a first second client among at least one second client, so that the first second client adopts the first signature algorithm, obtains the second first intermediate data based on the first first intermediate data, and transmits it to the next second client to continue processing using the first signature algorithm.
[0109] In this embodiment, the first client uses the first signature algorithm to perform a digest operation on the original data to be signed, obtains the first digest value of the first client, and determines the first first intermediate data of the first client. The first first intermediate data includes: the first digest value of the first client, and sends the first first intermediate data to the first second client among at least one second client.
[0110] After the first second client receives the first first intermediate data, it uses the first signature algorithm to sign the first summary value of the first client in the first first intermediate data based on the first private key of the first second client to obtain the first signature value of the first second client. In addition, the first second client uses the first signature algorithm to perform a digest operation on the first summary value of the first client to obtain the first summary value of the first second client, and determines the second first intermediate data of the first second client. The second first intermediate data includes: the first summary value of the first second client and the first signature value of the first second client.
[0111] The first second client sends the second first intermediate data to the next second client, namely the second second client. The second second client continues to sign the first digest value of the first second client in the second first intermediate data based on the first private key of the second second client using the first signature algorithm to obtain the first signature value of the second second client. In addition, the second second client uses the first signature algorithm to perform a digest operation on the first digest value of the first second client to obtain the first digest value of the second second client, and determines the third first intermediate data of the second second client. The third first intermediate data includes: the first digest value of the second second client and the first signature value of the second second client.
[0112] The next second client, i.e., the second second client, continues to send the third first intermediate data to the next second client, i.e., the third second client. The third second client also processes the third first intermediate data based on the first private key of the third second client using the first signature algorithm. The processing method is the same as the above method and will not be repeated here.
[0113] Until the last second client among at least one second client completes processing of the previous first intermediate data using the first signature algorithm based on the first private key of the last second client, and obtains the last first intermediate data, wherein the last first intermediate data includes: the first summary value of the last second client and the first signature values of all second clients.
[0114] S203: Receive the last first intermediate data sent by the last second client among the at least one second client.
[0115] S204: Based on the last first intermediate data, adopt the first signature algorithm to obtain first collaborative signature data.
[0116] After the first client receives the last first intermediate data sent by the last second client, it processes the last first intermediate data using the first signature algorithm based on the first private key of the first client to obtain first collaborative signature data.
[0117] Specifically, the first client uses the first signature algorithm to sign the first digest value of the last second client in the last first intermediate data based on the first private key of the first client to obtain the first signature value of the first client, and the first client uses the first signature algorithm to perform a digest operation on the first digest value of the last second client to obtain the first digest value of the first client, and determines that the first collaborative signature data includes: the first signature value of the first client and the first signature values of all second clients.
[0118] In the method provided by the embodiment of the present application, the first client adopts the first signature algorithm to obtain a first first intermediate data based on the to-be-signed original data, and then sends the first first intermediate data to a first second client in the at least one second client, so that the first second client adopts the first signature algorithm to obtain a second first intermediate data based on the first first intermediate data, and transmits the second first intermediate data to a next second client to continue processing by using the first signature algorithm. The last first intermediate data sent by a last second client in the at least one second client is received, and the first signature algorithm is adopted based on the last first intermediate data to obtain the first collaborative signature data. Thus, the first client and the at least one second client can adopt the first signature algorithm to collaboratively sign the to-be-signed original data based on respective first private keys, and the first collaborative signature data is obtained.
[0119] The embodiment of the present application also provides another possible implementation manner of the collaborative signature method by determining the second collaborative signature data. Figure 3 A third flowchart of a collaborative signature method provided by the embodiment of the present application is shown in FIG. 3. As shown in FIG. 3, the at least one second client collaboratively signs the to-be-signed original data based on respective second private keys by using the second signature algorithm to obtain the second collaborative signature data, which includes the following steps. Figure 3
[0120] S301, a first second intermediate data is obtained based on the to-be-signed original data by using the second signature algorithm.
[0121] S302, the first second intermediate data is sent to a first second client in the at least one second client, so that the first second client obtains a second second intermediate data based on the first second intermediate data by using the second signature algorithm, and transmits the second second intermediate data to a next second client to continue processing by using the second signature algorithm.
[0122] In the embodiment, the first client performs the digest operation on the to-be-signed original data by using the second signature algorithm to obtain a second digest value of the first client, and determines the first second intermediate data of the first client. The first second intermediate data includes the second digest value of the first client. The first second intermediate data is sent to the first second client in the at least one second client.
[0123] After the first second client receives the first second intermediate data, it uses the second signature algorithm to sign the second digest value of the first client in the first second intermediate data based on the second private key of the first second client to obtain the second signature value of the first second client. In addition, the first second client uses the second signature algorithm to perform a digest operation on the second digest value of the first client to obtain the second digest value of the first second client, and determines the second second intermediate data of the first second client. The second second intermediate data includes: the second digest value of the first second client and the second signature value of the first second client.
[0124] The first second client sends the second second intermediate data to the next second client, namely the second second client. The second second client continues to sign the second digest value of the first second client in the second second intermediate data based on the second private key of the second second client using the second signature algorithm to obtain the second signature value of the second second client. In addition, the second second client uses the second signature algorithm to perform a digest operation on the second digest value of the first second client to obtain the second digest value of the second second client, and determines the third second intermediate data of the second second client. The third second intermediate data includes: the second digest value of the second second client and the second signature value of the second second client.
[0125] The next second client, i.e., the second second client, continues to send the third second intermediate data to the next second client, i.e., the third second client. The third second client also processes the third second intermediate data based on the second private key of the third second client using the second signature algorithm. The processing method is the same as the above method and will not be repeated here.
[0126] Until the last second client among at least one second client completes processing of the previous second intermediate data using the second signature algorithm based on the second private key of the last second client, and obtains the last second intermediate data, wherein the last second intermediate data includes: the second summary value of the last second client and the second signature values of all second clients.
[0127] S303: Receive the last second intermediate data sent by the last second client among the at least one second client.
[0128] S304: Based on the last second intermediate data, adopt the second signature algorithm to obtain second collaborative signature data.
[0129] After the first client receives the last second intermediate data sent by the last second client, it processes the last second intermediate data using the second signature algorithm based on the second private key of the first client to obtain second collaborative signature data.
[0130] Specifically, the first client uses the second signature algorithm to sign the second digest value of the last second client in the last second intermediate data based on the second private key of the first client to obtain the second signature value of the first client, and the first client uses the second signature algorithm to perform a digest operation on the second digest value of the last second client to obtain the second digest value of the first client, and determines that the second collaborative signature data includes: the second signature value of the first client and the second signature values of all second clients.
[0131] In the method provided in the embodiment of the present application, a first client uses a second signature algorithm to obtain first second intermediate data based on the original data to be signed, and sends the first second intermediate data to the first second client among at least one second client, so that the first second client uses the second signature algorithm to obtain second second intermediate data based on the first second intermediate data, and transmits the second second intermediate data to the next second client for further processing using the second signature algorithm. The first second client receives the last second intermediate data sent by the last second client among at least one second client, and uses the second signature algorithm based on the last second intermediate data to obtain second collaborative signature data. This enables the first client and at least one second client to collaboratively sign the original data to be signed using the second signature algorithm based on their respective second private keys, thereby obtaining second collaborative signature data.
[0132] Since quantum algorithms can solve problems such as integer decomposition and discrete logarithms, traditional asymmetric cryptographic algorithms are vulnerable to attacks, especially in the post-quantum era. Post-quantum algorithms can effectively resist attacks from quantum algorithms and meet the security requirements of the post-quantum era. However, post-quantum algorithms lack effective security proofs and cannot meet existing security assessment standards. Therefore, in a collaborative signature method provided in an embodiment of the present application, the first signature algorithm used is a traditional asymmetric signature algorithm that meets the security and compliance requirements of cryptographic algorithms, and the second signature algorithm used is a post-quantum signature algorithm, such as a lattice-based digital signature algorithm (Dilithium). The security of the first signature algorithm is enhanced by the post-quantum signature algorithm, which not only meets the requirements of the security system but also adapts to the security of the post-quantum era.
[0133] Based on the above embodiment providing another collaborative signature method by a method for determining the second collaborative signature data, the embodiment of the present application also provides another possible implementation of the collaborative signature method. Figure 4This is a fourth flowchart of a collaborative signature method provided in an embodiment of the present application. Figure 5 This is a schematic diagram of determining the second collaborative signature data provided by an embodiment of the present application. Figure 4 As shown, the second signature algorithm is used to obtain the first second intermediate data based on the original data to be signed, including:
[0134] S401. Perform a digest operation using a post-quantum signature algorithm based on the public key of the first client and the original data to be signed to obtain a digest value of the first client.
[0135] In this embodiment, if Figure 5 As shown, the first client user1 uses the post-quantum signature algorithm to perform a digest operation on the first client's public key pk1 and the original data to be signed p, and obtains the first client's digest value h1, which is the second digest value of the first client mentioned in the above embodiment. The digest value h1 of the first client is expressed as: h1 = hash(pk1, p).
[0136] The first second intermediate data includes: a digest value h1 of the first client.
[0137] The method includes: sending the first second intermediate data to a first second client among the at least one second client, so that the first second client uses the second signature algorithm to obtain the second second intermediate data based on the first second intermediate data, and transmitting the second second intermediate data to the next second client for further processing using the second signature algorithm, including:
[0138] S402: Send the digest value of the first client to the first second client, so that the first second client performs a digest operation using a post-quantum signature algorithm based on the public key of the first second client and the digest value of the first client to obtain the digest value of the first second client, and performs a signature operation on the digest value of the first client using the second private key of the first second client to obtain the signature value of the first second client, and transmits the signature value to the next second client for continued processing using the post-quantum signature algorithm.
[0139] Specifically, the first client sends the digest value h1 of the first client to the first second client user2. The first second client user2 uses the post-quantum signature algorithm to perform a digest operation on the public key pk2 of the first second client user2 and the digest value h1 of the first client to obtain the digest value h2 of the first second client, which is the second digest value of the first second client mentioned in the above embodiment. The digest value h2 of the first second client is expressed as: h2 = hash(pk1, h1).
[0140] The first second client performs a signature operation on the first client's digest value h1 according to the first second client's second private key sk2 to obtain the first second client's signature value s2. The first second client's signature value s2 is expressed as: s2=sign(sk2,h1).
[0141] The second second intermediate data includes: the digest value h2 of the first second client, the signature value s2 of the first second client, and the user name user2 of the first second client.
[0142] The first second client transmits the second second intermediate data to the next second client, namely the second second client user3. The second second client user3 uses the post-quantum signature algorithm to perform a digest operation on the public key pk3 of the second second client user3 and the digest value h2 of the first second client to obtain the digest value h3 of the second second client, namely the second digest value of the second second client mentioned in the above embodiment. The digest value h3 of the second second client is expressed as: h3=hash(pk3,h2).
[0143] The second second client performs a signature operation on the digest value h2 of the first second client according to the second second client's second private key sk3 to obtain the second second client's signature value s3. The second second client's signature value s3 is expressed as: s3=sign(sk3,h2).
[0144] Among them, the third second intermediate data includes: the summary value h3 of the second second client, the signature value s2 of the first second client, the signature value s3 of the second second client, the user name user2 of the first second client, and the user name user3 of the second second client.
[0145] The next second client, i.e., the second second client, continues to send the third second intermediate data to the next second client, i.e., the third second client user4. The third second client user4 also processes the third second intermediate data. The processing method is consistent with the above method and will not be repeated here.
[0146] Until the last second client user in at least one second client n The processing of the previous second intermediate data is completed to obtain the last second intermediate data, wherein the last second intermediate data includes: the digest value h of the last second client n , all second client signature values (s2, s3, ..., s n ) and the usernames of all second clients (user2, user3, ..., user n), where the digest value of the last second client h n Expressed as: h n =hash(pk n ,h n-1 ), the last signature value of the second client s n Expressed as: s n =sign(sk n ,h n-1 ).
[0147] Based on the last second intermediate data, the second signature algorithm is used to obtain the second collaborative signature data, including:
[0148] S403: Perform a signature operation on the last digest value of the second client using a post-quantum signature algorithm according to the second private key of the first client to obtain a signature value of the first client.
[0149] S404: Encapsulate the signature value of the first client, the user name of the first client, the signature values of all second clients, and the user names of all second clients to obtain second collaborative signature data.
[0150] Specifically, the first client user1 uses the post-quantum signature algorithm to generate the digest value h of the last second client based on the second private key sk1 of the first client. n Perform a signature operation to obtain the signature value s1 of the first client.
[0151] The first client's signature value s1, the first client's username user1, and all second client signature values (s2, s3, ..., s n ) and the usernames of all second clients (user2, user3, ..., user n ) is encapsulated to obtain the second collaborative signature data ps.
[0152] In the method provided in the embodiment of the present application, the first client performs a digest operation using a post-quantum signature algorithm based on the public key of the first client and the original data to be signed to obtain a digest value of the first client; the first second intermediate data includes: the digest value of the first client, and then the digest value of the first client is sent to the first second client, so that the first second client performs a digest operation using a post-quantum signature algorithm based on the public key of the first second client and the digest value of the first client to obtain the digest value of the first second client, and performs a signature operation on the digest value of the first client based on the second private key of the first second client to obtain the signature value of the first second client, and transmits it to the next second client to continue using The post-quantum signature algorithm is used for processing, wherein the second second intermediate data includes: the digest value of the first second client, the signature value of the first second client, and the username of the first second client; the last second intermediate data includes: the digest value of the last second client, the signature values of all second clients, and the usernames of all second clients; finally, the first client uses the post-quantum signature algorithm to sign the digest value of the last second client based on the first client's second private key to obtain the signature value of the first client, and encapsulates the signature value of the first client, the username of the first client, the signature values of all second clients, and the usernames of all second clients to obtain the second collaborative signature data. In this way, the first client and at least one second client use the post-quantum signature algorithm to collaboratively sign the original data to be signed based on their respective second private keys, thereby obtaining the second collaborative signature data.
[0153] After the recipient receives the signature data and original data sent by the sender, it is also necessary to perform signature verification on the signature data and original data to verify whether the received data has been tampered with. Therefore, the embodiment of the present application also provides a collaborative signature verification method, which is applied to the first client in the collaborative signature verification system. The collaborative signature verification method provided by the embodiment of the present application is explained in detail below with specific examples in combination with the accompanying drawings. Figure 6 This is one of the flow charts of a collaborative signature verification method provided in an embodiment of the present application; Figure 6 As shown, the method includes:
[0154] S501. Obtain original text data to be verified and corresponding hybrid collaborative signature data to be verified.
[0155] In this embodiment, the first client is a client that receives the original data to be verified and the corresponding mixed collaborative signature data to be verified in the collaborative signature verification system. At this time, the first client serves as a receiver.
[0156] S502, unpack the mixed collaborative signature data to be verified to obtain first collaborative signature data to be verified and second collaborative signature data to be verified.
[0157] Since the mixed collaborative signature data to be verified is the signature data after splicing and packaging of the first collaborative signature data to be verified and the second collaborative signature data to be verified, the first client needs to first perform unpacking processing on the mixed collaborative signature data to be verified to obtain the first collaborative signature data to be verified s' and the second collaborative signature data to be verified qs'.
[0158] S503, according to the first public key of the first client and the first public key of at least one second client, using the inverse algorithm of the first signature algorithm to collaboratively verify the first collaborative signature data to be verified to obtain the first signature verification data.
[0159] Specifically, the at least one second client is a client in the collaborative signature verification system for collaboratively verifying the signature with the first client, and the first signature algorithm is a traditional asymmetric signature algorithm that meets the security compliance requirements of the cryptographic algorithm.
[0160] According to the first public key of the first client and the first public key of at least one second client, the first client uses the inverse algorithm of the first signature algorithm to collaboratively verify the first collaborative signature data to be verified s', and obtains the first signature verification data f1, that is, the first verification result.
[0161] S504, according to the second public key of the first client and the second public key of at least one second client, using the inverse algorithm of the second signature algorithm to collaboratively verify the second collaborative signature data to be verified to obtain the second signature verification data.
[0162] Wherein, the first signature algorithm and the second signature algorithm are two different asymmetric signature algorithms. According to the second public key of the first client and the second public key of at least one second client, the first client uses the inverse algorithm of the second signature algorithm to collaboratively verify the second collaborative signature data to be verified qs', and obtains the second signature verification data f2, that is, the second verification result.
[0163] S505, performing AND operation on the first signature verification data and the second signature verification data to obtain the target signature verification result.
[0164] The target signature verification result is determined by performing an AND operation on the first signature verification data f1 and the second signature verification data f2. For example, if the first signature verification data f1 is successfully verified and the second signature verification data f2 is failed to be verified, then the target signature verification result is verification failure, which means that the original data to be verified received by the first client may have been tampered with; if the first signature verification data f1 is successfully verified and the second signature verification data f2 is successfully verified, then the target signature verification result is verification success, which means that the original data to be verified received by the first client has not been tampered with.
[0165] In summary, an embodiment of the present application provides a collaborative signature verification method, which is applied to a first client in a collaborative signature verification system. The method includes: obtaining original data to be verified and corresponding mixed collaborative signature data to be verified, decapsulating the mixed collaborative signature data to be verified to obtain first collaborative signature data to be verified and second collaborative signature data to be verified, and using the inverse algorithm of the first signature algorithm to perform collaborative signature verification on the first collaborative signature data to be verified according to the first public key of the first client and the first public key of at least one second client to obtain first signature verification data, and using the inverse algorithm of the second signature algorithm to perform collaborative signature verification on the second collaborative signature data to be verified according to the second public key of the first client and the second public key of at least one second client to obtain second signature verification data; the first signature algorithm and the second signature algorithm are two different asymmetric signature algorithms, respectively, and finally performing an AND operation on the first signature verification data and the second signature verification data to obtain a target signature verification result. By performing signature verification on the original data to be verified and the corresponding mixed collaborative signature data to be verified by two signature algorithms to obtain a target signature verification result, it is possible to accurately determine whether the original data to be verified has been tampered with.
[0166] Based on the collaborative signature verification method provided in the above embodiment, the embodiment of the present application further provides another possible implementation of the collaborative signature verification method by determining the first signature verification data. Figure 7 This is a second flow chart of a collaborative signature verification method provided in an embodiment of the present application. Figure 7 As shown, according to the first public key of the first client and the first public key of at least one second client, the first collaborative signature data to be verified is collaboratively verified using the inverse algorithm of the first signature algorithm to obtain first signature verification data, including:
[0167] S601: Based on the first public key of the first client, an inverse algorithm of the first signature algorithm is used to perform signature verification on the original data to be verified and the first collaborative signature data to be verified to obtain first first signature verification data.
[0168] In this embodiment, the first collaborative signature data to be verified is processed using the first signature algorithm to obtain collaborative signature data. Therefore, the first client uses the inverse algorithm of the first signature algorithm based on the first public key of the first client to perform signature verification on the original data to be verified and the first collaborative signature data to be verified to obtain the first first signature verification data.
[0169] S602. If the first first signature verification data indicates that the verification is successful, continue to use the inverse algorithm of the first signature algorithm to perform signature verification on the original data to be verified and the first collaborative signature data to be verified according to the first public key of the first second client among at least one second client to obtain the second first signature verification data, until the verification fails or the first signature verification data of the last second client is obtained.
[0170] Among them, the first first signature verification data indicates that the verification is passed, that is, the verification is successful, and then the first public key of each second client in at least one second client is used in turn, and the inverse algorithm of the first signature algorithm is used to perform signature verification on the original data to be verified and the first collaborative signature data to be verified. First, according to the first public key of the first second client, the inverse algorithm of the first signature algorithm is used to perform signature verification to obtain the second first signature verification data. If the second first signature verification data indicates that the verification is passed, the inverse algorithm of the first signature algorithm is used to perform signature verification according to the first public key of the second second client to obtain the third first signature verification data. If the third first signature verification data indicates that the verification does not pass, that is, the verification fails, the verification is stopped.
[0171] The first signature verification data includes: signature verification data that failed verification, or signature verification data of each client that passed verification. At this time, when the third first signature verification data indicates that the verification failed, the obtained first signature verification data includes: the first first signature verification data passed verification, the second first signature verification data passed verification, and the third first signature verification data failed verification.
[0172] If the third first signature verification data indicates that the verification is successful, the signature verification will continue to be performed based on the first public key of the subsequent second client using the inverse algorithm of the first signature algorithm until the first signature verification data of the last second client is obtained. The first signature verification data obtained at this time includes: data that has passed the verification of the first signature verification data of all clients.
[0173] In the method provided in the embodiment of the present application, the first client performs signature verification on the original data to be verified and the first collaborative signature data to be verified using the inverse algorithm of the first signature algorithm based on the first public key of the first client to obtain the first first signature verification data; if the first first signature verification data indicates that the verification is passed, the signature verification is continued to be performed on the original data to be verified and the first collaborative signature data to be verified using the inverse algorithm of the first signature algorithm based on the first public key of the first second client among at least one second client to obtain the second first signature verification data, until the verification fails or the first signature verification data of the last second client is obtained, the first signature verification data includes: the signature verification data of the failed verification, or the signature verification data of each client that passed the verification. The signature verification of the original data to be verified and the first collaborative signature data to be verified using the inverse algorithm of the first signature algorithm is implemented to obtain the first signature verification data.
[0174] The embodiment of the present application also provides another possible implementation of the collaborative signature verification method by determining the second signature verification data. Figure 8 This is a flowchart of a collaborative signature verification method provided in an embodiment of the present application. Figure 8 As shown, according to the second public key of the first client and the second public key of at least one second client, the second collaborative signature data to be verified is collaboratively verified using the inverse algorithm of the second signature algorithm to obtain second signature verification data, including:
[0175] S701: Parse the second collaborative signature data to be verified to obtain a first signature component of the first client, the user name of the first client, the user names of all second clients, and the second signature components of all second clients.
[0176] In this embodiment, since the second collaborative signature data to be verified is pre-processed using the second signature algorithm, and the first signature component of the first client, the user name of the first client, the user names of all second clients, and the second signature components of all second clients are spliced and encapsulated to obtain the collaborative signature data, the first client needs to parse the second collaborative signature data qs' to be verified to obtain the first signature component of the first client, the user name of the first client, the user names of all second clients, and the second signature components of all second clients.
[0177] S702: Based on the user name of the first client and the user names of all second clients, obtain the second public key of the first client and the second public keys of all second clients from the server.
[0178] Specifically, the first client sends the username of the first client and the usernames of all second clients to the public key management center of the server, so that the server determines the second public key of the first client and the second public keys of all second clients based on the username of the first client and the usernames of all second clients, and sends them to the first client.
[0179] S703 : Based on the second public key of the first client and the second public key of the first second client, use the inverse algorithm of the second signature algorithm to perform signature verification on the original data to be verified and the second signature component of the first second client to obtain first second signature verification data.
[0180] S704. If the first second signature verification data indicates that the verification is successful, continue to use the inverse algorithm of the second signature algorithm to perform signature verification on the second signature component of the next second client according to the second public key of the first second client and the second public key of the next second client to obtain the second second signature verification data, until the verification fails or the second signature verification data of the last second client is obtained.
[0181] Specifically, the first client performs signature verification on the original data to be verified and the second signature component of the first second client using the inverse algorithm of the second signature algorithm based on the second public key of the first client and the second public key of the first second client to obtain the first second signature verification data.
[0182] If the first second signature verification data indicates that the verification is passed, that is, the verification is successful, then the signature verification is continued in sequence according to the second public key of each second client in at least one second client, using the inverse algorithm of the second signature algorithm, on the original data to be verified and the second collaborative signature data to be verified. First, according to the second public key of the first second client and the second public key of the next second client, that is, the second second client, the inverse algorithm of the second signature algorithm is used to perform signature verification on the second signature component of the second second client to obtain the second second signature verification data. If the second second signature verification data indicates that the verification is passed, then according to the second public key of the second second client and the second public key of the next second client, that is, the third second client, the inverse algorithm of the second signature algorithm is used to perform signature verification to obtain the third second signature verification data. If the third second signature verification data indicates that the verification is not passed, that is, the verification fails, then the verification is stopped. At this time, the second signature verification data includes: the first second signature verification data passed, the second second signature verification data passed, and the third second signature verification data failed.
[0183] If the third second signature verification data indicates that the verification is successful, the signature verification will continue to be performed according to the second public key of the subsequent second client using the inverse algorithm of the second signature algorithm until the second signature verification data of the last second client is obtained. The second signature verification data obtained at this time includes: data that has passed the verification of the second signature verification data of all second clients.
[0184] S705. If the second signature verification data of the last second client indicates that the verification is successful, perform signature verification on the first signature component using the inverse algorithm of the second signature algorithm according to the second public key of the first client and the second public key of the last second client to obtain second signature verification data.
[0185] Specifically, if the inverse algorithm of the second signature algorithm is used to perform signature verification on the first signature component to obtain data with successful signature verification, the second signature verification data obtained at this time includes: data with successful second signature verification data verification of all clients.
[0186] In the method provided in an embodiment of the present application, the second collaborative signature data to be verified is parsed to obtain a first signature component of the first client, the username of the first client, the usernames of all second clients, and the second signature components of all second clients. Based on the username of the first client and the usernames of all second clients, the second public key of the first client and the second public keys of all second clients are obtained from the server. Based on the second public key of the first client and the second public key of the first second client, an inverse algorithm of the second signature algorithm is used to perform signature verification on the original data to be verified and the second signature component of the first second client to obtain first second signature verification data. If the first second signature verification data indicates that the verification is successful, the second signature component of the next second client is continuously verified using the second public key of the first second client and the second public key of the next second client using the inverse algorithm of the second signature algorithm to obtain second second signature verification data, until the verification fails or the second signature verification data of the last second client is obtained. If the second signature verification data of the last second client indicates that the verification is successful, the first signature component is signature verified using the second public key of the first client and the second public key of the last second client using the inverse algorithm of the second signature algorithm to obtain second signature verification data. Implement signature verification of the original data to be verified and the second collaborative signature data to be verified using the inverse algorithm of the second signature algorithm to obtain second signature verification data.
[0187] The embodiment of the present application also provides another possible implementation of the collaborative signature verification method, wherein the second signature algorithm is: a post-quantum signature algorithm. Figure 9 This is a fourth flow chart of a collaborative signature verification method provided in an embodiment of the present application. Figure 10 A schematic diagram for determining second signature verification data is provided for an embodiment of the present application. As shown, according to the second public key of the first client and the second public key of the first second client, the inverse algorithm of the second signature algorithm is used to perform signature verification on the to-be-verified plaintext data and the second signature component of the first second client, to obtain the first second signature verification data, including: Figure 9
[0188] S801, according to the second public key of the first client and the to-be-verified plaintext data, the inverse algorithm of the post-quantum signature algorithm is used to perform digest calculation, to obtain the first verification digest value.
[0189] In the embodiment, as shown, the first client user1' uses the inverse algorithm of the post-quantum signature algorithm to perform digest calculation on the second public key pk1' of the first client and the to-be-verified plaintext data p, to obtain the first verification digest value h1', which is expressed as: h1' = hash(pk1', p). Figure 10
[0190] S802, according to the first verification digest value and the second public key of the first second client, the inverse algorithm of the post-quantum signature algorithm is used to perform signature verification on the second signature component of the first second client, to obtain the first second signature verification data.
[0191] Specifically, the first client performs signature verification on the second signature component s'2 of the first second client according to the first verification digest value h1' and the second public key pk'2 of the first second client user2', to obtain the first second signature verification data v1, which is expressed as: v1 = verify(h1', s'2, pk'2).
[0192] Continuing according to the second public key of the first second client and the second public key of the next second client, the inverse algorithm of the second signature algorithm is used to perform signature verification on the second signature component of the next second client, to obtain the second second signature verification data, including:
[0193] S803, according to the second public key of the first second client and the first verification digest value, the inverse algorithm of the post-quantum signature algorithm is used to perform digest calculation, to obtain the first second verification digest value.
[0194] Specifically, if the first second signature verification data indicates that the verification is passed, the first client user1' uses the inverse algorithm of the post-quantum signature algorithm to perform digest calculation on the second public key pk'2 of the first second client and the first verification digest value h1', to obtain the first second verification digest value h'2, which is expressed as:
[0195] S804. Perform signature verification on the second signature component of the next second client using an inverse algorithm of the post-quantum signature algorithm according to the first second verification digest value and the second public key of the next second client to obtain second second signature verification data.
[0196] Specifically, the first client performs signature verification on the second signature component s'3 of the second second client based on the first second verification summary value h'2 and the second public key pk3' of the next second client, i.e., the second second client user3', to obtain the second second signature verification data v2. The second second signature verification data v2 is expressed as: v2 = verify(h'2, s'3, pk3').
[0197] The first signature component is signature-verified using the inverse algorithm of the second signature algorithm according to the second public key of the first client and the second public key of the last second client to obtain second signature verification data, including:
[0198] S805. Perform digest calculation using an inverse algorithm of the post-quantum signature algorithm according to the second public key of the last second client and the previous second verification digest value to obtain a last second verification digest value.
[0199] Among them, the first client uses the inverse algorithm of the post-quantum signature algorithm to authenticate the last second client user n 'Second public key pk' n and the previous second verification digest value h' n-1 Perform digest calculation to obtain the final second verification digest value h' n , the last second verification digest value h' n Expressed as:
[0200] S806. Perform signature verification on the first signature component using an inverse algorithm of the second signature algorithm according to the last second verification digest value and the second public key of the first client to obtain second signature verification data.
[0201] Specifically, the first client verifies the last second verification digest value h' n , the first client's second public key pk1' performs signature verification on the first signature component s1' to obtain the last second signature verification data v n , the last second signature verification data v n Expressed as: v n =verify(h' n ,s1',pk1'). If the last second signature verification data v nIf the verification is successful, the second signature verification data obtained at this time includes: data on which the second signature verification data of all clients has been successfully verified.
[0202] In the method provided in the embodiment of the present application, a digest calculation is performed using an inverse algorithm of a post-quantum signature algorithm based on the second public key of the first client and the original data to be verified to obtain a first verification digest value; a signature verification is performed on the second signature component of the first second client using the inverse algorithm of the post-quantum signature algorithm based on the first verification digest value and the second public key of the first second client to obtain first second signature verification data; a digest calculation is performed using the inverse algorithm of the post-quantum signature algorithm based on the second public key of the first second client and the first verification digest value to obtain a first second verification digest value; a signature verification is performed on the second signature component of the next second client using the inverse algorithm of the post-quantum signature algorithm based on the first second verification digest value and the second public key of the next second client to obtain second second signature verification data; a digest calculation is performed using the inverse algorithm of the post-quantum signature algorithm based on the second public key of the last second client and the previous second verification digest value to obtain a last second verification digest value; a signature verification is performed on the first signature component using the inverse algorithm of the second signature algorithm based on the last second verification digest value and the second public key of the first client to obtain second signature verification data. Implement signature verification of the original data to be verified and the second collaborative signature data to be verified using the inverse algorithm of the post-quantum signature algorithm to obtain second signature verification data.
[0203] The following continues to explain the collaborative signature device, collaborative signature verification device, collaborative signature verification system, and client provided by any of the above embodiments of this application. The specific implementation process and the technical effects produced are the same as those of the corresponding method embodiments mentioned above. For the sake of brief description, for the parts not mentioned in this embodiment, please refer to the corresponding content in the method embodiment.
[0204] Figure 11 This is a functional module diagram of a collaborative signature device provided in an embodiment of the present application, which is applied to the first client in a collaborative signature verification system. Figure 11 As shown, the collaborative signature device 100 includes:
[0205] The acquisition module 110 is used to obtain the original data to be signed;
[0206] The signing module 120 is configured to collaboratively sign the original data to be signed using a first signature algorithm with at least one second client based on their respective first private keys to obtain first collaborative signature data;
[0207] The signature module 120 is further configured to collaboratively sign the original data to be signed using a second signature algorithm with at least one second client based on their respective second private keys to obtain second collaborative signature data; the first signature algorithm and the second signature algorithm are two different asymmetric signature algorithms;
[0208] The encapsulation module 130 is configured to encapsulate the first collaborative signature data and the second collaborative signature data to obtain hybrid collaborative signature data corresponding to the original data to be signed.
[0209] Optionally, the signature module 120 is also used to adopt the first signature algorithm to obtain the first first intermediate data based on the original data to be signed; send the first first intermediate data to the first second client among at least one second client, so that the first second client adopts the first signature algorithm to obtain the second first intermediate data based on the first first intermediate data, and transmit it to the next second client to continue processing using the first signature algorithm; receive the last first intermediate data sent by the last second client among at least one second client; and adopt the first signature algorithm based on the last first intermediate data to obtain the first collaborative signature data.
[0210] Optionally, the signature module 120 is also used to adopt a second signature algorithm to obtain first second intermediate data based on the original data to be signed; send the first second intermediate data to the first second client among at least one second client, so that the first second client adopts the second signature algorithm to obtain second second intermediate data based on the first second intermediate data, and transmit it to the next second client to continue processing using the second signature algorithm; receive the last second intermediate data sent by the last second client among at least one second client; and adopt the second signature algorithm based on the last second intermediate data to obtain second collaborative signature data.
[0211] Optionally, the signature module 120 is further configured to perform a digest operation using a post-quantum signature algorithm based on the public key of the first client and the original data to be signed, to obtain a digest value of the first client; the first second intermediate data includes: the digest value of the first client; the digest value of the first client is sent to the first second client, so that the first second client performs a digest operation using a post-quantum signature algorithm based on the public key of the first second client and the digest value of the first client, to obtain the digest value of the first second client, and performs a signature operation on the digest value of the first client based on the second private key of the first second client, to obtain the signature value of the first second client, and transmits it to the next second client to continue signing. Processing is performed using a post-quantum signature algorithm, wherein the second second intermediate data includes: the summary value of the first second client, the signature value of the first second client, and the user name of the first second client; the last second intermediate data includes: the summary value of the last second client, the signature values of all second clients, and the user names of all second clients; according to the second private key of the first client, a signature operation is performed on the summary value of the last second client using the post-quantum signature algorithm to obtain the signature value of the first client; the signature value of the first client, the user name of the first client, the signature values of all second clients, and the user names of all second clients are encapsulated to obtain second collaborative signature data.
[0212] Figure 12 This is a functional module diagram of a collaborative signature verification device provided in an embodiment of the present application, which is applied to the first client in a collaborative signature verification system. Figure 12 As shown, the collaborative signature verification device 200 includes:
[0213] An acquisition module 210 is used to acquire original data to be verified and corresponding hybrid collaborative signature data to be verified;
[0214] The decapsulation module 220 is configured to decapsulate the hybrid collaborative signature data to be verified to obtain the first collaborative signature data to be verified and the second collaborative signature data to be verified;
[0215] The signature verification module 230 is configured to perform collaborative signature verification on the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm based on the first public key of the first client and the first public key of at least one second client, to obtain first signature verification data;
[0216] The signature verification module 230 is further configured to perform collaborative signature verification on the second collaborative signature data to be verified using an inverse algorithm of the second signature algorithm based on the second public key of the first client and the second public key of at least one second client, to obtain second signature verification data; the first signature algorithm and the second signature algorithm are respectively two different asymmetric signature algorithms;
[0217] The operation module 240 is configured to perform an AND operation on the first signature verification data and the second signature verification data to obtain a target signature verification result.
[0218] Optionally, the signature verification module 230 is further used to perform signature verification on the original data to be verified and the first collaborative signature data to be verified according to the first public key of the first client, using the inverse algorithm of the first signature algorithm, to obtain first first signature verification data; if the first first signature verification data indicates that the verification is successful, then continue to perform signature verification on the original data to be verified and the first collaborative signature data to be verified according to the first public key of the first second client in at least one second client, using the inverse algorithm of the first signature algorithm, to obtain second first signature verification data, until the verification fails or the first signature verification data of the last second client is obtained, and the first signature verification data includes: signature verification data that failed verification, or signature verification data of each client that passed verification.
[0219] Optionally, the signature verification module 230 is further used to parse the second collaborative signature data to be verified to obtain the first signature component of the first client, the user name of the first client, the user names of all second clients, and the second signature components of all second clients; based on the user name of the first client and the user names of all second clients, obtain the second public key of the first client and the second public keys of all second clients from the server; according to the second public key of the first client and the second public key of the first second client, use the inverse algorithm of the second signature algorithm to perform signature verification on the original data to be verified and the second signature component of the first second client to obtain first second signature verification data; if the first second signature verification data indicates that the verification is successful, continue to use the inverse algorithm of the second signature algorithm to perform signature verification on the second signature component of the next second client according to the second public key of the first second client and the second public key of the next second client to obtain second second signature verification data, until the verification fails or the second signature verification data of the last second client is obtained; if the second signature verification data of the last second client indicates that the verification is successful, use the inverse algorithm of the second signature algorithm to perform signature verification on the first signature component according to the second public key of the first client and the second public key of the last second client to obtain second signature verification data.
[0220] The second signature algorithm is a post-quantum signature algorithm. Optionally, the signature verification module 230 is further configured to perform a digest calculation using an inverse algorithm of the post-quantum signature algorithm based on the second public key of the first client and the original data to be verified, to obtain a first verification digest value; perform signature verification on the second signature component of the first second client using the inverse algorithm of the post-quantum signature algorithm based on the first verification digest value and the second public key of the first second client, to obtain first second signature verification data; perform a digest calculation using the inverse algorithm of the post-quantum signature algorithm based on the second public key of the first second client and the first verification digest value, to obtain a first second verification digest value; perform signature verification on the second signature component of the next second client using the inverse algorithm of the post-quantum signature algorithm based on the first second verification digest value and the second public key of the next second client, to obtain second second signature verification data; perform a digest calculation using the inverse algorithm of the post-quantum signature algorithm based on the second public key of the last second client and the previous second verification digest value, to obtain a last second verification digest value; and perform signature verification on the first signature component using the inverse algorithm of the second signature algorithm based on the last second verification digest value and the second public key of the first client, to obtain second signature verification data.
[0221] The above-mentioned device is used to execute the method provided in the above-mentioned embodiment. Its implementation principle and technical effect are similar and will not be repeated here.
[0222] The above modules can be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more microprocessors, or one or more field programmable gate arrays (FPGAs). For another example, when a module is implemented by scheduling program code through a processing element, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0223] The present application also provides a collaborative signature verification system. The collaborative signature verification system includes: multiple clients, each of which is in communication with a server. Each of the multiple clients is in communication with the server. Each of the multiple clients can execute a collaborative signature method or a collaborative signature verification method.
[0224] Figure 13This is one of the schematic diagrams of a collaborative signature verification system provided in an embodiment of the present application, such as Figure 13 As shown, the first client among multiple clients, at least one second client and the server jointly perform signature processing on the original data to be signed to obtain the mixed collaborative signature data corresponding to the original data to be signed. The specific signature processing steps are recorded in detail in the above steps S101-S404 and will not be repeated here.
[0225] Figure 14 This is a second schematic diagram of a collaborative signature verification system provided in an embodiment of the present application, as shown in FIG. Figure 14 As shown, the first client among multiple clients, at least one second client and the server jointly perform signature verification processing on the original data to be verified and the corresponding mixed collaborative signature data to be verified to obtain the target signature verification result. The specific processing steps are recorded in detail in the above steps S501-S806 and will not be repeated here.
[0226] Figure 15 This is a schematic diagram of a client provided in an embodiment of the present application, which can be used for collaborative signing or collaborative signature verification. Figure 15 As shown, the client includes: a processor 310 , a storage medium 320 , and a bus 330 .
[0227] Storage medium 320 stores machine-readable instructions executable by processor 310. When the client is running, processor 310 communicates with storage medium 320 via bus 330, and processor 310 executes the machine-readable instructions to perform the steps of the above method embodiment. The specific implementation methods and technical effects are similar and will not be repeated here.
[0228] Optionally, the present application further provides a storage medium 320 on which a computer program is stored. When the computer program is executed by a processor, the steps of the above method embodiment are executed. The specific implementation and technical effects are similar and will not be repeated here.
[0229] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0230] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0231] In addition, the functional units in various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or hardware plus software functional units.
[0232] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor (English: processor) to perform some steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (English: Read-Only Memory, abbreviated: ROM), a random access memory (English: Random Access Memory, abbreviated: RAM), a magnetic disk or an optical disk, and other media that can store program code.
[0233] The above are only specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.
Claims
1. A collaborative signature method, characterized in that: Applied to a first client in a collaborative signature verification system, the method includes: Get the original data to be signed; Collaboratively signing the original data to be signed using a first signature algorithm with at least one second client based on their respective first private keys to obtain first collaborative signature data; and, with the at least one second client, collaboratively signing the original data to be signed using a second signature algorithm based on their respective second private keys to obtain second collaborative signature data; wherein the first signature algorithm and the second signature algorithm are respectively two different asymmetric signature algorithms; The first collaborative signature data and the second collaborative signature data are encapsulated to obtain mixed collaborative signature data corresponding to the original data to be signed.
2. The method according to claim 1, characterized in that The step of collaboratively signing the original data to be signed with the at least one second client using a first signature algorithm based on their respective first private keys to obtain first collaborative signature data includes: Using the first signature algorithm, obtaining first intermediate data based on the original data to be signed; sending the first first intermediate data to a first second client among the at least one second client, so that the first second client uses the first signature algorithm to obtain second first intermediate data based on the first first intermediate data, and transmits the second first intermediate data to a next second client for further processing using the first signature algorithm; receiving the last first intermediate data sent by the last second client among the at least one second client; Based on the last first intermediate data, the first signature algorithm is adopted to obtain the first collaborative signature data.
3. The method according to claim 1, characterized in that The step of collaboratively signing the original data to be signed with the at least one second client using a second signature algorithm based on their respective second private keys to obtain second collaborative signature data includes: Using the second signature algorithm, obtaining first second intermediate data based on the original data to be signed; sending the first second intermediate data to a first second client among the at least one second client, so that the first second client uses the second signature algorithm to obtain second second intermediate data based on the first second intermediate data, and transmits the second second intermediate data to a next second client for further processing using the second signature algorithm; receiving the last second intermediate data sent by the last second client among the at least one second client; Based on the last second intermediate data, the second signature algorithm is adopted to obtain the second collaborative signature data.
4. The method according to claim 3, characterized in that The second signature algorithm is a post-quantum signature algorithm, and the second signature algorithm is used to obtain the first second intermediate data based on the original data to be signed, including: Performing a digest operation using the post-quantum signature algorithm based on the public key of the first client and the original data to be signed to obtain a digest value of the first client; the first second intermediate data includes: the digest value of the first client; The sending of the first second intermediate data to a first second client among the at least one second client, so that the first second client adopts the second signature algorithm, obtains second second intermediate data based on the first second intermediate data, and transmits the second second intermediate data to a next second client for further processing using the second signature algorithm, includes: Sending the digest value of the first client to the first second client, so that the first second client performs a digest operation using the post-quantum signature algorithm based on the public key of the first second client and the digest value of the first client to obtain the digest value of the first second client, and performs a signature operation on the digest value of the first client based on the second private key of the first second client to obtain the signature value of the first second client, and transmits the signature value to the next second client to continue processing using the post-quantum signature algorithm, wherein the second second intermediate data includes: the digest value of the first second client, the signature value of the first second client, and the user name of the first second client; The last second intermediate data includes: a digest value of the last second client, signature values of all second clients, and user names of all second clients; The step of obtaining the second collaborative signature data based on the last second intermediate data and adopting the second signature algorithm includes: Performing a signature operation on the digest value of the last second client using the post-quantum signature algorithm according to the second private key of the first client to obtain a signature value of the first client; The signature value of the first client, the user name of the first client, the signature values of all the second clients, and the user names of all the second clients are encapsulated to obtain the second collaborative signature data.
5. A collaborative signature verification method, characterized in that: Applied to a first client in a collaborative signature verification system, the method includes: Obtain the original data to be verified and the corresponding hybrid collaborative signature data to be verified; Decapsulating the hybrid collaborative signature data to be verified to obtain first collaborative signature data to be verified and second collaborative signature data to be verified; Perform collaborative signature verification on the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm according to the first public key of the first client and the first public key of at least one second client, to obtain first signature verification data; performing collaborative signature verification on the second collaborative signature data to be verified using an inverse algorithm of a second signature algorithm based on the second public key of the first client and the second public key of the at least one second client, to obtain second signature verification data; the first signature algorithm and the second signature algorithm are respectively two different asymmetric signature algorithms; An AND operation is performed on the first signature verification data and the second signature verification data to obtain a target signature verification result.
6. The method according to claim 5, characterized in that The step of performing collaborative signature verification on the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm according to the first public key of the first client and the first public key of at least one second client to obtain first signature verification data includes: Perform signature verification on the original data to be verified and the first collaborative signature data to be verified using an inverse algorithm of the first signature algorithm according to the first public key of the first client to obtain first first signature verification data; If the first first signature verification data indicates that the verification is successful, then continue to use the first public key of the first second client among the at least one second client and the inverse algorithm of the first signature algorithm to perform signature verification on the original data to be verified and the first collaborative signature data to be verified to obtain the second first signature verification data until the verification fails or the first signature verification data of the last second client is obtained. The first signature verification data includes: signature verification data that failed verification, or signature verification data of each client that passed verification.
7. The method according to claim 5, characterized in that The step of performing collaborative signature verification on the second collaborative signature data to be verified using an inverse algorithm of a second signature algorithm according to the second public key of the first client and the second public key of the at least one second client to obtain second signature verification data includes: Parsing the second collaborative signature data to be verified to obtain a first signature component of the first client, a user name of the first client, user names of all second clients, and second signature components of all second clients; Based on the user name of the first client and the user names of all the second clients, obtaining the second public key of the first client and the second public keys of all the second clients from the server; Perform signature verification on the original data to be verified and the second signature component of the first second client using an inverse algorithm of the second signature algorithm according to the second public key of the first client and the second public key of the first second client, to obtain first second signature verification data; If the first second signature verification data indicates that the verification is successful, then continuing to perform signature verification on the second signature component of the next second client using the inverse algorithm of the second signature algorithm according to the second public key of the first second client and the second public key of the next second client, to obtain second second signature verification data, until the verification fails or the second signature verification data of the last second client is obtained; If the second signature verification data of the last second client indicates that the verification is successful, then based on the second public key of the first client and the second public key of the last second client, the inverse algorithm of the second signature algorithm is used to perform signature verification on the first signature component to obtain the second signature verification data.
8. The method according to claim 7, characterized in that The second signature algorithm is a post-quantum signature algorithm; the inverse algorithm of the second signature algorithm is used to perform signature verification on the original data to be verified and the second signature component of the first second client according to the second public key of the first client and the second public key of the first second client, to obtain first second signature verification data, including: Performing digest calculation using an inverse algorithm of the post-quantum signature algorithm based on the second public key of the first client and the original data to be verified to obtain a first verification digest value; Performing signature verification on the second signature component of the first second client using an inverse algorithm of the post-quantum signature algorithm according to the first verification digest value and the second public key of the first second client to obtain the first second signature verification data; The step of continuing to perform signature verification on the second signature component of the next second client using the inverse algorithm of the second signature algorithm according to the second public key of the first second client and the second public key of the next second client to obtain second second signature verification data includes: Performing digest calculation using an inverse algorithm of the post-quantum signature algorithm according to the second public key of the first second client and the first verification digest value to obtain a first second verification digest value; performing signature verification on the second signature component of the next second client using an inverse algorithm of the post-quantum signature algorithm according to the first second verification digest value and the second public key of the next second client to obtain the second second signature verification data; The step of performing signature verification on the first signature component using an inverse algorithm of the second signature algorithm according to the second public key of the first client and the second public key of the last second client to obtain the second signature verification data includes: Performing digest calculation using an inverse algorithm of the post-quantum signature algorithm according to the second public key of the last second client and the previous second verification digest value to obtain a last second verification digest value; According to the last second verification digest value and the second public key of the first client, an inverse algorithm of the second signature algorithm is used to perform signature verification on the first signature component to obtain the second signature verification data.
9. A collaborative signature verification system, characterized in that: The collaborative signature verification system includes: multiple clients and servers, the multiple clients are respectively communicated with the servers, the multiple clients are communicated, and each client is used to execute the steps of the collaborative signature method as described in any one of claims 1 to 4, or execute the steps of the collaborative signature verification method as described in any one of claims 5 to 8.
10. A client, characterized in that: include: A processor, a storage medium and a bus, wherein the storage medium stores program instructions executable by the processor. When the client runs, the processor and the storage medium communicate through the bus, and the processor executes the steps of the collaborative signature method as described in any one of claims 1 to 4, or executes the steps of the collaborative signature verification method as described in any one of claims 5 to 8.
Citation Information
Patent Citations
Method and system for completing bidirectional SSL / TLS authentication through multi-party cooperation
CN110690969A
Signature method and system based on quantum key
CN113868715A