A method and system for preventing two-factor authentication signatures based on SM9
By using a two-factor authentication prevention signature method based on the SM9 algorithm, combined with pseudo-random functions and hash functions, the problems of high computational load and high cost in existing technologies are solved, achieving efficient and low-cost two-factor authentication prevention signatures, which are suitable for blockchain payment systems and PKI systems.
Patent Information
- Application Number
- CN202310243781.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-09
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2043-03-09
AI Technical Summary
Existing technologies lack SM9-based anti-dual authentication signature methods, which cannot effectively prevent dual signatures of different payloads under the same address, and existing methods are computationally intensive and costly.
A dual authentication signature method and system based on the SM9 algorithm is designed. By combining key generation, signature generation and verification algorithms, pseudo-random functions and hash functions are used to generate and verify signatures, and the user's private key is extracted to ensure the unforgeability and uniqueness of the signature.
It achieves efficient and low-cost anti-dual authentication signatures, meets the requirements of unforgeable security, and is suitable for scenarios such as blockchain payment systems and PKI systems, while reducing the amount of computation and management complexity.
Smart Images

Figure CN116346352B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information security technology, and in particular to a method and system for preventing dual authentication signatures based on SM9. Background Technology
[0002] Digital signature technology is an important cryptographic primitive and, as a component of public-key cryptography, plays an irreplaceable role in many everyday scenarios. By using the signer's private key to append extra data to message data units or to perform cryptographic transformations on data units, the recipient of the data is allowed to trace the source of the data, ensuring integrity and preventing forgery. Depending on the application scenario and requirements, various forms of digital signatures have emerged: group signatures, ring signatures, blind signatures, threshold signatures, and so on.
[0003] Two-factor authentication (DAP) signature prevention is a signature property designed to sign two messages that have the same first part (called the address) but different second parts (called the payload). It allows the secret signing key to be publicly extracted from both signatures without revealing the signer's identity. The main application of DAP is to suppress and / or punish the creation of two signatures on different payloads within the same address. Examples include punishing certificate authorities in PKI systems that distribute different key certificates for the same domain, and resisting double-spending attacks in transaction systems.
[0004] There is currently no SM9-based anti-two-factor authentication signature method. Summary of the Invention
[0005] Based on the SM9 digital signature algorithm, this invention designs a novel anti-dual authentication signature generation method and system. While ensuring the correctness and non-forgeability of the signature, it also meets the functional characteristics of anti-dual authentication signature, effectively combining the key generation, signature generation and signature verification algorithms of the SM9 signature scheme.
[0006] The first aspect of this invention provides an SM9-based method for preventing two-factor authentication signatures, comprising:
[0007] Initialization steps: The key generation center generates the system's public parameters pp, master private key msk, and master public key P. pub ;
[0008] Key generation steps: User ID A Use it as its public key to generate a user key pair;
[0009] Signing steps: Based on the message m to be signed, the private key... Calculate the message signature σ;
[0010] Verification steps: Based on the message to be verified, m′=(a,p), the master public key P pub Identity ID A The message signature value σ′ = S is used to verify whether the signature passes.
[0011] Key extraction steps: Based on the SOT public key vk, messages m1 = (a1, p1), m2 = (a2, p2), and signatures σ1 = S1, σ2 = S2; parse messages m1 and m2, and extract the user's private key based on the parsing results and preset conditions.
[0012] In one implementation, the initialization step specifically includes:
[0013] a) The key generation center generates random numbers. Used as the master private key, and used to calculate the master public key P. pub =[d]P2;
[0014] b) Computational group G T The element g = e(P1, P) pub ).
[0015] In one implementation, the key generation step specifically includes:
[0016] a) The key generation center generates part of user A's private key.
[0017] b) Initialize vk[·]←⊥, K[·]←⊥;
[0018] c) For all addresses Perform the following calculations:
[0019] i. F is a pseudo-random function;
[0020] ii. Calculate the random element w = u·G;
[0021] iii. Let vk[a] ← w;
[0022] iv. Order
[0023] d)
[0024] e)vk←(vk[·],K[·]).
[0025] Where H1(·) is a cryptographic function derived from the cryptographic hash function, and is... ← indicates an assignment operation, and H(·) is a cryptographic function derived from the cryptographic hash function. vk(·) is a partial public key generation function of SOT, used to generate a public key for verifying signatures; vk[] represents generating the user's public key for the corresponding address a; K(·) is a partial public key generation function of SOT, used to generate a public key for extracting the user's private key; sk and vk are the user's private key and user's public key, respectively.
[0026] In one implementation, the signature step specifically includes:
[0027] a) Parse the message m to be signed into (a, p);
[0028] b) F is a pseudo-random function;
[0029] c) Calculate w′=u·G;
[0030] d) Calculate h = H2(m||′);
[0031] e) Calculate l = u - h mod q;
[0032] f) Calculate
[0033] g) Output signature value σ = S;
[0034] Where u′ is the generated random number for user A corresponding to address a, e′ is the intermediate variable for generating the signature, h is the hash value, and H2(·) is the cryptographic function derived from the cryptographic hash function. l is an intermediate variable for generating the signature, and S is the signature value.
[0035] In one implementation, the verification step specifically includes:
[0036] a) Parse the message m′ to be verified as (a, p);
[0037] b) Calculate w″←vk[a];
[0038] c) Calculate h′=H2(m′||″);
[0039] d) Calculate P = [H1(ID)] A )]P2+P pub ;
[0040] e) Calculate u″ = e(S, P);
[0041] f) Calculate w″′=u·g h ;
[0042] g) Calculate h″=H2(m′||w″′). If h′=h″, the verification passes; otherwise, the verification fails.
[0043] Where w″ is a random element of user A obtained from the list during the signature verification phase, h′ is the intermediate value of the verified signature, P is the intermediate value of the verified signature, u″ is the intermediate value of the verified signature, w″′ is the intermediate value of the verified signature, and h″ is the hash value of m′||w″′.
[0044] In one implementation, the key extraction step specifically includes:
[0045] a) Analysis of m i m1 is (a1p1), m2 is (a2, p2);
[0046] b)(vk[a1],K[a1])←vk;
[0047] c) Check if the condition a1=a2∧p1≠p2 is met. If it is, proceed to the next step d). Otherwise, return to ⊥.
[0048] d) Check if the conditions are met. If satisfied, proceed to the next step e); otherwise, return ⊥.
[0049] e) Calculate w1←vk[a1];
[0050] f) Calculate h1 = slice2(m1||w) i h2 = H2(m2||w1);
[0051] g) Calculation If u1 = ⊥ is returned, then the algorithm exits.
[0052] h)
[0053] i) Return the user's private key
[0054] Where w1 is the random element of user A obtained from the list during the key extraction phase, h1 is the hash value of m1||w1, h2 is the hash value of m2||w2, and u1 is the random number of user A corresponding to address a.
[0055] Based on the same inventive concept, a second aspect of the present invention provides an SM9-based anti-dual authentication signature system, comprising:
[0056] The initialization module is used to generate the system's public parameters pp, master private key msk, and master public key P through the key generation center. pub ;
[0057] The key generation module is used to generate user identity IDs. A Use it as its public key to generate a user key pair;
[0058] The signature module is used to sign the message m to be signed and the private key. Calculate the message signature σ;
[0059] The verification module is used to verify the message m′=(a,p) and the master public key P. pub Identity ID A The message signature value σ′ = S is used to verify whether the signature passes.
[0060] The key extraction module is used to parse messages m1 and m2 based on the SOT public key vk, messages m1 = (a1, p1), m2 = (a2, p2), and signatures σ1 = S1 and σ2 = S2, and extract the user's private key according to the parsing results and preset conditions.
[0061] Based on the same inventive concept, a third aspect of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed, implements the method described in the first aspect.
[0062] Based on the same inventive concept, a fourth aspect of the present invention provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described in the first aspect.
[0063] Compared with the prior art, the advantages and beneficial technical effects of the present invention are as follows:
[0064] 1. No one has proposed a double-authentication prevention signature based on the SM9 algorithm. This invention designs a new double-authentication prevention signature based on the SM9 algorithm, implements and tests it, and promotes the application of domestic cryptographic algorithms.
[0065] 2. The signature scheme in this invention meets the requirements of non-forgeability and security, and the amount of computation involved in its implementation is small and the efficiency is high. Combined with the characteristics of the SM9 identifier algorithm itself, which has no certificate, easy key management, and low cost, it has great application potential. Attached Figure Description
[0066] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0067] Figure 1 A flowchart illustrating the signature generation process in the SM9-based anti-dual authentication signature method provided in this embodiment of the invention.
[0068] Figure 2The flowchart illustrates the signature verification process in the SM9-based anti-dual authentication signature method provided in this embodiment of the invention. Detailed Implementation
[0069] Two-factor authentication (DAP) signature prevention is a signature property designed to sign two messages that have the same first part (called the address) but different second parts (called the payload). It allows the secret signing key to be publicly extracted from both signatures without revealing the signer's identity. The main application of DAP is to suppress and / or punish the creation of two signatures on different payloads within the same address. Examples include punishing certificate authorities in PKI systems that distribute different key certificates for the same domain, and resisting double-spending attacks in transaction systems.
[0070] The SM9 algorithm is an elliptic curve cryptography algorithm released by the State Cryptography Administration. It consists of three parts: an identifier encryption algorithm, a digital signature algorithm, and a key negotiation mechanism. It is my country's first asymmetric cryptographic algorithm to be fully incorporated into the ISO / IEC standard. Compared with general cryptographic systems, the biggest advantage of the SM9 cryptosystem lies in its low cost, requiring no certificates and allowing for easy storage, management, and use of keys.
[0071] Based on the SM9 digital signature algorithm, this invention designs a novel anti-dual authentication signature generation method and system. While ensuring the correctness and non-forgeability of the signature, it also meets the functional characteristics of anti-dual authentication signature, effectively combining the key generation, signature generation and signature verification algorithms of the SM9 signature scheme.
[0072] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0073] Example 1
[0074] This invention provides an SM9-based method for preventing two-factor authentication signatures, including:
[0075] Initialization steps: The key generation center generates the system's public parameters pp, master private key msk, and master public key P. pub ;
[0076] Key generation steps: User ID A Use it as its public key to generate a user key pair;
[0077] Signing steps: Based on the message m to be signed, the private key... Calculate the message signature σ;
[0078] Verification steps: Based on the message to be verified, m′=(a,p), the master public key P pub Identity ID A The message signature value σ′ = S is used to verify whether the signature passes.
[0079] Key extraction steps: Based on the SOT public key vk, messages m1 = (a1, p1), m2 = (a2, p2), and signatures σ1 = S1, σ2 = S2; parse messages m1 and m2, and extract the user's private key based on the parsing results and preset conditions.
[0080] The specific symbols used and involved in this application are described as follows:
[0081] An additive cyclic group of order q, whose elements are points on an elliptic curve.
[0082] An additive cyclic group of order q, whose elements are points on an elliptic curve.
[0083] A multiplicative cyclic group of order q, whose elements are points on an elliptic curve.
[0084] G: Cyclic group One of the generators.
[0085] P1: Cyclic group One of the generators.
[0086] P2: Cyclic group One of the generators.
[0087] e: from arrive Bilinear pairs.
[0088] q: Cyclic group The rank.
[0089] The set of integers consisting of 1, 2, ..., q-1.
[0090] Finite field.
[0091] mod q: Modulo q operation.
[0092] kP: k times the value of point P on the elliptic curve, where k is a positive integer.
[0093] H: Cryptographic hash function
[0094] g u Multiplication group The element g raised to the power of u, where u is a positive integer.
[0095] m: The message value to be signed, which consists of two parts in this invention, represented as m = (a, p), where a represents the address and p represents the content payload.
[0096] This represents the set of valid message-signature pairs.
[0097] Address set.
[0098] Evaluate the key set.
[0099] F(k,a)→(x,y): a pseudo-random function with k as the evaluation key.
[0100] f x (R)→y: a pseudo-random function, with x as the evaluation key.
[0101] vk(·): A partial public key generation function of SOT, used to generate a public key for verifying signatures; vk[a] indicates the generation of the user's public key for the corresponding address a.
[0102] K(·): A partial public key generation function of SOT, used to generate a public key for extracting the user's private key; sk[a] represents generating the user's public key corresponding to address a.
[0103] The purpose of this invention is to propose a signature generation method and system based on the SM9 algorithm to prevent dual authentication. By utilizing the transformation of the one-time signature architecture, it effectively prevents dual authentication and meets the requirements of unforgeable security.
[0104] To address the objectives of this invention, a method and system for generating signatures to prevent double-spending based on the SM9 algorithm is proposed. In this scheme, a message consists of an address and a content payload. Only one signer is allowed to sign a message with the same address once; otherwise, the signer's private key will be exposed. Therefore, this approach is well-suited for scenarios such as transaction systems, effectively preventing double-spending in these environments.
[0105] In one implementation, the initialization step specifically includes:
[0106] a) The key generation center generates random numbers. Used as the master private key, and used to calculate the master public key P. pub =[d]P2;
[0107] b) Computational group G T The element g = e(P1, P)pub ).
[0108] In one implementation, the key generation step specifically includes:
[0109] a) The key generation center generates part of user A's private key.
[0110] b) Initialize vk[·]←⊥, K[·]←⊥;
[0111] c) For all addresses Perform the following calculations:
[0112] i. F is a pseudo-random function;
[0113] ii. Calculate the random element w = u·G;
[0114] iii. Let vk[a] ← w;
[0115] iv. Order
[0116] d)
[0117] e)vk←(vk[·],K[·]).
[0118] Where H1(·) is a cryptographic function derived from the cryptographic hash function, and is... ← indicates an assignment operation, and H(·) is a cryptographic function derived from the cryptographic hash function.
[0119] vk(·) is a partial public key generation function of SOT, used to generate a public key for verifying signatures; vk[a] represents the generation of the user's public key corresponding to address a; K(·) is a partial public key generation function of SOT, used to generate a public key for extracting the user's private key; sk and vk are the user's private key and user's public key, respectively.
[0120] In one implementation, the signature step specifically includes:
[0121] a) Parse the message m to be signed into (a, p);
[0122] b) F is a pseudo-random function;
[0123] c) Calculate w′=uG;
[0124] d) Calculate h = slice2(m||w′);
[0125] e) Calculate l = uh mod q;
[0126] f) Calculate
[0127] g) Output signature value σ = S;
[0128] Where u′ is the generated random number for user A corresponding to address a, w′ is the intermediate variable for generating the signature, h is the hash value, and H2(·) is the cryptographic function derived from the cryptographic hash function. l is an intermediate variable for generating the signature, and S is the signature value.
[0129] Specifically, 'm' represents the message to be signed; please refer to [link / reference needed]. Figure 1 The above is a flowchart of the signature generation process in the SM9-based anti-dual authentication signature method provided in this embodiment of the invention.
[0130] In one implementation, the verification step specifically includes:
[0131] a) Parse the message m′ to be verified as (a, p);
[0132] b) Calculate w″←vk[a];
[0133] c) Calculate h′=H2(m′||w″);
[0134] d) Calculate P = [H1(ID)] A )]P2+P pub ;
[0135] e) Calculate u″ = e(S, P);
[0136] f) Calculate w″′=u·g h ;
[0137] g) Calculate h″=H2(m′||w″′). If h′=h″, the verification passes; otherwise, the verification fails.
[0138] Where w″ is a random element of user A obtained from the list during the signature verification phase, h′ is the intermediate value of the verified signature, P is the intermediate value of the verified signature, u″ is the intermediate value of the verified signature, w″′ is the intermediate value of the verified signature, and h″ is the hash value of m′||w″′.
[0139] Specifically, message m′ is the message to be verified; please refer to [link / reference]. Figure 2 The above is a flowchart of the signature verification process in the SM9-based anti-dual authentication signature method provided in this embodiment of the invention.
[0140] In one implementation, the key extraction step specifically includes:
[0141] a) Analysis of m i m1 is (a1p1), m2 is (a2, p2);
[0142] b)(vk[a1],K[a1])←vk;
[0143] c) Check if the condition a1=a2∧p1≠p2 is satisfied. If it is satisfied, continue the algorithm; otherwise, return ⊥.
[0144] d) Check if the conditions are met. If satisfied, continue the algorithm; otherwise, return ⊥.
[0145] e) Calculate w1←vk[a1];
[0146] f) Calculate h1 = H2(m1||w1), h2 = H2(m2||w1);
[0147] g) Calculation If u1 = ⊥ is returned, then the algorithm exits.
[0148] h)
[0149] i) Return the user's private key
[0150] Where w1 is the random element of user A obtained from the list during the key extraction phase, h1 is the hash value of m1||w1, h2 is the hash value of m2||w2, and u1 is the random number of user A corresponding to address a.
[0151] This invention discloses a signature method and system for preventing two-factor authentication based on the SM9 algorithm. By utilizing the transformation of the one-time signature architecture, the private key of dishonest signers is extracted and made public, effectively preventing two-factor authentication and meeting the requirements of unforgeable security.
[0152] This invention has the advantages of high security, complete functions, and high computational efficiency. It greatly promotes the localization of cryptographic algorithms and is applicable to various scenarios such as preventing double-spending attacks in blockchain payment systems and preventing management agencies from issuing certificates repeatedly in PKI systems.
[0153] Example 2
[0154] Based on the same inventive concept, this embodiment provides an SM9-based anti-dual authentication signature system, including:
[0155] The initialization module is used to generate the system's public parameters pp, master private key msk, and master public key P through the key generation center. pub ;
[0156] The key generation module is used to generate user identity IDs. A Use it as its public key to generate a user key pair;
[0157] The signature module is used to sign the message m to be signed and the private key. Calculate the message signature σ;
[0158] The verification module is used to verify the message m′=(a,p) and the master public key P. pub Identity ID A The message signature value σ′ = S is used to verify whether the signature passes.
[0159] The key extraction module is used to parse messages m1 and m2 based on the SOT public key vk, messages m1 = (a1, p1), m2 = (a2, p2), and signatures σ1 = S1 and σ2 = S2, and extract the user's private key according to the parsing results and preset conditions.
[0160] Since the system described in Embodiment 2 of this invention is the system used to implement the SM9-based anti-dual authentication signature method in Embodiment 1 of this invention, those skilled in the art can understand the specific structure and variations of this system based on the method described in Embodiment 1 of this invention, and therefore will not be repeated here. All systems used in the method of Embodiment 1 of this invention fall within the scope of protection of this invention.
[0161] Example 3
[0162] Based on the same inventive concept, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed, implements the method described in Embodiment 1.
[0163] Since the computer-readable storage medium described in Embodiment 3 of this invention is the same computer-readable storage medium used in implementing the SM9-based anti-dual authentication signature method in Embodiment 1 of this invention, those skilled in the art can understand the specific structure and variations of this computer-readable storage medium based on the method described in Embodiment 1 of this invention, and therefore will not be repeated here. All computer-readable storage media used in the method of Embodiment 1 of this invention fall within the scope of protection of this invention.
[0164] Example 4
[0165] Based on the same inventive concept, this application also provides a computer device, including storage, a processor, and a computer program stored in the storage and executable on the processor, wherein the processor executes the program to implement the method in Embodiment 1.
[0166] Since the computer device described in Embodiment 4 of this invention is the same computer device used to implement the SM9-based anti-dual authentication signature method in Embodiment 1 of this invention, those skilled in the art can understand the specific structure and variations of this computer device based on the method described in Embodiment 1 of this invention, and therefore will not be repeated here. All computer devices used in the method of Embodiment 1 of this invention fall within the scope of protection of this invention.
[0167] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0168] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0169] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.
[0170] Obviously, those skilled in the art can make various modifications and variations to the embodiments of the present invention without departing from the spirit and scope of the embodiments of the present invention. Therefore, if these modifications and variations to the embodiments of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention also intends to include these modifications and variations.
Claims
1. A method for preventing two-factor authentication signatures based on SM9, characterized in that, include: Initialization steps: The key generation center generates system common parameters. Master private key Master key ; Key generation steps: User identity Use it as its public key to generate a user key pair; Signing steps: Based on the message to be signed private key Calculate message signature ; Verification steps: Based on the message to be verified , Indicates message address, Indicates message Content payload, public key ,identity and message signature value Verify whether the signature is valid; Key extraction steps: Based on the SOT public key ,information ,sign ; Regarding the message , The process involves parsing the data and extracting the user's private key based on the parsing results and preset conditions. ; The key extraction steps specifically include: a) Analysis for , for ; b) ; c) Check if the conditions are met. If satisfied, proceed to step d); otherwise, return. ; d) Check if the conditions are met. If satisfied, proceed to step e); otherwise, return. ; e) Calculation ; f) Calculation ; g) Calculation If return If so, the algorithm exits; h) i) Return the user's private key in, This refers to a random element of user A obtained from the list during the key extraction phase. To hash value, To hash value, This is a random number for user A at address a.
2. The SM9-based anti-dual authentication signature method as described in claim 1, characterized in that, The initialization steps specifically include: a) The key generation center generates random numbers. Used as the master private key, and used to calculate the master public key. ; b) Computational group elements in .
3. The SM9-based anti-dual authentication signature method as described in claim 1, characterized in that, The key generation steps specifically include: a) Key generation center generates users Part of the private key is ; b) Initialization , ; c) For all addresses Perform the following calculations: d) ; e) ; in, For cryptographic functions derived from cryptographic hash functions, , This indicates an assignment operation. For cryptographic functions derived from cryptographic hash functions, , This is a partial public key generation function for SOT, used to generate public keys for verifying signatures; Indicates the generation of the corresponding address The user's public key, This is a partial public key generation function for SOT, used to generate a public key for extracting the user's private key; , For the user's private key and user's public key.
4. The SM9-based anti-dual authentication signature method as described in claim 1, characterized in that, The signing process specifically includes: a) The message to be signed Parsed as ; b) , It is a pseudo-random function; c) Calculation ; d) Calculation ; e) Calculation ; f) Calculation ; g) Output signature value ; in, For the generated random number for user A corresponding to address a, As an intermediate variable for generating the signature, For hash value, For cryptographic functions derived from cryptographic hash functions, , As an intermediate variable for generating the signature, This is the signature value.
5. The SM9-based anti-dual authentication signature method as described in claim 1, characterized in that, The verification steps specifically include: a) The message to be verified Parsed as ; b) Calculation ; c) Calculation ; d) Calculation ; e) Calculation ; f) Calculate ; g) Calculation ,like If yes, the verification passes; otherwise, the verification fails. in, This refers to a random element of user A obtained from the list during the signature verification phase. To verify the intermediate value of the signature, To verify the intermediate value of the signature, To verify the intermediate value of the signature, To verify the intermediate value of the signature, To .
6. A dual authentication signature system based on SM9, characterized in that, include: The initialization module is used to generate common system parameters through the key generation center. Master private key Master key ; The key generation module is used to authenticate user identities. Use it as its public key to generate a user key pair; The signature module is used to identify messages to be signed. private key Calculate message signature ; The verification module is used to verify the message to be verified. , Indicates message address, Indicates message Content payload, public key ,identity and message signature value Verify whether the signature is valid; The key extraction module is used to extract the key from the SOT public key. ,information ,sign ; Regarding the message , The process involves parsing the data and extracting the user's private key based on the parsing results and preset conditions. ; The key extraction module is specifically used to perform the following steps: a) Analysis for , for ; b) ; c) Check if the conditions are met. If satisfied, proceed to step d); otherwise, return. ; d) Check if the conditions are met. If satisfied, proceed to step e); otherwise, return. ; e) Calculation ; f) Calculation ; g) Calculation If return If so, the algorithm exits; h) i) Return the user's private key in, This refers to a random element of user A obtained from the list during the key extraction phase. To hash value, To hash value, This is a random number for user A at address a.
7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1 to 5.
8. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
OpenID protocol design method based on SM9 blind signature
CN114389808A
Certificateless signature generation method and device based on SM9 signature
CN115174054A