CN107819585B - SM9 digital signature collaborative generation method and system - Google Patents

SM9 digital signature collaborative generation method and system Download PDF

Info

Publication number
CN107819585B
CN107819585B CN201711147604.9A CN201711147604A CN107819585B CN 107819585 B CN107819585 B CN 107819585B CN 201711147604 A CN201711147604 A CN 201711147604A CN 107819585 B CN107819585 B CN 107819585B
Authority
CN
China
Prior art keywords
devices
digital signature
generation method
calculating
secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711147604.9A
Other languages
Chinese (zh)
Other versions
CN107819585A (en
Inventor
龙毅宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201711147604.9A priority Critical patent/CN107819585B/en
Publication of CN107819585A publication Critical patent/CN107819585A/en
Application granted granted Critical
Publication of CN107819585B publication Critical patent/CN107819585B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Abstract

The invention relates to a collaborative generation method of SM9 digital signatures, which comprises the following steps: m devices each having an integer secret ciI is 1, …, m is more than or equal to 2; precomputation of PA=[(c1c2…cm)‑1]dA,gc=g^((c1c2…cm)‑1),dAIs the user's private key, g ═ e (P)1,Ppub) And ^ represents power operation; when required dAWhen digitally signing a message M, the device 1 optionally selects the integer r1Calculate g1=gc^r1(ii) a Devices i, i ═ 2, …, m, in turn optionally integers riCalculate gi=(gi‑1^ci)(gc^ri) (ii) a Means m for calculating H ═ H2(M||gmN); device 1 calculates S1=[(r1‑c1h)]PA(ii) a The device i, i equals 2, …, m, which in turn calculates Si=[ci]Si‑1+[ri]PA;(h,Sm) I.e. the generated digital signature.

Description

SM9 digital signature collaborative generation method and system
Technical Field
The invention belongs to the technical field of information security, and particularly relates to a collaborative generation method and a collaborative generation system for SM9 digital signatures.
Background
SM9 is an identification cryptographic algorithm issued by the national crypto authority based on bilinear mapping (pairing operation), wherein the bilinear mapping (pairing operation) is:
e:G1×G2→GTin which G is1、G2Is an additive cyclic group, GTIs a multiplication loop group, G1、G2、GTIs a prime number n (note: in the SM9 specification, G1、G2、GTThe order of (A) is given by the capital letter N, and the present application uses the lower case N), i.e. if P, Q, R are each G1、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(aP,bQ)=e(P,Q)ab
the SM 9-based algorithm can realize identification-based digital signature, key exchange and data encryption, but the common secret sharing-based digital signature method is not suitable for the SM9 algorithm. The digital signature based on secret sharing is to divide a user private key or a secret related to the user private key into a plurality of shares (each of which is referred to as a secret share), store the shares in a plurality of devices, and when a message needs to be signed by using the user private key, obtain a final digital signature by performing a cooperative calculation using the secret shares of the devices storing the secret shares.
Disclosure of Invention
The invention aims to provide a collaborative generation method and a collaborative generation system suitable for SM9 digital signatures.
Aiming at the purpose of the invention, the technical scheme provided by the invention comprises an SM9 digital signature collaborative generation method and system.
In the following description of the present invention, if P, Q is addition group G1、G2Where P + Q represents the addition of P, Q to the addition group, P-Q represents the inverse of P plus Q (addition inverse), and k]P represents the addition of k P's to the addition group, i.e., P +. + P (k total P) (if k is a negative number, the addition inverse of the result of the | k | P additions);
an ellipsis ". -" represents a plurality of identical (types of) data items or a plurality of identical operations;
if a, b are multiplicative groups GTWhere ab or a.b represents a, b in the multiplicative group GTMultiplication of (a, ". may be omitted, as long as it does not produce ambiguity), a-1Indicates that a is an inverse of a (multiplicative inverse) in a multiplicative group, atIndicates t a are in multiplicative group GTUp-multiplication (t is a negative number, and is the inverse of | t | the multiplication result of a), i.e. exponentiation, atIs a ^ t;
if c is an integer, then c-1Representing the modulo n inverse of integer c (i.e., cc)-1mod n ═ 1); unless otherwise specified, the integers of the invention are multiplied and inversed with respect to the group G1、G2、GTThe modulo n multiplication inverse of order n;
multiple integer multiplications (including integer-symbol multiplications, constant-integer-symbol multiplications), omitting the multiplication "·" as k, without ambiguity1·k2Simplified as k1k23 · c, reduced to 3 c;
mod n denotes the modulo n operation (modulo operation), corresponding to modN in the SM9 specification; also, the operator mod n of the modulo n operation is of lowest priority, e.g., a + b mod n equals (a + b) mod n, a-b mod n equals (a-b) mod n, ab mod n equals (ab) mod n.
The SM9 digital signature collaborative generation method comprises two schemes, which are specifically as follows.
Scheme I,
The scheme I of the SM9 digital signature collaborative generation method relates to m devices, wherein m is more than or equal to 2;
the m devices are respectively numbered from No. 1 to No. m;
m devices respectively store [1, n-1 ]]Integer secret c within interval1,c2,…,cmWhere n is group G in the SM9 cryptographic algorithm1、G2、GTOrder of (is prime), ciIs a secret held by device number i, i-1, …, m;
pre-calculated in the initialization phase to obtain:
PA=[(c1c2…cm)-1]dA
gc=g^((c1c2…cm)-1),
wherein d isAIs the identity ID of the userAThe corresponding SM9 identifies the private key (d)AIs a group G1Meta in (b), (c)1c2…cm)-1Is (c)1c2…cm) Modulo n multiplication inverse (i.e., (c)1c2…cm) mod n, inverse of the modulo n multiplication), 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);
when it is desired to use the user's SM9 to identify the private key dAWhen digitally signing a message M, M devices generate digital signatures as follows (the user's SM9 identification private key d needs to be usedAThe body that digitally signs for message M may be a cryptographic application, system or cryptographic module that invokes the M devices, or a cryptographic application, system in one of the M devices):
device No. 1 is in [1, n-1 ]]Randomly selecting an integer r in the interval1Calculate g1=gc^r1Or g1=gc^(c1r1);
Device No. 1 will g1To the next device, device No. 2;
the device No. i receives gi-1Then i is 2, …, m is [1, n-1 ]]Randomly selecting an integer r in the intervaliCalculate gi=(gi-1^ci)(gc^ri) Or gi=(gi-1(gc^ri))^ci
If i ═ m, go to calculation h, otherwise, device No. i will calculate giTransmitting to the next device, i +1 device, until m device finishes gmCalculating (1);
(each apparatus calculates giThe calculation formulas are independent and not necessarily identical
Device m takes w ═ gm
One of the m devices (typically device No. 1 or m):
calculating H as H2(M | | w, n), wherein H2For the hash function specified in SM9, M | | w represents that w is converted into a string and then merged with the string of M, and n is group G in SM9 cryptographic algorithm1、G2、GTThe order of (1);
checking whether w is equal to g ^ h or not, and if w is equal to g ^ h, re-performing g1,…,gmUntil w is not equal to g ^ h;
thereafter, device No. 1 calculates S as follows1
If device number 1 has previously calculated g1The formula adopted is g1=gc^r1And then:
S1=[r1-c1h]PA
if device number 1 has previously calculated g1The formula adopted is g1=gc^(c1r1) And then:
S1=[c1r1-c1h]PA
(at this time, r1And calculating g1R of (1)1Same)
Device No. 1 will S1Sending the data to the next device, namely the No. 2 device;
the device No. i receives Si-1Then, i is 2, …, m, S is calculated as followsi
If the device I calculates g beforeiThe formula adopted is gi=(gi-1^ci)(gc^ri) And then:
Si=[ci]Si-1+[ri]PA
if the device I calculates g beforeiThe formula adopted is gi=(gi-1(gc^ri))^ciAnd then:
Si=[ci](Si-1+[ri]PA);
(at this time, riAnd calculating giR of (1)iSame)
If i is m, then S is Sm(h, S) is the generated digital signature for the message M, otherwise, the device No. i sends SiTransmitting to the next device, i +1 device, until m device finishes SmAnd (4) calculating.
For the above scheme one, in the initialization phase, m devices obtain the secret c1,…,cmAnd calculating to obtain PA、gcOne way of (2) is as follows:
knowing d beforehandAThe device (which may be one of the m devices or one device other than the m devices) is in [1, n-1 ]]Randomly selecting m integers c in interval1,…,cmAnd calculating:
PA=[(c1c2…cm)-1]dA,gc=g^((c1c2…cm)-1) Wherein g ═ e (P)1,Ppub);
Then d isADestroying PA、gc、ciTo No. i deviceI-1, …, m (including perhaps itself).
For the above scheme one, if dAIs known in advance by device No. 1, m devices obtain the secret c during the initialization phase1,…,cmAnd calculating to obtain PA、gcAnother way of doing so is as follows:
device No. 1 is in [1, n-1 ]]Randomly selecting an integer c in the interval1Or in [1, n-1 ]]Fixedly selecting an integer c unknown to other devices in the interval1(i.e. for different d)AFixed selection c1Value of) calculating Q1=[(c1)-1]dA,u1=g^((c1)-1) Wherein g ═ e (P)1,Ppub) Then Q is added1、u1Sending the data to the next device, namely the No. 2 device;
device i receives Qi-1、ui-1Then i is 2, …, m is [1, n-1 ]]Randomly selecting an integer c in the intervaliOr in [1, n-1 ]]Fixedly selecting an integer c unknown to other devices in the intervali(i.e. for different d)AFixed selection ciValue of) calculating Qi=[(ci)-1]Qi-1,ui=ui-1^((ci)-1);
If i is m, then P is takenA=Qm,gc=umOtherwise, the device No. i will send to the next device, i +1, until Q is completedm、umCalculating;
finally, device number m will PA、gcTo other m-1 devices, device No. 1 distributes dAAnd (4) destroying.
In fact, P is calculatedA、gcThe order of the devices in (1) is not important; if device i knows d beforehandASimilar transfer mode calculations may be used.
For the above scheme one, if the user's SM9 identifies the private key dAWhile for data decryption, e (d) needs to be calculated during data decryptionAV) at whichV is a group G2E (d) in the following mannerAV) cooperative calculation:
device number 1 calculates v1=e(PA,V)^c1V is to be1Sending the data to the next device, namely the No. 2 device;
device number i receives vi-1Then, i is 2, …, m, calculate vi=vi-1^ci
If i is m, then vmIs e (d)AV), otherwise, device No. i will ViAnd sending to the next device, i +1 th device, until i equals m.
Scheme II,
The second scheme of the SM9 digital signature collaborative generation method of the invention also relates to m devices, wherein m is more than or equal to 2;
the m devices are respectively numbered from No. 1 to No. m;
m devices each have [1, n-1 ] stored or derived from the stored secret]Integer secret c within interval1,c2,…,cmWherein n is group G in SM9 cryptographic algorithm1、G2、GTOrder of (is prime), ciIs a secret held by or derived from device number i, i is 1, …, m, and (c)1+c2+…+cm)mod n≠0;
Pre-calculated in the initialization phase to obtain:
PA=[(c1+c2+…+cm)-1]dA
gc=g^((c1+c2+…+cm)-1),
wherein d isAIs the identity ID of the userAThe corresponding SM9 identifies the private key (d)AIs a group G1Meta in (b), (c)1+c2+…+cm)-1Is (c)1+c2+…+cm) Modulo n multiplication inverse (i.e., (c)1+c2+…+cm) mod n, inverse of the modulo n multiplication), g ═ e (P)1,Ppub),P1Is G1The generator of (1), PpubIs the master public key (i.e. P)pub=[s]P2S is the master private or master key, see SM9 specification);
when it is desired to use the user's SM9 to identify the private key dAWhen digitally signing a message M, M devices generate digital signatures as follows (the user's SM9 identification private key d needs to be usedAThe body that digitally signs for message M may be a cryptographic application, system or cryptographic module that invokes the M devices, or a cryptographic application, system in one of the M devices):
device number i in [1, n-1 ]]Randomly selecting an integer r in the intervaliCalculate gi=gc^ri,i=1,…,m;
One (any of) m devices:
calculating w ═ g1g2…gm,h=H2(M | | w, n), wherein H2For the hash function specified in SM9, M | | w represents that w is converted into a string and then merged with the string of M, and n is group G in SM9 cryptographic algorithm1、G2、GTThe order of (1);
checking whether w is equal to g ^ h or not, and if w is equal to g ^ h, re-performing g1,…,gmUntil w is not equal to g ^ h;
thereafter, the i-th device calculates Si=[(ri-cih)]PA,i=1,…,m;
(at this time, riAnd calculating giR of (1)iSame)
Then, one of the m devices calculates S ═ S1+S2+…+Sm
Then (h, S) is the generated digital signature for message M.
For scheme two above, in the initialization phase, m devices obtain the secret c1,…,cmAnd calculating to obtain PA、gcOne way of (2) is as follows:
knowing d beforehandACan be m pieces of clothesOne device in or out of m devices) is in [1, n-1 ]]Randomly selecting m integers c in interval1,…,cmAnd so that (c)1+c2+…+cm) mod n ≠ 0, calculates:
PA=[(c1+c2+…+cm)-1]dA,gc=g^((c1+c2+…+cm)-1) Wherein g ═ e (P)1,Ppub);
Then d isADestroying PA、gc、ciTo device number i, i 1, …, m (perhaps including itself).
For the second scheme, if the user's SM9 identifies the private key dAWhile for data decryption, e (d) needs to be calculated during data decryptionAV) where V is a group G2E (d) in the following mannerAV) cooperative calculation:
device number i calculates vi=e(PA,V)^ci,i=2,…,m;
One device calculates v ═ v1v2…vmThen v ═ e (d)A,V)。
The second modification,
A variation of the second scheme for the SM9 digital signature collaborative generation method is as follows:
in the initialization phase, d is known in advanceAThe device (which may be one of the m devices or one device other than the m devices) is in [1, n-1 ]]Randomly selecting an integer c and m integers b in the interval1,b2,…,bmAnd such that (b)1+b2+…+bm) mod n is 1, calculate:
PA=[c-1]dA,gc=g^(c-1) Wherein g ═ e (P)1,Ppub);
di=[bi]dA,i=1,…,m;
Then d isA,c,b1,…,bmDestroying PA、gc、diTo device No. i, i 1, …, m (perhaps including itself);
when the user's SM9 identification private key d needs to be generatedAFor the digital signature of the message M, M devices, the i-th device calculate S as followsi
Si=[ri]PA+[-h]di,i=1,…,m;
Other calculations and operations are unchanged, including the way of calculating the collaborative calculation w and calculating h and S is unchanged.
A threshold scheme,
On the basis of the second scheme, an SM9 digital signature threshold generation method can be obtained, wherein the SM9 digital signature threshold generation method comprises k devices, the k devices carry out the collaborative generation of digital signatures in a (m, k) threshold secret sharing mode, and k > m is more than or equal to 2;
in the initialization phase, d is known in advanceAIn [1, n-1 ] (one of the k devices or one device other than the k devices)]Randomly selecting an integer c in the interval, dividing c into k secret shares according to a threshold secret sharing mode, and calculating PA=[c-1]dA,gc=g^(c-1) Wherein g ═ e (P)1,Ppub) Then d isADestroying PA、gcAnd k threshold secret shares are distributed to k devices (possibly including themselves) respectively;
when a digital signature for a message M needs to be generated by using the SM9 identification private key of a user, M devices in the k devices form a combination, the M devices in the combination are respectively marked as devices No. 1 to No. M, and each device in the combination respectively calculates and obtains (derives) a secret share (namely c) required by a scheme II applying the SM9 digital signature collaborative generation method according to the current combination by using the threshold secret of each device in the combination and according to the current combination1,…,cm) Then, the M devices generate a digital signature for the message M by applying the aforementioned scheme two of the SM9 digital signature cooperation generation method.
(secret c used by device number i of m device combinationsiI-1.. m, is a secret calculated or derived by the device i according to its threshold secret share for c and the combination of m devices currently generating digital signatures, e.g., for sharir threshold secret sharing for c, if the m-1-time polynomial on modulo n is f (x), then the threshold secret for the device j of the k devices is yj(j), j ═ 1,2, …, k; when the jth device is digitally signed in combination with the other m-1 devices, the secret corresponding to the jth device is (a)jyj) mod n, where ajIs a parameter calculated from m device combinations, c if the j device of the k devices is the i device of the m device combinations for generating digital signaturesi=(ajyj)mod n)。
On the basis that the SM9 digital signature collaborative generation method includes the variant of the scheme one, the scheme two and the scheme two, an SM9 digital signature collaborative generation system can be constructed, which includes m devices that generate digital signatures for messages according to the SM9 digital signature collaborative generation method.
On the basis of the SM9 digital signature threshold generation method, an SM9 digital signature threshold generation system can be constructed, the system comprises k devices, k is larger than m and is larger than or equal to 2, and the k devices generate digital signatures aiming at the messages according to the SM9 digital signature threshold generation method.
From the above description it can be seen that by the method of the invention the user identification private key d is used when requiredAWhen the message is digitally signed, the m devices can cooperatively generate the digital signature aiming at the message, and the method also supports the threshold generation of the digital signature, namely, the m devices in the k devices generate the digital signature aiming at the message through threshold secret sharing (threshold cryptographic operation).
Drawings
None.
Detailed Description
The present invention will be further described with reference to the following examples. The following examples are merely illustrative of a few possible embodiments of the present invention and are not intended to represent all possible embodiments and are not intended to limit the present invention.
Examples 1,
This embodiment includes m devices numbered 1 to m respectively, one of the m devices or one device other than the m devices knowing d in advanceAIn the initialization phase, m devices obtain the secret c by1,…,cmAnd calculating to obtain PA、gc
Knowing d beforehandAIn [1, n-1 ]]Randomly selecting m integers c in interval1,…,cmAnd calculating:
PA=[(c1c2…cm)-1]dA,gc=g^((c1c2…cm)-1) Wherein g ═ e (P)1,Ppub);
Then d isADestroying PA、gc、ciTo device No. i, i 1, …, m (perhaps including itself);
thereafter, when it is desired to identify the private key d using the user's SM9AWhen the message is digitally signed, the m devices generate the digital signature for the message according to the first scheme of the SM9 digital signature cooperation generation method.
Examples 2,
This embodiment includes m devices numbered 1 to m, respectively, where device number 1 knows d in advanceAThat is, in the initialization phase, m devices obtain the secret c as follows1,…,cmAnd calculating to obtain PA、gc
Device No. 1 is in [1, n-1 ]]Randomly selecting an integer c in the interval1Calculating Q1=[(c1)-1]dA,u1=g^((c1)-1) Wherein g ═ e (P)1,Ppub) Then Q is added1、u1Sending the data to the next device, namely the No. 2 device;
device i receives Qi-1、ui-1After, i is 2…, m, at [1, n-1 ]]Randomly selecting an integer c in the intervaliCalculating Qi=[(ci)-1]Qi-1,ui=ui-1^((ci)-1);
If i is m, then P is takenA=Qm,gc=umOtherwise, the device No. i will send to the next device, i +1, until Q is completedm、umCalculating;
device No. m will PA、gcTo other m-1 devices, device No. 1 distributes dADestroying;
thereafter, when it is desired to identify the private key d using the user's SM9AWhen the message is digitally signed, the m devices generate the digital signature for the message according to the first scheme of the SM9 digital signature cooperation generation method.
Examples 3,
This embodiment includes m devices numbered 1 to m, respectively, where device number 1 is a user device and device number 1 is the pre-user's SM9 identifying the private key dAThe remaining m-1 devices are cryptographic servers providing cryptographic services, and in the initialization phase, the m devices obtain the secret c as follows1,…,cmAnd calculating to obtain PA、gc
Device No. 1 is in [1, n-1 ]]Randomly selecting an integer c in the interval1Calculating Q1=[(c1)-1]dA,u1=g^((c1)-1) Wherein g ═ e (P)1,Ppub) Then Q is added1、u1Sending the data to the next device, namely the No. 2 device;
device i receives Qi-1、ui-1Then i is 2, …, m is [1, n-1 ]]Fixedly selecting an integer c unknown to other devices in the intervali(i.e. for different d)AFixed selection ciValue of) calculating Qi=[(ci)-1]Qi-1,ui=ui-1^((ci)-1);
If iIf m, then P is takenA=Qm,gc=umOtherwise, the device No. i will send to the next device, i +1, until Q is completedm、umCalculating;
device No. m will PA、gcDistributed to m devices, device No. 1 distributes dADestroying;
thereafter, when it is desired to identify the private key d using the user's SM9AWhen the message is digitally signed, the m devices generate the digital signature for the message according to the first scheme of the SM9 digital signature cooperation generation method.
Examples 4,
This embodiment includes m devices numbered 1 to m respectively, one of the m devices or one device other than the m devices knowing d in advanceAIn the initialization phase, m devices obtain the secret c by1,…,cmAnd calculating to obtain PA、gc
Knowing d beforehandAIn [1, n-1 ]]Randomly selecting m integers c in interval1,…,cmAnd so that (c)1+c2+…+cm) mod n ≠ 0, calculates:
PA=[(c1+c2+…+cm)-1]dA,gc=g^((c1+c2+…+cm)-1) Wherein g ═ e (P)1,Ppub);
Then d isADestroying PA、gc、ciTo device No. i, i 1, …, m (perhaps including itself);
thereafter, when it is desired to identify the private key d using the user's SM9AWhen digitally signing a message, the m devices generate a digital signature for the message according to the scheme two of the SM9 digital signature collaborative generation method.
Examples 5,
This embodiment includes m devices numbered 1 to m respectively, one of the m devices or one device other than the m devices being provided in advanceKnowing dA
In the initialization phase, d is known in advanceAThe device (which may be one of the m devices or one device other than the m devices) is in [1, n-1 ]]Randomly selecting an integer c and m integers b in the interval1,…,bmAnd such that (b)1+b2+…+bm) mod n is 1, calculate:
PA=[c-1]dA,gc=g^(c-1) Wherein g ═ e (P)1,Ppub);
di=[bi]dA,i=1,…,m;
Then d isA,c,b1,…,bmDestroying PA、gc、diTo device No. i, i 1, …, m (perhaps including itself);
thereafter, when it is desired to identify the private key d using the user's SM9AWhen digitally signing a message, the m devices generate a digital signature for the message according to the variant of the second scheme of the SM9 digital signature cooperation generation method.
Examples 6,
This embodiment includes k devices, one or more of which knows in advance the user's SM9 identification private key dAThe k devices adopt a (m, k) threshold secret sharing mode to carry out the cooperative generation of the digital signature, k>m is more than or equal to 2; knowing d beforehand in the initialization phaseAThe device shares a secret among k devices according to a threshold secret sharing scheme, and calculates PA、gc
Knowing d beforehandAIn [1, n-1 ]]Randomly selecting an integer c in the interval, and then dividing the c into k secret shares according to a threshold secret sharing mode; calculating PA=[c-1]dA,gc=g^(c-1) Wherein g ═ e (P)1,Ppub) (ii) a Then d isADestroying PA、gcAnd k threshold secret shares are respectively distributed to k devices;
when a digital signature for the message M needs to be generated by using the SM9 identification private key of the user, M devices in the k devices form a combination, and the digital signature for the message is generated by adopting the SM9 digital signature threshold generation method.
The method according to the invention can construct a corresponding SM9 digital signature collaborative generation system.
If the scheme of threshold secret sharing is not adopted, the system comprises m devices, wherein m is greater than or equal to 2, the m devices are all cryptographic servers providing cryptographic services, or one device of the m devices is a user device, and the rest m-1 devices are cryptographic servers providing cryptographic services, when digital signature is required to be carried out on a message by using the SM9 identification private key of the user, the m devices cooperatively generate a digital signature for the message by implementing the SM9 digital signature cooperative generation method of the invention according to the scheme I or the scheme II or the variant of the scheme II, including implementing the foregoing embodiments 1-5, and cooperatively generate the digital signature for the message by using the SM9 identification private key of the user.
If the scheme of (m, k) threshold secret sharing is adopted, and k > m is greater than or equal to 2, the system comprises k devices, wherein the k devices are all cryptographic servers providing cryptographic services, or one device of the k devices is a user device, and the rest k-1 devices are cryptographic servers providing cryptographic services, when digital signature is required to be carried out on a message by using the SM9 identification private key of the user, the m devices in the k devices utilize the threshold secret sharing share, and the SM9 digital signature threshold generation method of the invention is implemented, and comprises the implementation of the foregoing embodiment 6, and the SM9 identification private key of the user is cooperatively generated to be used for carrying out digital signature on the message.
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.

