Background
Compared with the pki (public Key infrastructure) adopting the digital certificate technology, the Identity Based Cryptogram (IBC) has the advantages that the troublesome link of obtaining the public Key digital certificate of the private Key owner is omitted, the technology is simple to realize, the IBC is increasingly emphasized by people at present, and the IBC has a wide application prospect.
The Identity-Based password can be used for data Encryption (called Identity Based Encryption, IBE) and digital Signature (called Identity Based Signature, IBS). At present, most of cryptographic algorithms based on identification adopt algorithms based on bilinear mapping (also called Pairing operation, Pairing operation), wherein the bilinear mapping (Pairing operation) is as follows:
e:G1×G2→ GT of the recipe, in which G is1、G2(groups of pairwise or bilinear mappings) are additive cyclic groups, GTIs a multiplication loop group, G1、G2、GTIs a prime number n (G is used in the SM9 specification)1、G2、GTThe order of (A) is capital letter N), i.e., if P, Q, R are G respectively1、G2In (b), e (P, Q) is GTAnd:
e(P+R,Q)=e(P,Q)e(R,Q),
e(P,Q+R)=e(P,Q)e(P,R),
e([a]P,[b]Q)=e(P,Q)ab。
where a and b are integers of [0, n-1], and [ a ] P and [ b ] Q represent the multiple addition or multiplication of P, Q at the point.
SM9 is an identification cryptographic algorithm based on bilinear mapping (pairing operation) issued by the national crypto authority. The SM 9-based cryptographic algorithm can realize digital signature based on identification, key exchange and data encryption. In the SM9 cryptographic algorithm, the user's SM9 private key d for signature is usedAThe process of generating a digital signature for message M is as follows:
calculating to obtain w ═ grWhere r is the value at 1, n-1 in signature computation]Randomly selected integer in the interval, g ═ e (P)1,Ppub),P1Is G1The generator of (1), PpubIs the master public key (i.e. P)pub=[s]P2S is a master private or master key, P2Is G2See SM9 specification; note that here the master private or master key, the master public key, user SM9 identifies the sign of the private key as different from that used in the SM9 specification);
then, H is calculated as H2(M | | w, n), wherein H2For the hash function specified in SM9, M | | | w represents the merging of strings of M and w, and n is G1、G2、GT(iii) of (see SM9 specification, note that the order of the group here uses symbols slightly different from the SM9 specification, using the lower case letter N, whereas the SM9 specification uses the upper case letter N);
if r ≠ h, calculate S [ [ r-h ≠ h]dAThen (h, S) is the generated digital signature; if rAnd (5) reselecting r and recalculating w and h until r is not equal to h.
Given the digital signature (h, S) of a message M, the method of verifying the validity of the signature is as follows (see the SM9 specification, note that the signature verification procedure in the SM9 specification uses the notation M ', (h ', S ')).
B1: checking whether h is formed by the element [1, n-1], if not, verifying that the h is not passed;
b2: checking that S belongs to G1If the verification result is not true, the verification is not passed;
b3: computing group GTWherein the element g ═ e (P)1,Ppub);
B4: computing group GTWherein t is gh;
B5: calculating the integer h1=H1(IDA| hid, n) (here IDAThe identity of the user, hid, is the signature private key generating function identifier expressed in one byte, H1() Is a hash or hash function defined in the SM9 specification);
b6: computing group G2Wherein the element P ═ h1]P2+Ppub;
B7: computing group GTThe element in (1) is (e) (S, P);
b8: computing group GTWherein w' is u.t;
b9: calculating the integer h2=H2(M | | w', n), test h2If h is true, the verification is passed; otherwise, the verification fails (H)2() Is a hash or hash function defined in the SM9 specification).
In the SM9 cryptographic algorithm, a user identifier (such as an ID)A) The corresponding Private Key for signature is calculated by a Key Generation Center (KGC) or a Private Key Generator (Private Key Generator, PKG) of a Private Key Generation system as follows:
calculating t1=(H1(IDA| hid, n) + s) mod n, where H1Is the hashing algorithm specified in the SM9 specification, s is the master private or master key, and n is G1、G2、GTThe order of (1), hid, is the private key generating function identifier expressed in terms of one byte, | | represents the byte string merging, mod n represents the modulo n remainder operation (note: the notation used by the master private key or master key in the SM9 specification is ks, group G1、G2、GTThe order of (a) is denoted by the symbol N, which is slightly different from the present patent application);
if t1If 0, the main private key needs to be regenerated, the main public key is calculated and published, and the existing private key of the user is updated; otherwise, calculate t2=s(t1)-1mod n,dA=[t2]P1Wherein (t)1)-1Is t1Modulo n multiplication inverse of, P1Is a group G1The generator of (1), symbol [, ]]An addition operation (multiplication of numbers, see SM9 specification) representing a plurality of elements (points), then dAIs a user identification IDAThe corresponding private signature key.
In the identification password based on bilinear mapping (pairing operation), because the private key used for digital signature by the user is generated by a private key generation system (or a private key generation center), the private key of the user generated in this way cannot be repudiated when used for digital signature, because the owner of the identification private key can say that the private key used for digital signature is generated and used by the operator of the private key generation system through the private key generation system, and the digital signature aiming at the message is not generated by the private key signature.
Disclosure of Invention
The invention aims to provide a corresponding solution for solving the problem that the existing digital signature based on identification cannot realize anti-repudiation.
In order to achieve the above object, the technical solution of the present invention includes a method for generating an identification private key, a method for digitally signing based on the method for generating an identification private key, and a system and an apparatus based on the method for generating an identification private key and the method for digitally signing.
In the description of the present invention, the inverse of an integer (e.g., a) is used unless otherwise specified-1And a is a non-0 integer) refers to the modulo n multiplication inverse of the integer, or the modulo n multiplication inverse of the modulo n remainder of the integer (which are equivalent).
The method for generating the identification private key provided by the invention is concretely as follows.
The identification private key generation method relates to bilinear mapping (pairing operation) e: g1×G2→GT(ii) a Group G1Is P1Group G2Is P2(ii) a Group G1、G2、GTThe order of (a) is a prime number n;
the identification Private Key Generation method relates to an identification authentication Server (identification authentication Server) of a Server side and an identification Private Key Generation Client (Private Key Generation Client) of a user side;
the identification authentication server has [1, n-1]]Internal system master key sm(Or System Master private Key s)m);smWith a corresponding system master public key Ppub=[sm]P2;
The identification private key generation client side has [1, n-1]]Internal user master key sU(Or user-master private Key s)U) Having group G2Meta of (5)U2=[(sU)-1]PpubWherein(s)U)-1Is s isUThe inverse of the modulo n multiplication of;
the identification authentication server verifies and confirms that the user of the identification private key generation client is the owner of the identification and PU2Is(s)U)-1And PpubIs the result of the multiplication of numbers of (P)U2=[(sU)-1]PpubThen (how to verify and confirm the two points are matters beyond the invention, but not difficult), generating and issuing the user identification (such as ID)A) And PU2Authentication data C ofAAnd authenticate data CAReturning to the identification private key generation client;
the authentication data CAAssociating a user identity with PU2Bind or correspond and confirm PU2Is(s)U)-1And PpubIs the result of the multiplication of numbers of (P)U2=[(sU)-1]PpubWherein s isUIs a user master key (master private key), and authenticates dataCAThe capability or characteristic of verifiability, forgery prevention and tamper prevention; the verifiable finger being capable of verifying the authentication data CAIndeed generated and issued by the identity authentication server; the anti-counterfeiting means that other entities cannot forge authentication data which is not generated and issued by the identification authentication server and can pass verification; the tamper-proof refers to the identification of a user or PU2Or authentication data CAWill result in the authentication data CAFails verification (verification fails);
the identification private key of the user side generates a client side P1As group G1Is generated as sUFor the master key (or master private key), a user identification (e.g., ID) is generatedA) The corresponding SM9 for signature identifies the private key dA。
(i.e. d)A=[sU(hID+sU)-1]P1Wherein h isID=H1(IDA||hid,n))
For the above-described identification private key generation method, PU2And authentication data CAThe identified authentication system (e.g., an identified authentication server or other system component) is published (e.g., by a common platform using blockchain techniques, such as may be available in the event of disputes).
The system of the server is called an identification authentication server here, because the function of the server is similar to the public key authentication (public key authentication) of the CA system in the PKI/CA, and the authentication data (authentication data) is similar to the digital certificate in the PKI/CA. Authentication here is not identity authentication as it is known in colloquial.
For the above identification private key generation method, the user identification includes: an original user identifier that does not contain any restricted information (e.g., email address, cell phone number without restricted information), or a restricted user identifier that contains restricted information (e.g., email address, cell phone number limited by expiration date or other information).
The identification authentication server generates and issues the user identification and PU2Authentication data C ofAIncluding using digital signatures or based on bilinear mapping (pairing) operations.
The identification authentication server generates and issues the user identification and P by adopting a bilinear mapping (pairing) operation-based modeU2Authentication data C ofAThe method comprises the following steps:
using hash function, system master key smThe sum group operation sums the user identification with PU2Mapping to group G1One element C inAAnd such mapping has the following capabilities or characteristics:
by P1、P2And PpubAuthentication data C can be verified and determined by bilinear mapping (pairing) operationAIs from the user identification and P in a conventional mannerU2Mapped group G1A medium (i.e., verifiable);
without knowing the system master key smIn case of (2), the user id and P cannot be generatedU2And verifiable authentication data CA(can verify that the foregoing is satisfied for CA(ii) verifiable requirements) (i.e., forgery prevention);
for user identification or PU2Or CAWill result in the modification of CAFailure (failure) of authentication (tamper-resistance);
then the resulting C is mapped in this mannerAIs directed to user identification and PU2The authentication data of (1).
C generated in this mannerAIn effect using the system master key (master private key) smDigital signatures based on bilinear (pairing) operations.
If G is2If the user identification is an elliptic curve point group, the identification authentication server generates and issues the user identification and P in a digital signature modeU2Authentication data C ofAOne way of (2) is:
by smAs a private key, with P2As base point (P)pubIs s ismCorresponding public key, adopting elliptic curve digital signature algorithm to pair including user identification and PU2The data is digitally signed to obtain authentication data CA;
Authentication data CAOf (2) as P2Is a base point, PpubIs s ismCorresponding public key, adopting elliptic curve digital signature algorithm to authenticate data CAThe validity of (2) is verified.
The digital signature method based on the identification private key generation method provided by the invention is as follows.
When the user's SM9 ID private key d generated by the ID private key generation method is needed to be used for signatureAWhen digitally signing a message M, the signer signs P1As group G1Corresponding to the generator P in the SM9 digital signature algorithm1) With PU2As group G2Corresponding to the generator P in the SM9 digital signature algorithm2) With PpubAs (with the user master key or user master private key sUCorresponding) master public key (at this point P)pub=[sU]PU2Corresponding to the master public key P in the SM9 digital signature algorithmpub) With dAIdentifying a private key for the SM9 of the user for Signature, generating a digital Signature (h, S) (Signature) for the message M by adopting an SM9 digital Signature algorithm, and including (h, S), P and the Signature Data (Signed Data) in the final Signature Data (Signed Data)U2And authentication data CA(how the final signature data contains PU2And CASomething outside the present invention).
The signature verification method for the above-described digital signature method is as follows.
When the digital signature of the message M is subjected to signature verification, the signature verifier separates the digital signature (h, S) from the signature data, and PU2And authentication data CA;
Signature verifier verification authentication data CAEffectiveness of, if CAFails the validity verification of (b), the digital signature (h, S) fails verification, if CAIf the validity verification of (1) passes, the signature verifier is signed by P1As group G1Corresponding to the generator P in the SM9 digital signature algorithm1) With PU2As group G2Corresponding to the generator P in the SM9 digital signature algorithm2) With Ppub(as a master key or master private key s with the userUCorresponding) master public key (at this point P)pub=[sU]PU2Corresponding to the master public key P in the SM9 digital signature algorithmpub) The validity of (h, S) as the digital signature of the message M is verified using the SM9 digital signature algorithm.
The corresponding identification Private Key Generation system can be constructed based on the identification Private Key Generation method of the invention, and the system comprises an identification authentication Server (identity verification Server) of a Server side and an identification Private Key Generation Client (Private Key Generation Client) of a user side; the identification private key generation client is a software component or a component combining software and hardware; the identification authentication server and the identification private key generation client generate the user identification and P according to the identification private key generation methodU2=[(sU)-1]PpubAuthentication data C ofAWherein s isUIs a user master key (master private key), and generates an SM9 identification private key d for signature corresponding to the user identificationA。
Based on the identification private key generation method and the digital signature method, the corresponding password device can be constructed, the password device comprises a signature operation unit and a key storage unit, wherein the signature operation unit is used for completing signature operation, and the key storage unit stores the SM9 identification private key d which is generated according to the identification private key generation method and used for signature of the userA(ii) a The signature operation unit is a hardware component or a software component combining software and hardware; when it is necessary to use the user's SM9 identification private key d for signatureAWhen a digital signature is generated for a message M, a signature operation unit in the cryptographic device is used as a signing party in the digital signature method, and a private key d is identified by using the SM9 for signature of the user stored in the key storage unitAGenerating a digital signature (h, S) for the message M in said digital signature method (said cryptographic device not necessarily being responsible for completing PU2And CAAn operation put into the signature data).
The system comprises the identification private key generation system and the password device, wherein the identification private key generation system generates user identification and P according to the identification private key generation methodU2=[(sU)-1]PpubAuthentication data C ofAWherein s isUIs a user master key (master private key), and generates an SM9 identification private key d for signature corresponding to the user identificationAAnd generating an identification private key d to be generated by the client by the identification private keyAStored in a key storage unit of the cryptographic device; when the user's SM9 identification private key d for signature needs to be usedAWhen generating a digital signature for a message M, a signature operation unit in the cryptographic device identifies a private key d using the user's SM9 for signature stored in the key storage unitAA digital signature (h, S) for the message M is generated as described above for the digital signature method.
SM9 identification private key d for signature of user generated based on identification private key generation method of the inventionABy a user master key (master private key) sUGeneration, the identification authentication system (server) is only responsible for generating the issuing for the user identification and PU2Authentication data C ofAD is not available to the identification authentication system (server)AThe digital signature generated by using the identification private key has the resistance to repudiation because the SM9 identification private key d for signature, which cannot be generated and forged by others and organizations, of the userAAnd P isU2And CAIs publicly released so that the user cannot repudiate dAWas previously generated by the user himself.
Compared with the prior art, the technical scheme of the invention has great implementation advantages.
Detailed Description
The following describes specific embodiments of the present invention.
The implementation of the invention relates to the implementation of the identification private key generation method, the digital signature method and the signature verification method.
The implementation of the identification private key generation method of the invention relates to bilinear mapping (pairing operation) e: g1×G2→GT(ii) a Group G1Is P1Group G2Is P2(ii) a Group G1、G2、GTThe order of (a) is a prime number n;
the identification Private Key Generation method relates to an identification authentication Server (identification authentication Server) of a Server side and an identification Private Key Generation Client (Private Key Generation Client) of a user side;
the identification authentication server has [1, n-1]]Internal system master key sm(Or System Master private Key s)m);smWith a corresponding system master public key Ppub=[sm]P2;
The identification private key generation client side has [1, n-1]]Internal user master key sU(Or user-master private Key s)U) Having group G2Meta of (5)U2=[(sU)-1]PpubWherein(s)U)-1Is s isUThe inverse of the modulo n multiplication of;
the identification authentication server verifies and confirms that the user of the identification private key generation client is the owner of the identification and PU2Is(s)U)-1And PpubIs the result of the multiplication of numbers of (P)U2=[(sU)-1]PpubThen (how to verify and confirm the two points are matters beyond the invention, but not difficult), generating and issuing the user identification (such as ID)A) And PU2Authentication data C ofAAnd authenticate data CAReturning to the identification private key generation client;
the authentication data CAAssociating a user identity with PU2Bind or correspond and confirm PU2Is(s)U)-1And PpubIs the result of the multiplication of numbers of (P)U2=[(sU)-1]PpubWherein s isUIs a user master key (master private key), and authenticates data CAThe capability or characteristic of verifiability, forgery prevention and tamper prevention; the verifiable finger being capable of verifying the authentication data CAIndeed generated and issued by the identity authentication server; the anti-counterfeiting means that other entities cannot forge authentication data which is not generated and issued by the identification authentication server and can pass verification; the tamper-proof refers to the identification of a user or PU2Or authentication data CAWill result in the authentication data CAFails verification (verification fails);
the identification private key of the user side generates a client side P1As group G1Is generated as sUFor the master key (or master private key), a user identification (e.g., ID) is generatedA) The corresponding SM9 for signature identifies the private key dA。
(i.e. d)A=[sU(hID+sU)-1]P1Wherein h isID=H1(IDA||hid,n))
For the above-described identification private key generation method, PU2And authentication data CAThe identified authentication system (e.g., an identified authentication server or other system component) is published (e.g., by a common platform using blockchain techniques, such as may be available in the event of disputes).
For the above identification private key generation method, the user identification includes: an original user identifier that does not contain any restricted information (e.g., email address, cell phone number without restricted information), or a restricted user identifier that contains restricted information (e.g., email address, cell phone number limited by expiration date or other information).
In specific implementation, the identification authentication server generates and issues the user identification and PU2Authentication data C ofAIncluding using digital signatures or based on bilinear mapping (pairing) operations.
The identification authentication server is based on dualGeneration and issuance of linear mapping (pairing) operation for user identification and PU2Authentication data C ofAThe method comprises the following steps:
using hash function, system master key smThe sum group operation sums the user identification with PU2Mapping to group G1One element C inAAnd such mapping has the following capabilities or characteristics:
by P1、P2And PpubAuthentication data C can be verified and determined by bilinear mapping (pairing) operationAIs from the user identification and P in a conventional mannerU2Mapped group G1A medium (i.e., verifiable);
without knowing the system master key smIn case of (2), the user id and P cannot be generatedU2And verifiable authentication data CA(can verify that the foregoing is satisfied for CA(ii) verifiable requirements) (i.e., forgery prevention);
for user identification or PU2Or CAWill result in the modification of CAFailure of authentication (failure of authentication) (tamper resistance);
then the resulting C is mapped in this mannerAIs directed to user identification and PU2The authentication data of (1).
Generating C in such a manner based on bilinear map (pairing) operationsAIn fact, the invention CN108989054A embodiment "(five) relates to the pair containing identity information U, P", which is a digital signature based on bilinear (pairing) operation and using system master key (master private key) smUpubAnd the digital signature schemes (i.e., schemes (1) to (4)) other than the "elliptic curve cryptography-based digital signature" listed in "implementation of digital signature of data of key definition information are all digital signature schemes based on bilinear (pairing) operation. In addition, the hash function, system master key s, is utilized belowmThe sum group operation sums the user identification with PU2Mapping to group G1One element C inAAs authentication data CABy means of (again using the system master key s)mBilinear mapping based digital signatures) are alsoOne of the ways that can be used:
identification from a user (e.g. ID) using a hash functionA) And PU2Is calculated to obtain hc;
Calculating to obtain CA=[(a+bsm)(nchc+sm)-1]P1Wherein n iscIs to generate CAWhen is in [1, n-1]]Internal randomly selected integer, a, b is [0, n-1]]The known integers in (a) or (b) are not 0 at the same time (of course, they may be either constant or non-constant, but usually take a fixed constant, such as a-0, b-1, or a-1, b-0, or a-1, b-1);
for the authentication data C generated in the above mannerAValidity verification is performed as follows:
employing and generating authentication data CAThe same way is used to derive the user identification and P from the hash functionU2Is calculated to obtain hc;
Is calculated to obtain Pc=[nchc]P2+Ppub;
Check to determine e (C)A,Pc) And e (P)1,P2)ae(P1,Ppub)bIf they are the same, the authentication data CAOtherwise, the validation fails.
a. How b is selected and set can be any, as long as b is not 0 at the same time.
If a is 0 and b is 1, then CAEssentially, the user identity is combined with PU2The combination of (c) as an identification the resulting corresponding SM9 identifies the private key (as a digital signature).
ncIs to avoid the occurrence of (n)chc+sm) mod n is 0. In the generation of CAWhen present, if (n)chc+sm) When mod n is 0, then in [1, n-1]]Reselecting an ncUp to (n)chc+sm) mod n is not 0. When the identity authentication server authenticates CAReturning to the identification private key generation client, ncAnd also returns.
Generally n will becAnd CAPut together, when verifying CAWhen validity of (2) is reached, n is taken out at the same timec。
Using hash function to identify and P from userU2Is calculated to obtain hcThe method comprises the following steps:
identification from a user (e.g. ID) using a hash functionA) Is calculated to obtain h1cUsing a hash function from PU2Is calculated to obtain h2cThen calculate hc=(h1c+h2c) mod n or hc=(h1ch2c)mod n;
Or, the user identification and PU2Data merging (e.g., ID)A||PU2) Then, the hash value of the combined data is calculated by using a hash function, and the calculated hash value is used as hc。
If G is2If the user identification is an elliptic curve point group, the identification authentication server generates and issues the user identification and P in a digital signature modeU2Authentication data C ofAOne way of (2) is:
by smAs a private key, with P2As base point (P)pubIs s ismCorresponding public key, adopting elliptic curve digital signature algorithm to pair including user identification and PU2The data is digitally signed to obtain authentication data CA;
Authentication data CAOf (2) as P2Is a base point, PpubIs s ismCorresponding public key, adopting elliptic curve digital signature algorithm to authenticate data CAThe validity of (2) is verified.
The digital signature method implemented based on the identification private key generation method of the present invention is as follows.
When the user's SM9 ID private key d generated by the ID private key generation method is needed to be used for signatureAWhen digitally signing a message M, the signer signs P1As group G1Corresponding to the generator P in the SM9 digital signature algorithm1) To do so byPU2As group G2Corresponding to the generator P in the SM9 digital signature algorithm2) With PpubAs (with the user master key or user master private key sUCorresponding) master public key (at this point P)pub=[sU]PU2Corresponding to the master public key P in the SM9 digital signature algorithmpub) With dAIdentifying a private key for the SM9 of the user for Signature, generating a digital Signature (h, S) (Signature) for the message M by adopting an SM9 digital Signature algorithm, and including (h, S), P and the Signature Data (Signed Data) in the final Signature Data (Signed Data)U2And authentication data CA(how the final signature data contains PU2And CASomething that is outside the present invention), wherein the process of generating the digital signature (h, S) is specifically as follows:
calculating to obtain w ═ grWhere r is the value at 1, n-1 in signature computation]Randomly selected integer in the interval, g ═ e (P)1,Ppub) In which P is1、PpubAs described above;
then, H is calculated as H2(M | | w, n), wherein H2() And its parameters as described in the background;
if r ≠ h, calculate S [ [ r-h ≠ h]dAThen (h, S) is the generated digital signature; and if r is equal to h, reselecting r, and recalculating w and h until r is not equal to h.
The final signature Data (Signed Data) includes (h, S), PU2And CA(how the final signature data contains PU2And CASomething outside the present invention).
The signature verification method implemented based on the digital signature method of the present invention is as follows.
When the digital signature of the message M is subjected to signature verification, the signature verifier separates the digital signature (h, S) from the signature data, and PU2And authentication data CA;
Signature verifier verification authentication data CAEffectiveness of, if CAFails the validity verification of (b), the digital signature (h, S) fails verification, if CAIf the validity verification of (1) passes, the signature verifier is signed by P1As group G1Corresponding to the generator P in the SM9 digital signature algorithm1) With PU2As group G2Corresponding to the generator P in the SM9 digital signature algorithm2) With Ppub(as a master key or master private key s with the userUCorresponding) master public key (at this point P)pub=[sU]PU2Corresponding to the master public key P in the SM9 digital signature algorithmpub) And verifying the validity of the digital signature (h, S) as the message M by adopting an SM9 digital signature algorithm, which is as follows:
b1: checking whether h is formed by the element [1, n-1], if not, verifying that the h is not passed;
b2: checking that S belongs to G1If the verification result is not true, the verification is not passed;
b3: computing group GTWherein the element g ═ e (P)1,Ppub);
B4: computing group GTWherein t is gh;
B5: calculating the integer h1=H1(IDA| hid, n), where H1() And parameters see SM9 specification;
b6: computing group G2Wherein the element P ═ h1]PU2+Ppub;
B7: computing group GTThe element in (1) is (e) (S, P);
b8: computing group GTWherein w' is u.t;
b9: calculating the integer h2=H2(M | | w', n), test h2If h is true, the verification is passed; otherwise, the verification is not passed.
The identification Private Key Generation method based on the invention can be implemented to construct a corresponding identification Private Key Generation system, as shown in fig. 1, the system comprises an identification authentication Server (Identity verification Server) of a Server side and an identification Private Key Generation Client (Private Key Generation Client) of a user side; the identification private key generation client is a software component or a component combining software and hardware; the identification authentication server and the identification private key generation client side pressThe identification private key generation method generates user identification and PU2=[(sU)-1]PpubAuthentication data C ofAWherein s isUIs a user master key (master private key), and generates an SM9 identification private key d for signature corresponding to the user identificationA。
The identification private key generation method and the digital signature method based on the invention can be implemented to construct a corresponding password device, as shown in fig. 2, the password device comprises a signature operation unit and a key storage unit, wherein the signature operation unit is used for completing signature operation, and the key storage unit stores the user's SM9 identification private key d used for signature generated according to the identification private key generation methodA(ii) a The signature operation unit is a hardware component or a software component combining software and hardware; when it is necessary to use the user's SM9 identification private key d for signatureAWhen a digital signature is generated for a message M, a signature operation unit in the cryptographic device is used as a signing party in the digital signature method, and a private key d is identified by using the SM9 for signature of the user stored in the key storage unitAGenerating a digital signature (h, S) for the message M in said digital signature method (said cryptographic device not necessarily being responsible for completing PU2And CAAn operation put into the signature data).
The identification private key generation system and the password device based on the invention can implement and construct a corresponding password system, as shown in fig. 3, the system comprises the identification private key generation system and the password device, wherein the identification private key generation system generates user identification and P according to the identification private key generation methodU2=[(sU)-1]PpubAuthentication data C ofAWherein s isUIs a user master key (master private key), and generates an SM9 identification private key d for signature corresponding to the user identificationAAnd generating an identification private key d to be generated by the client by the identification private keyAStored in a key storage unit of the cryptographic device; when the user's SM9 identification private key d for signature needs to be usedAWhen generating a digital signature for a message M, a signature operation unit in the cryptographic device uses the key storage listThe user's SM9 for signature in the element identifies the private key dAA digital signature (h, S) for the message M is generated as described above for the digital signature method.
Other specific technical implementations not described are well known to those skilled in the relevant art and will be apparent to those skilled in the relevant art.