Claims (10)

1. An SM9 digital signature collaborative generation method is characterized in that:
the process involves m devices, where m.gtoreq.2;
the m devices are respectively numbered from No. 1 to No. m;
m devices respectively store [1, n-1 ]]Integer secret c within interval1,c2,…,cmWhere n is group G in the SM9 cryptographic algorithm1、G2、GTStep (c) ofiIs a secret held by device number i, i-1, …, m;
pre-calculated in the initialization phase to obtain:
PA=[(c1c2…cm)-1]dA
gc=g^((c1c2…cm)-1),
wherein d isAIs the identity ID of the userAThe corresponding SM9 identifies the private key, (c)1c2…cm)-1Is (c)1c2…cm) Modulo n multiplication inverse of (g ═ e) (P)1,Ppub),P1Is G1The generator of (1), PpubIs a master public key;
when it is desired to use the user's SM9 to identify the private key dAWhen a digital signature is performed on a message M, M devices generate digital signatures as follows:
device No. 1 is in [1, n-1 ]]Randomly selecting an integer r in the interval1Calculate g1=gc^r1Or g1=gc^(c1r1);
Device No. 1 will g1To the next device, device No. 2;
the device No. i receives gi-1Then i is 2, …, m is [1, n-1 ]]Randomly selecting an integer r in the intervaliCalculate gi=(gi-1^ci)(gc^ri) Or gi=(gi-1(gc^ri))^ci
If i ═ m, go to calculation h, otherwise, device No. i will calculate giTransmitting to the next device, i +1 device, until m device finishes gmCalculating (1);
device m takes w ═ gm
One of the m devices:
calculating H as H2(M | | w, n), wherein H2For the hash function specified in SM9, M | | w represents that w is converted into a string and then merged with the string of M, and n is group G in SM9 cryptographic algorithm1、G2、GTThe order of (1);
checking whether w is equal to g ^ h or not, and if w is equal to g ^ h, re-performing g1,…,gmUntil w is not equal to g ^ h;
thereafter, device No. 1 calculates S as follows1
If device number 1 has previously calculated g1The formula adopted is g1=gc^r1And then:
S1=[r1-c1h]PA
if device number 1 has previously calculated g1The formula adopted is g1=gc^(c1r1) And then:
S1=[c1r1-c1h]PA
device No. 1 will S1Sending the data to the next device, namely the No. 2 device;
the device No. i receives Si-1Then, i is 2, …, m, S is calculated as followsi
If the device I calculates g beforeiThe formula adopted is gi=(gi-1^ci)(gc^ri) And then:
Si=[ci]Si-1+[ri]PA
if the device I calculates g beforeiThe formula adopted is gi=(gi-1(gc^ri))^ciAnd then:
Si=[ci](Si-1+[ri]PA);
if i is m, then S is Sm(h, S) is the generated digital signature for the message M, otherwise, the device No. i sends SiTransmitting to the next device, i +1 device, until m device finishes SmAnd (4) calculating.
2. The SM9 digital signature collaborative generation method of claim 1, wherein:
in the initialization phase, m devices obtain a secret c1,…,cmAnd calculating to obtain PA、gcOne way of (2) is as follows:
knowing d beforehandAIn [1, n-1 ]]Randomly selecting m integers c in interval1,…,cmAnd calculating:
PA=[(c1c2…cm)-1]dA,gc=g^((c1c2…cm)-1) Wherein g ═ e (P)1,Ppub);
Then d isADestroying PA、gc、ciTo device No. i, i 1, …, m.
3. The SM9 digital signature collaborative generation method of claim 1, wherein:
if d isAIs known in advance by device No. 1, m devices obtain the secret c during the initialization phase1,…,cmAnd calculating to obtain PA、gcOne way of (2) is as follows:
device No. 1 is in [1, n-1 ]]Randomly selecting an integer c in the interval1Or in [1, n-1 ]]Fixedly selecting an integer c unknown to other devices in the interval1Calculating Q1=[(c1)-1]dA,u1=g^((c1)-1) Wherein g ═ e (P)1,Ppub) Then Q is added1、u1Sending the data to the next device, namely the No. 2 device;
device i receives Qi-1、ui-1Then i is 2, …, m is [1, n-1 ]]Randomly selecting an integer c in the intervaliOr in [1, n-1 ]]Fixedly selecting an integer c unknown to other devices in the intervaliCalculating Qi=[(ci)-1]Qi-1,ui=ui-1^((ci)-1);
If i is m, then P is takenA=Qm,gc=umOtherwise, the device No. i will send to the next device, i +1, until Q is completedm、umCalculating;
finally, device number m will PA、gcTo other m-1 devices, device No. 1 distributes dAAnd (4) destroying.
4. An SM9 digital signature cooperative generation system based on the SM9 digital signature cooperative generation method of any one of claims 1 to 3, characterized by:
the system comprises m devices, and the m devices generate digital signatures aiming at the messages according to the SM9 digital signature collaborative generation method.
5. An SM9 digital signature collaborative generation method is characterized in that:
the process involves m devices, where m.gtoreq.2;
the m devices are respectively numbered from No. 1 to No. m;
m devices each have [1, n-1 ] stored or derived from the stored secret]Integer secret c within interval1,c2,…,cmWherein n is group G in SM9 cryptographic algorithm1、G2、GTStep (c) ofiIs a secret held by or derived from device number i, i is 1, …, m, and (c)1+c2+…+cm)mod n≠0;
Pre-calculated in the initialization phase to obtain:
PA=[(c1+c2+…+cm)-1]dA
gc=g^((c1+c2+…+cm)-1),
wherein d isAIs the identity ID of the userAThe corresponding SM9 identifies the private key, (c)1+c2+…+cm)-1Is (c)1+c2+…+cm) Modulo n multiplication inverse of (g ═ e) (P)1,Ppub),P1Is G1The generator of (1), PpubIs a master public key;
when it is desired to use the user's SM9 to identify the private key dAWhen a digital signature is performed on a message M, M devices generate digital signatures as follows:
device number i in [1, n-1 ]]Randomly selecting an integer r in the intervaliCalculate gi=gc^ri,i=1,…,m;
One of the m devices:
calculating w ═ g1g2…gm,h=H2(M | | w, n), wherein H2For the hash function specified in SM9, M | | w represents that w is converted into a string and then merged with the string of M, and n is group G in SM9 cryptographic algorithm1、G2、GTThe order of (1);
checking whether w is equal to g ^ h or not, and if w is equal to g ^ h, re-performing g1,…,gmUntil w is not equal to g ^ h;
thereafter, the i-th device calculates Si=[(ri-cih)]PA,i=1,…,m;
Then, one of the m devices calculates S ═ S1+S2+…+Sm
Then (h, S) is the generated digital signature for message M.
6. The SM9 digital signature collaborative generation method of claim 5, wherein:
in the initialization phase, m devices obtain a secret c1,…,cmAnd calculating to obtain PA、gcOne way of (2) is as follows:
knowing d beforehandAIn [1, n-1 ]]Randomly selecting m integers c in interval1,…,cmAnd so that (c)1+c2+…+cm) mod n ≠ 0, calculates:
PA=[(c1+c2+…+cm)-1]dA,gc=g^((c1+c2+…+cm)-1) Wherein g ═ e (P)1,Ppub);
Then d isADestroying PA、gc、ciTo device No. i, i 1, …, m.
7. The SM9 digital signature collaborative generation method of claim 5, wherein:
one variation on the SM9 digital signature collaborative generation method is as follows:
in the initialization phase, d is known in advanceAIn [1, n-1 ]]Randomly selecting an integer c and m integers b in the interval1,b2,…,bmAnd such that (b)1+b2+…+bm) mod n is 1, calculate:
PA=[c-1]dA,gc=g^(c-1) Wherein g ═ e (P)1,Ppub);
di=[bi]dA,i=1,…,m;
Then d isA,c,b1,…,bmDestroying PA、gc、diTo device No. i, i 1, …, m;
when the user's SM9 identification private key d needs to be generatedAFor the digital signature of the message M, M devices, the i-th device calculate S as followsi
Si=[ri]PA+[-h]di,i=1,…,m;
Other calculations and operations are unchanged, including the way of calculating the collaborative calculation w and calculating h and S is unchanged.
8. An SM9 digital signature threshold generation method based on the SM9 digital signature cooperation generation method of claim 5, characterized by:
the SM9 digital signature threshold generation method comprises k devices, wherein the k devices carry out the collaborative generation of digital signatures in a (m, k) threshold secret sharing mode, and k > m is more than or equal to 2;
in the initialization phase, d is known in advanceAIn [1, n-1 ]]Randomly selecting an integer c in the interval, dividing c into k secret shares according to a threshold secret sharing mode, and calculating PA=[c-1]dA,gc=g^(c-1) Wherein g ═ e (P)1,Ppub) Then d isADestroying PA、gcAnd k threshold secret shares are respectively distributed to k devices;
when a digital signature for a message M needs to be generated by using an SM9 identification private key of a user, M devices in the k devices form a combination, the M devices in the combination are respectively marked as devices No. 1 to M, each device in the combination respectively calculates a secret share required by applying the SM9 digital signature collaborative generation method according to the current combination by using a threshold secret of the device, and then the M devices generate the digital signature for the message M by applying the SM9 digital signature collaborative generation method.
9. An SM9 digital signature cooperative generation system based on the SM9 digital signature cooperative generation method of any one of claims 5 to 7, characterized by:
the system comprises m devices, and the m devices generate digital signatures aiming at the messages according to the SM9 digital signature collaborative generation method.
10. An SM9 digital signature threshold generation system based on the SM9 digital signature threshold generation method of claim 8, characterized by:
the system comprises k devices, wherein k is larger than m and is larger than or equal to 2, and the k devices generate digital signatures aiming at the messages according to the SM9 digital signature threshold generation method.
CN201711147604.9A 2017-11-17 2017-11-17 SM9 digital signature collaborative generation method and system Active CN107819585B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711147604.9A CN107819585B (en) 2017-11-17 2017-11-17 SM9 digital signature collaborative generation method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711147604.9A CN107819585B (en) 2017-11-17 2017-11-17 SM9 digital signature collaborative generation method and system

Publications (2)

Publication Number Publication Date
CN107819585A CN107819585A (en) 2018-03-20
CN107819585B true CN107819585B (en) 2020-08-25

Family

ID=61609456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711147604.9A Active CN107819585B (en) 2017-11-17 2017-11-17 SM9 digital signature collaborative generation method and system

Country Status (1)

Country Link
CN (1) CN107819585B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951292B (en) * 2019-02-20 2020-08-04 武汉理工大学 Simplified SM9 digital signature separation interaction generation method and system
CN109962783B (en) * 2019-03-20 2020-08-25 武汉理工大学 SM9 digital signature collaborative generation method and system based on progressive calculation
CN110113165B (en) * 2019-04-24 2020-09-04 武汉理工大学 SM2 digital signature collaborative generation method and system supporting mixed secret sharing
CN110048839A (en) * 2019-04-26 2019-07-23 山东渔翁信息技术股份有限公司 A kind of digital signature method, device and storage medium
CN110213057B (en) * 2019-05-23 2021-01-08 武汉理工大学 SM9 digital signature collaborative generation method and system with product r parameter
CN110247759B (en) * 2019-06-03 2020-07-10 武汉理工大学 SM9 private key generation and use method and system
CN110166256B (en) * 2019-06-17 2020-10-02 武汉理工大学 SM9 digital signature multi-party collaborative generation method and system with product r parameter
CN110299998B (en) * 2019-07-04 2020-09-04 武汉理工大学 SM9 digital signature collaborative generation method and system by means of intermediate parameters
CN110519051B (en) * 2019-08-22 2021-06-01 武汉理工大学 SM9 signature cooperative generation method and system of r parameter and secret double product
CN110557260B (en) * 2019-08-26 2020-08-04 武汉理工大学 SM9 digital signature generation method and device
CN110943845A (en) * 2019-11-25 2020-03-31 武汉大学 Method and medium for cooperatively generating SM9 signature by two light-weight parties
CN111010272B (en) * 2019-12-20 2021-01-12 武汉理工大学 Identification private key generation and digital signature method, system and device
CN113300841B (en) * 2021-05-25 2022-11-25 贵州大学 Identity-based collaborative signature method and system
CN113742670B (en) * 2021-08-30 2023-06-06 建信金融科技有限责任公司 Multiparty collaborative decryption method and device
CN115150062B (en) * 2022-06-10 2024-04-02 武汉理工大学 SM9 digital signature generation method and system with signature production data controlled safely

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1083699A1 (en) * 1998-05-18 2001-03-14 Mitsubishi Materials Corporation Information sharing system
CN106656512A (en) * 2017-01-17 2017-05-10 武汉理工大学 SM2 digital signature generation method and system supporting threshold password
CN106712942A (en) * 2017-01-10 2017-05-24 武汉理工大学 SM2 digital signature generation method and system based on secret sharing
CN106850198A (en) * 2017-01-16 2017-06-13 武汉理工大学 SM2 digital signature generation method and system based on the collaboration of many devices
CN107017993A (en) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 A kind of multi-party joint key is produced and digital signature method and system
CN107124277A (en) * 2016-02-25 2017-09-01 上海传真通信设备技术研究所有限公司 A kind of hard copy control system based on national commercial cipher algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838205B2 (en) * 2014-09-16 2017-12-05 Keypasco Ab Network authentication method for secure electronic transactions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1083699A1 (en) * 1998-05-18 2001-03-14 Mitsubishi Materials Corporation Information sharing system
CN107124277A (en) * 2016-02-25 2017-09-01 上海传真通信设备技术研究所有限公司 A kind of hard copy control system based on national commercial cipher algorithm
CN106712942A (en) * 2017-01-10 2017-05-24 武汉理工大学 SM2 digital signature generation method and system based on secret sharing
CN106850198A (en) * 2017-01-16 2017-06-13 武汉理工大学 SM2 digital signature generation method and system based on the collaboration of many devices
CN106656512A (en) * 2017-01-17 2017-05-10 武汉理工大学 SM2 digital signature generation method and system supporting threshold password
CN107017993A (en) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 A kind of multi-party joint key is produced and digital signature method and system

Also Published As

Publication number Publication date
CN107819585A (en) 2018-03-20

Similar Documents

Publication Publication Date Title
CN107819585B (en) SM9 digital signature collaborative generation method and system
US8429408B2 (en) Masking the output of random number generators in key generation protocols
US10530585B2 (en) Digital signing by utilizing multiple distinct signing keys, distributed between two parties
CN107968710B (en) SM9 digital signature separation interaction generation method and system
CN110213057B (en) SM9 digital signature collaborative generation method and system with product r parameter
CN108183791B (en) Intelligent terminal data security processing method and system applied to cloud environment
US20100098253A1 (en) Broadcast Identity-Based Encryption
CN109951292B (en) Simplified SM9 digital signature separation interaction generation method and system
CN106850229A (en) SM2 digital signature generation method and system based on the secret segmentation of product
CN113271209B (en) Trustable public key encryption system and method based on non-interactive zero-knowledge proof
CN107086912B (en) Ciphertext conversion method, decryption method and system in heterogeneous storage system
CN109962783B (en) SM9 digital signature collaborative generation method and system based on progressive calculation
CN110855425A (en) Lightweight multiparty cooperative SM9 key generation and ciphertext decryption method and medium
CN111030801A (en) Multi-party distributed SM9 key generation and ciphertext decryption method and medium
CN110166235B (en) SM9 digital signature collaborative generation method and system for enhancing security
CN110519051B (en) SM9 signature cooperative generation method and system of r parameter and secret double product
CN110380855B (en) SM9 digital signature generation method and system supporting multi-party cooperative enhanced security
CN110266486B (en) SM9 digital signature simple generation method and system based on product secret sharing
CN108055134B (en) Collaborative computing method and system for elliptic curve point multiplication and pairing operation
CN110299998B (en) SM9 digital signature collaborative generation method and system by means of intermediate parameters
CN110798313B (en) Secret dynamic sharing-based collaborative generation method and system for number containing secret
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
CN110401524B (en) Method and system for collaborative generation of secret-containing numbers by means of homomorphic encryption
EP2363976A1 (en) Improved digital signature and key agreement schemes
Wu et al. ID-based remote authentication with smart cards on open distributed system from elliptic curve cryptography

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant