CN110061847B - Digital signature method for key distributed generation - Google Patents

Digital signature method for key distributed generation Download PDF

Info

Publication number
CN110061847B
CN110061847B CN201910271243.1A CN201910271243A CN110061847B CN 110061847 B CN110061847 B CN 110061847B CN 201910271243 A CN201910271243 A CN 201910271243A CN 110061847 B CN110061847 B CN 110061847B
Authority
CN
China
Prior art keywords
signature
participant
parameter
signed
value
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
CN201910271243.1A
Other languages
Chinese (zh)
Other versions
CN110061847A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201910271243.1A priority Critical patent/CN110061847B/en
Publication of CN110061847A publication Critical patent/CN110061847A/en
Application granted granted Critical
Publication of CN110061847B publication Critical patent/CN110061847B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold 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/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/3236Cryptographic 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 using cryptographic hash functions

Abstract

The invention discloses a digital signature method for distributed generation of a secret key, which is used for solving the technical problem of low efficiency of the traditional digital signature method. In the key generation stage, t signature participants select own sub-private keys and complete the generation of the private keys through the interaction with the first signature participant. In the signature stage, the t signature participants sequentially use the sub private keys held by the participants to carry out distributed signature, then the tth signature participant completes the synthesis of the second part of the signature under the homomorphic encryption condition, and then the first signature participant completes the final signature synthesis and verification. According to the invention, a paillier homomorphic encryption algorithm is utilized, each signature participant does not need to utilize zero knowledge proof to ensure the correctness of the signature, and the final signature verification only needs point addition operation on one elliptic curve and point multiplication operation on two elliptic curves, so that compared with t times of zero knowledge proof in the background technology, the calculation efficiency is improved.

Description

Digital signature method for key distributed generation
Technical Field
The invention relates to a digital signature method, in particular to a digital signature method for key distributed generation.
Background
A distributed threshold signature method is proposed in the document Goldfeder S, Gennaro R, Kalodner H, et al, securing Bitcoin wallets via a new DSA/ECDSA threshold signature scheme.2015. In the method, the private key of the signature is mastered by t persons, and the signature process needs to be completed by the t persons, so that the safety of the private key of the signature is improved. However, this method uses a large number of zero-knowledge proof operations, the zero-knowledge proof requires the verifying party to interact with the verified party for a plurality of times, and the higher the magnitude of the interaction times, the higher the credibility of the verified party, which is a time-consuming operation, so the efficiency of this method is relatively low. In the method, t times of zero knowledge proofings are needed to finish one signature, and t times of zero knowledge proofings are supposed to be needed for one time of zero knowledge proofingszSecondary interactions, then t.t is required to complete all zero knowledge proofszAnd the number of times of interaction is too large, so that the method is not suitable for being applied in a real scene.
Disclosure of Invention
In order to overcome the defect of low efficiency of the conventional digital signature method, the invention provides a digital signature method for key distributed generation. In the key generation stage, t signature participants select own sub-private keys, and the generation of the private keys is completed through interaction with the first signature participant. In the signature stage, the t signature participants sequentially use the sub private keys held by the participants to carry out distributed signature, then the tth signature participant completes the synthesis of the second part of the signature under the homomorphic encryption condition, and then the first signature participant completes the final signature synthesis and verification. According to the invention, a paillier homomorphic encryption algorithm is utilized, each signature participant does not need to utilize zero knowledge proof to ensure the correctness of the signature, only the first signature participant needs to verify the signature to ensure the correctness of the final signature, and the final signature verification only needs point addition operation on one elliptic curve and point multiplication operation on two elliptic curves, so that compared with t times of zero knowledge proof in the background technology, the calculation efficiency is improved.
The technical scheme adopted by the invention for solving the technical problems is as follows: a digital signature method for key distributed generation is characterized by comprising the following steps:
step one, signing participant ID first1Selects own sub-private key d1E {1,2, …, n-1}, and then calculates its own child private key d1Whether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000011
If the private key exists, the next step is executed, and if the private key does not exist, the sub private key d of the user is reselected1E {1,2, …, n-1} and recalculate its child private key d1Whether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000022
Until a multiplicative inverse is found
Figure BDA0002018473870000023
Sub private key d of1Then executing the next step;
wherein, ID1Representing the first signature participant, d1Indicating the first signed participant ID1The sub-private key of (a) is,
Figure BDA0002018473870000024
indicating the first signed participant ID1Sub private key d of1The multiplication inverse element under the modulus n, wherein n is a positive integer and represents the order of the base point of the elliptic curve;
step two, according to the following formula, the participant ID is signed first1Calculating its own sub public key Q1And a pseudo sub public key Q1', then the child public key Q1And a pseudo sub public key Q1' all broadcast to all signature participants:
Q1=d1G
Figure BDA0002018473870000025
wherein Q is1Indicating the first signed participant ID1Is a sub public key of1' means first signed participant ID1G represents a base point with an order of n on the elliptic curve;
step three, receiving the ID of the first signature participant1Sub public key Q of1And a pseudo sub public key Q1' after, the ith signed participant IDiSelects own sub-private key diE {1,2, …, n-1}, and then calculates its pseudo-child public key Q according to the following formulai', and the pseudo-sub public key Qi' sending to the first signed participant ID1,i=2,3,...,t:
Qi′=diQ1
Wherein, IDiRepresenting the ith signature participant, diIndicating the ith signed participant IDiSub private key of, Qi' denotes the ith signed participant IDiT is a positive integer, representing the signed participant IDiThe number of (2);
step four, signing the participant ID first1Upon receipt of the pseudo-child public key Q of all signed participantsi' thereafter, each signed participant ID is computed in turn as followsiSub public key Q ofiThen all the calculated sub public keys Q are addediDisclosed is a method for producing a synthetic resin:
Qi=d1Qi
wherein Q isiIndicating the ith signed participant IDiThe child public key of (1);
step five, each signature participant IDiReceiving a first signed participant ID1Public sub-public key QiThen, the equation is verified
Qi=diG
If the verification result of each signature participant is true, executing the next step, and if the verification result of any signature participant is false, returning to the step one;
step six, according to the following formula, each signature participant IDiCalculating a signature public key Q and disclosing the signature public key Q:
Figure BDA0002018473870000021
wherein Q represents a public signature key, and sigma represents a summation operation;
seventh, signing participant ID first1Choose its own secret value k1E {1,2, …, n-1}, and then calculates its secret value k1Whether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000031
If the secret value k exists, the next step is executed, and if the secret value k does not exist, the secret value k of the user is reselected1E {1,2, …, n-1} and recalculate its secret value k1Whether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000032
Until a multiplicative inverse is found
Figure BDA0002018473870000033
Secret value k of1Then executing the next step;
wherein k is1Indicating the first signed participant ID1Is determined by the secret value of (a),
Figure BDA0002018473870000034
indicating the first signed participant ID1Secret value k of1Inverse multiplication under modulo n;
step eight, signing the participant ID according to the following formula1Calculating the first intermediate signature parameter value R1And the first signature parameter intermediate value R1Send to a second signed participant ID2
R1=k1G
Wherein R is1Indicating the median value, ID, of the first signature parameter2Representing a second signature participant;
step nine, the ith signature participant IDiReceiving the i-1 th signature parameter intermediate value Ri-1Then, choose its secret value kiE {1,2, …, n-1}, and then calculates its secret value kiWhether or not there is a multiplicative inverse k modulo ni -1If the secret value k exists, the next step is executed, and if the secret value k does not exist, the secret value k of the user is reselectediE {1,2, …, n-1} and recalculate its secret value kiWhether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000035
Until a multiplicative inverse is found
Figure BDA0002018473870000036
Secret value k ofiThen the next step is performed, i ═ 2,3, …, t-1;
wherein k isiIndicating the ith signed participant IDiSecret ofThe value of the secret is set to be,
Figure BDA0002018473870000037
indicating the ith signed participant IDiSecret value k ofiInverse multiplication under modulo n;
step ten, signing the participant ID according to the following formulaiCalculating the ith signature parameter intermediate value RiAnd the ith signature parameter intermediate value RiSend to the (i + 1) th signed participant IDi+1,i=2,3,…,t-1:
Ri=kiRi-1
Wherein R isiRepresenting the i-th signature parameter mean value, Ri-1Denotes the i-1 th signature parameter median, IDi+1Represents the i +1 signature participant;
eleven, tth signature participant IDtReceiving the t-1 signature parameter intermediate value Rt-1Then, choose its secret value ktE {1,2, …, n-1}, and then calculates its secret value ktWhether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000038
If the secret value k exists, the next step is executed, and if the secret value k does not exist, the secret value k of the user is reselectedtE {1,2, …, n-1} and recalculate its secret value ktWhether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000039
Until a multiplicative inverse is found
Figure BDA00020184738700000310
Secret value k oftThen executing the next step;
wherein, IDtDenotes the tth signature participant, ktIndicating the tth signed participant IDtIs determined by the secret value of (a),
Figure BDA0002018473870000041
indicates the t-th labelFirst name participant IDtSecret value k oftInverse multiplication under modulo n;
twelfth, signature participant ID for the tth according to the following equationtCalculating a signature parameter R, then judging whether the signature parameter R is a zero point on an elliptic curve, if so, returning to the step six, and if not, broadcasting the signature parameter R to all signature participants:
R=ktRt-1=(xR,yR)
wherein R ist-1Represents the t-1 th signature parameter intermediate value, R represents the signature parameter, xRAbscissa, y, representing signature parameter RRRepresents the ordinate of the signature parameter R;
step thirteen, ith signature participant IDiAfter receiving the signature parameter R, calculating a first partial signature R according to the following formula:
r=xRmod n
then judging whether r is equal to 0, if so, returning to the step three, and if not, continuing to execute the next step;
wherein r represents the first partial signature and mod represents the modulo operation;
fourteen, signing the participant ID first according to the following formula1Calculating a hash value H of the message M, and then converting the H into an integer e according to a data type conversion rule:
H=hash(M)
wherein M represents a message, H represents a hash value of the message M, the hash represents a password hash algorithm, and e represents an integer value obtained by converting the hash value H;
fifteen step first signing participant ID1Selecting a private key sk and a public key pk of a paillier homomorphic encryption algorithm, secretly storing the private key sk, and disclosing the public key pk;
wherein paillier represents the homomorphic encryption algorithm, sk represents the private key of the paillier homomorphic encryption algorithm and is used for decryption operation, and pk represents the public key of the paillier homomorphic encryption algorithm and is used for encryption operation;
sixthly, according to the following formula, the first stepIndividual signature participant ID1Calculating a first signature generation parameter first part alpha1And a second part beta of the first signature generation parameter1Then the first signature is generated as a first part alpha of the parameter1And a second part beta of the first signature generation parameter1Send to a second signed participant ID2
Figure BDA0002018473870000042
β1=Epk(rd1mod n)
Wherein alpha is1Representing a first part, beta, of a first signature generation parameter1Representing a second part of the first signature generation parameter, Epk(.) represents the encryption operation of the paillier homomorphic encryption algorithm;
seventeenth, the ith signing participant IDiReceiving the i-1 st signature generation parameter first part alphai-1And the i-1 st signature generation parameter second part betai-1Then, the first part alpha of the ith signature generation parameter is calculated according to the following formulaiAnd the ith signature generation parameter second part betaiThen the ith signature generation parameter is generated as a first part alphaiAnd the ith signature generation parameter second part betaiSend to the (i + 1) th signed participant IDi+1,i=2,3,…,t-1:
Figure BDA0002018473870000051
βi=Epk(rdimodn)+Eβi-1
Wherein alpha isiRepresenting the first part, beta, of the ith signature generation parameteriRepresenting the second part, a, of the ith signature generation parameteri-1Denotes the first part, β, of the i-1 th signature generation parameteri-1Representing the second part of the i-1 th signature generation parameterERepresents the multiplication homomorphic operation under the paillier homomorphic encryption algorithm, +ETo representperforming addition homomorphic operation under a paillier homomorphic encryption algorithm;
eighteenth, tth signature participant IDtReceiving the t-1 st signature generation parameter first part alphat-1And t-1 signature generation parameter second part betat-1Then, the first part alpha of the t signature generation parameter is calculated according to the following formulatAnd a tth signature generation parameter second part betat
Figure BDA0002018473870000052
βt=Epk(rdtmod n)+Eβt-1
Wherein alpha istRepresenting the first part, beta, of the tth signature generation parametertRepresenting the second part, a, of the tth signature generation parametert-1Denotes the first part, beta, of the t-1 th signature generation parametert-1Representing the second part of the t-1 th signature generation parameter, dtIndicating the tth signed participant IDtThe child private key of (a);
nineteenth, tth signature participant IDtSelecting a secret confusion value rho epsilon {1,2, …, n-1}, and then calculating whether a multiplication inverse rho exists in the secret confusion value rho under a modulus n-1And if so, executing the next step, and if not, reselecting the secret confusion value rho epsilon {1,2, …, n-1} and recalculating whether the secret confusion value rho has multiplication inverse elements rho under the modulus n-1Until a multiplicative inverse p is found-1Then the next step is performed;
where ρ represents a secret obfuscated value, ρ-1Representing the multiplicative inverse of the secret obfuscated value ρ modulo n;
twenty, the tth signed participant ID according to the following equationtCalculating the second part beta of the t +1 th signature generation parametert+1Then the t +1 th signature generation parameter is generated into a second part betat+1Sent to the t-1 signed participant IDt-1
Figure BDA0002018473870000053
Wherein, betat+1Second part, ID, representing the t +1 th signature Generation parametert-1Representing the t-1 signature participant;
twenty-one, signing the participant ID for the ith according to the following equationiCalculating the second part beta of the 2t-i +1 th signature generation parameter2t-i+1Then the 2t-i +1 th signature generation parameter is generated into a second part beta2t-i+1Sent to the i-1 th signed participant IDi-1,i=t-1,t-2,…,2:
Figure BDA0002018473870000061
Wherein, beta2t-i+1Representing the second part, beta, of the 2t-i +1 th signature generation parameter2t-iA second part representing a 2t-i < th > signature generation parameter;
twenty-two, the first signature participant ID, according to the following equation1Calculating a second part beta of the 2 t-th signature generation parameter2tThen the 2t signature is generated into a second part of the parameters beta2tSent to the tth signed participant IDt
Figure BDA0002018473870000062
Wherein, beta2tSecond part, beta, representing the 2 t-th signature generation parameter2t-1A second part representing a 2t-1 th signature generation parameter;
twenty-three, signature participant ID for the tth according to the following equationtCalculating the second part beta of the 2t +1 th signature generation parameter2t+1
β2t+1=β2t×Eρ-1
Wherein, beta2t+1A second part representing a 2t +1 th signature generation parameter;
twenty four steps,Signature participant ID as followstCalculating the ciphertext C of the second part of the signature s under the paillier homomorphic encryption, and then sending the ciphertext C of the second part of the signature s under the paillier homomorphic encryption to the ID of the first signature participant1
C=αt+Eβ2t+1
Wherein s represents a second part signature, and C represents a ciphertext of the second part signature s under the paillier homomorphic encryption;
twenty five, first signing participant ID according to the following formula1Calculating a second partial signature s:
s=Dsk(C)mod n
wherein D issk(.) represents the decryption operation of the paillier homomorphic encryption algorithm;
twenty-six, the first signing participant ID, according to the following equation1Calculating a signature verification parameter R', R ═ xR′,yR′):
R′=s-1(eG+rQ)
Wherein R' represents a signature verification parameter, xR' denotes the abscissa, y, of the signature verification parameter RR' denotes the ordinate, s, of the signature verification parameter R-1Representing a multiplicative inverse of the second partial signature s modulo n;
twenty-seventh, signing the participant ID first, according to the following equation1Calculating a verification parameter r 'of the first partial signature, then judging whether an equation r' is satisfied, if so, executing the next step, if not, the signature fails, and returning to the step six:
r′≡xR′mod n
wherein r' represents the verification parameter of the first partial signature and ≡ represents a congruence symbol;
twenty-eight, first signing participant ID1Extracting the signature (r, s) and then broadcasting the signature (r, s) to all signature participants;
where (r, s) represents the final generated signature.
The invention has the beneficial effects that: in the key generation stage, t signature participants select own sub-private keys, and the generation of the private keys is completed through interaction with the first signature participant. In the signature stage, the t signature participants sequentially use the sub private keys held by the participants to carry out distributed signature, then the tth signature participant completes the synthesis of the second part of the signature under the homomorphic encryption condition, and then the first signature participant completes the final signature synthesis and verification. According to the invention, a paillier homomorphic encryption algorithm is utilized, each signature participant does not need to utilize zero knowledge proof to ensure the correctness of the signature, only the first signature participant needs to verify the signature to ensure the correctness of the final signature, and the final signature verification only needs point addition operation on one elliptic curve and point multiplication operation on two elliptic curves, so that compared with t times of zero knowledge proof in the background technology, the calculation efficiency is improved.
In addition, the invention realizes the distributed generation and storage of the private key, the generation of the private key does not need a trusted center, and the security of the private key is higher.
The invention realizes the function of generating the signature by the distributed type of the t individuals, does not need to explicitly synthesize the private key during the signature, and avoids the risk brought by the leakage of the private key.
The present invention will be described in detail below with reference to the accompanying drawings and specific embodiments.
Drawings
Fig. 1 is a flow chart of a digital signature method of distributed key generation of the present invention.
Detailed Description
The noun explains:
t: parameters of the elliptic curve secp256k 1;
p: generating a finite field FpThe large prime number of (2) is FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F ═ 2256-232-29-28-27-26-24-1;
a, b: parameters of the elliptic equation, a is 0, b is 7;
g: a base point with an order of n on the elliptic curve, and the base point has a value of 0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B 8;
n: the order of the base point G of the elliptic curve, the value of which is FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
h: a residue factor controlling the density of the selected points, the value of which is 01;
ID1: a first signing participant;
ID2: a second signing participant;
IDi: the ith signature participant;
IDi+1: the i +1 th signature participant;
IDt: the tth signature participant;
IDt-1: the t-1 signature participant;
t: positive integer representing signed participant IDiThe number of (2);
d1: first signing participant ID1The child private key of (a);
Figure BDA0002018473870000081
first signing participant ID1Sub private key d of1Inverse multiplication under modulo n;
di: ith signed participant IDiThe child private key of (a);
dt: tth signed participant IDtThe child private key of (a);
Q1: first signing participant ID1The child public key of (1);
Q1': indicating the first signed participant ID1The pseudo child public key of (1);
Qi: ith signed participant IDiThe child public key of (1);
Qi': ith signed participant IDiThe pseudo child public key of (1);
q: signing a public key;
sigma: summation operations, e.g.
Figure BDA0002018473870000082
k1: first signing participant ID1The secret value of (a);
Figure BDA0002018473870000083
first signing participant ID1Secret value k of1Inverse multiplication under modulo n;
ki: ith signed participant IDiThe secret value of (a);
Figure BDA0002018473870000084
ith signed participant IDiSecret value k ofiInverse multiplication under modulo n;
kt: tth signed participant IDtThe secret value of (a);
Figure BDA0002018473870000085
tth signed participant IDtSecret value k oftInverse multiplication under modulo n;
R1: a first signature parameter median;
Ri: the ith signature parameter median;
Ri-1: the i-1 st signature parameter median;
Rt-1: the t-1 th signature parameter intermediate value;
r: a signature parameter;
xR: the abscissa of the signature parameter R;
yR: the ordinate of the signature parameter R;
r: a first partial signature;
mod: modulo arithmetic, e.g., 7mod4 — 3;
m: a message;
h: hash value of message M;
hash: a cryptographic hash algorithm;
e: the integral value after the Hash value H is converted;
paillier: a homomorphic encryption algorithm;
sk: a private key of a paillier homomorphic encryption algorithm;
pk: a public key of a paillier homomorphic encryption algorithm;
Epk(.): carrying out encryption operation on the paillier homomorphic encryption algorithm;
Dsk(.): carrying out decryption operation on the paillier homomorphic encryption algorithm;
×E: multiplication homomorphic operation under the paillier homomorphic encryption algorithm;
+E: performing addition homomorphic operation under a paillier homomorphic encryption algorithm;
α1: a first signature generation parameter first portion;
αi: a first part of the ith signature generation parameter;
αi-1: the i-1 st signature generation parameter first part;
αt-1: the t-1 signature generation parameter first part;
αt: a tth signature generation parameter first part;
β1: a second part of the first signature generation parameter;
βi: a second part of the ith signature generation parameter;
βi-1: the (i-1) th signature generation parameter second part;
βt-1: a t-1 signature generation parameter second part;
βt: a second part of the t-th signature generation parameter;
βt+1: a t +1 th signature generation parameter second part;
β2t-i+1: a second part of the 2t-i +1 th signature generation parameter;
β2t-i: a second part of the 2t-i signature generation parameters;
β2t: a second part of the 2 t-th signature generation parameter;
β2t-1: a 2t-1 signature generation parameter second part;
β2t+1: a 2t +1 signature generation parameter second part;
ρ: a secret obfuscation value;
ρ-1: the multiplication inverse of the secret obfuscated value rho under the modulus n;
s: a second partial signature;
s-1: the multiplication inverse element of the second partial signature s under the modulus n;
c: the second part of signature s is a ciphertext under the paillier homomorphic encryption;
r': a signature verification parameter;
xR': the abscissa of the signature verification parameter R';
yR': the ordinate of the signature verification parameter R';
r': a verification parameter for the first partial signature;
tbd: a congruence symbol;
(r, s): the final generated signature.
Refer to fig. 1. The digital signature method for distributed generation of the key comprises the following specific steps:
determining system parameters: this is a preparatory operation before implementation.
Selecting an elliptic curve secp256k1, and determining a parameter T ═ p, a, b, G, n, h, wherein T represents the parameter of the elliptic curve secp256k1, and p represents the generation finite field FpP is FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F is 2256-232-29-28-27-26-24-1, a, B represent the parameters of the elliptic equation, a is 0, B is 7, G represents a base point with an order of n on the elliptic curve, G is 0479BE667EF9DCBBAC55a06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448a68554199C47D08FFB10D4B8, n represents the order of the base point G of the elliptic curve, n is ffffffffffffffffffffffffffffffffffffffeaeaedce 6AF48a03BBFD25E8CD0364141, h denotes a residue factor, controlling the density of the selected points, h is 01.
Step one, signing participant ID first1Selects own sub-private key d1E {1,2, …, n-1}, and then calculates its own child private key d1Whether or not there is a multiplicative inverse d under modulo n1 -1If the private key d exists, the next step is executed, and if the private key d does not exist, the own sub-private key d is reselected1E {1,2, …, n-1} and recalculate its child private key d1Whether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000111
Until a multiplicative inverse is found
Figure BDA0002018473870000112
Sub private key d of1Then executing the next step;
wherein, ID1Representing the first signature participant, d1Indicating the first signed participant ID1The sub-private key of (a) is,
Figure BDA0002018473870000113
indicating the first signed participant ID1Sub private key d of1The multiplication inverse element under the modulus n, wherein n is a positive integer and represents the order of the base point of the elliptic curve;
step two, according to the following formula, the participant ID is signed first1Calculating its own sub public key Q1And a pseudo sub public key Q1', then the child public key Q1And a pseudo sub public key Q1' all broadcast to all signature participants:
Q1=d1G
Figure BDA0002018473870000114
wherein Q is1Indicating the first signed participant ID1Is a sub public key of1' means first signed participant ID1G represents on an elliptic curveA base point with an order n;
step three, receiving the ID of the first signature participant1Sub public key Q of1And a pseudo sub public key Q1' after, the ith signed participant IDiSelects own sub-private key diE {1,2, …, n-1}, and then calculates its pseudo-child public key Q according to the following formulai', and the pseudo-sub public key Qi' sending to the first signed participant ID1,i=2,3,...,t:
Qi′=diQ1
Wherein, IDiRepresenting the ith signature participant, diIndicating the ith signed participant IDiSub private key of, Qi' denotes the ith signed participant IDiT is a positive integer, representing the signed participant IDiThe number of (2);
step four, signing the participant ID first1Upon receipt of the pseudo-child public key Q of all signed participantsi' thereafter, each signed participant ID is computed in turn as followsiSub public key Q ofiThen all the calculated sub public keys Q are addediDisclosed is a method for producing a synthetic resin:
Qi=d1Qi
wherein Q isiIndicating the ith signed participant IDiThe child public key of (1);
step five, each signature participant IDiReceiving a first signed participant ID1Public sub-public key QiThen, the equation is verified
Qi=diG
If the verification result of each signature participant is true, executing the next step, and if the verification result of any signature participant is false, returning to the step one;
step six, according to the following formula, each signature participant IDiCalculating a signature public key Q and disclosing the signature public key Q:
Figure BDA0002018473870000121
wherein Q represents a public signature key, and sigma represents a summation operation;
seventh, signing participant ID first1Choose its own secret value k1E {1,2, …, n-1}, and then calculates its secret value k1Whether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000122
If the secret value k exists, the next step is executed, and if the secret value k does not exist, the secret value k of the user is reselected1E {1,2, …, n-1} and recalculate its secret value k1Whether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000123
Until a multiplicative inverse is found
Figure BDA0002018473870000124
Secret value k of1Then executing the next step;
wherein k is1Indicating the first signed participant ID1Is determined by the secret value of (a),
Figure BDA0002018473870000125
indicating the first signed participant ID1Secret value k of1Inverse multiplication under modulo n;
step eight, signing the participant ID according to the following formula1Calculating the first intermediate signature parameter value R1And the first signature parameter intermediate value R1Send to a second signed participant ID2
R1=k1G
Wherein R is1Indicating the median value, ID, of the first signature parameter2Representing a second signature participant;
step nine, the ith signature participant IDiReceiving the i-1 th signature parameter intermediate value Ri-1Then choose oneselfSecret value k ofiE {1,2, …, n-1}, and then calculates its secret value kiWhether or not there is a multiplicative inverse k modulo ni -1, if existing, executing the next step, if not existing, reselecting the secret value k of the useriE {1,2, …, n-1} and recalculate its secret value kiWhether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000126
Until a multiplicative inverse is found
Figure BDA0002018473870000127
Secret value k ofiThen the next step is performed, i ═ 2,3, …, t-1;
wherein k isiIndicating the ith signed participant IDiIs determined by the secret value of (a),
Figure BDA0002018473870000128
indicating the ith signed participant IDiSecret value k ofiInverse multiplication under modulo n;
step ten, signing the participant ID according to the following formulaiCalculating the ith signature parameter intermediate value RiAnd the ith signature parameter intermediate value RiSend to the (i + 1) th signed participant IDi+1,i=2,3,…,t-1:
Ri=kiRi-1
Wherein R isiRepresenting the i-th signature parameter mean value, Ri-1Denotes the i-1 th signature parameter median, IDi+1Represents the i +1 signature participant;
eleven, tth signature participant IDtReceiving the t-1 signature parameter intermediate value Rt-1Then, choose its secret value ktE {1,2, …, n-1}, and then calculates its secret value ktWhether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000129
If so, the next step is performedStep, if not, reselecting its secret value ktE {1,2, …, n-1} and recalculate its secret value ktWhether or not there is a multiplicative inverse modulo n
Figure BDA0002018473870000131
Until a multiplicative inverse is found
Figure BDA0002018473870000132
Secret value k oftThen executing the next step;
wherein, IDtDenotes the tth signature participant, ktIndicating the tth signed participant IDtIs determined by the secret value of (a),
Figure BDA0002018473870000133
indicating the tth signed participant IDtSecret value k oftInverse multiplication under modulo n;
twelfth, signature participant ID for the tth according to the following equationtCalculating a signature parameter R, then judging whether the signature parameter R is a zero point on an elliptic curve, if so, returning to the step six, and if not, broadcasting the signature parameter R to all signature participants:
R=ktRt-1=(xR,yR)
wherein R ist-1Represents the t-1 th signature parameter intermediate value, R represents the signature parameter, xRAbscissa, y, representing signature parameter RRRepresents the ordinate of the signature parameter R;
step thirteen, ith signature participant IDiAfter receiving the signature parameter R, calculating a first partial signature R according to the following formula:
r=xRmod n
then judging whether r is equal to 0, if so, returning to the step three, and if not, continuing to execute the next step;
wherein r represents the first partial signature and mod represents the modulo operation;
step fourteen, according to the following formula, the firstSigning participant ID1Calculating a hash value H of the message M, and then converting the H into an integer e according to a data type conversion rule:
H=hash(M)
wherein M represents a message, H represents a hash value of the message M, the hash represents a password hash algorithm, and e represents an integer value obtained by converting the hash value H;
fifteen step first signing participant ID1Selecting a private key sk and a public key pk of a paillier homomorphic encryption algorithm, secretly storing the private key sk, and disclosing the public key pk;
wherein paillier represents the homomorphic encryption algorithm, sk represents the private key of the paillier homomorphic encryption algorithm and is used for decryption operation, and pk represents the public key of the paillier homomorphic encryption algorithm and is used for encryption operation;
sixteenth, signing the participant ID first according to1Calculating a first signature generation parameter first part alpha1And a second part beta of the first signature generation parameter1Then the first signature is generated as a first part alpha of the parameter1And a second part beta of the first signature generation parameter1Send to a second signed participant ID2
Figure BDA0002018473870000134
β1=Epk(rd1mod n)
Wherein alpha is1Representing a first part, beta, of a first signature generation parameter1Representing a second part of the first signature generation parameter, Epk(.) represents the encryption operation of the paillier homomorphic encryption algorithm;
seventeenth, the ith signing participant IDiReceiving the i-1 st signature generation parameter first part alphai-1And the i-1 st signature generation parameter second part betai-1Then, the first part alpha of the ith signature generation parameter is calculated according to the following formulaiAnd the ith signature generation parameter second part betaiThen the ith signature is generated into the first part of the parameterαiAnd the ith signature generation parameter second part betaiSend to the (i + 1) th signed participant IDi+1,i=2,3,…,t-1:
Figure BDA0002018473870000141
βi=Epk(rdimod n)+Eβi-1
Wherein alpha isiRepresenting the first part, beta, of the ith signature generation parameteriRepresenting the second part, a, of the ith signature generation parameteri-1Denotes the first part, β, of the i-1 th signature generation parameteri-1Representing the second part of the i-1 th signature generation parameterERepresents the multiplication homomorphic operation under the paillier homomorphic encryption algorithm, +ERepresenting addition homomorphic operation under the paillier homomorphic encryption algorithm;
eighteenth, tth signature participant IDtReceiving the t-1 st signature generation parameter first part alphat-1And t-1 signature generation parameter second part betat-1Then, the first part alpha of the t signature generation parameter is calculated according to the following formulatAnd a tth signature generation parameter second part betat
Figure BDA0002018473870000142
βt=Epk(rdtmod n)+Eβt-1
Wherein alpha istRepresenting the first part, beta, of the tth signature generation parametertRepresenting the second part, a, of the tth signature generation parametert-1Denotes the first part, beta, of the t-1 th signature generation parametert-1Representing the second part of the t-1 th signature generation parameter, dtIndicating the tth signed participant IDtThe child private key of (a);
nineteenth, tth signature participant IDtSelecting a secret confusion value rho epsilon {1,2, …, n-1}, and then calculating the secret confusion valueWhether the value rho has a multiplicative inverse rho modulo n-1And if so, executing the next step, and if not, reselecting the secret confusion value rho epsilon {1,2, …, n-1} and recalculating whether the secret confusion value rho has multiplication inverse elements rho under the modulus n-1Until a multiplicative inverse p is found-1Then the next step is performed;
where ρ represents a secret obfuscated value, ρ-1Representing the multiplicative inverse of the secret obfuscated value ρ modulo n;
twenty, the tth signed participant ID according to the following equationtCalculating the second part beta of the t +1 th signature generation parametert+1Then the t +1 th signature generation parameter is generated into a second part betat+1Sent to the t-1 signed participant IDt-1
Figure BDA0002018473870000143
Wherein, betat+1Second part, ID, representing the t +1 th signature Generation parametert-1Representing the t-1 signature participant;
twenty-one, signing the participant ID for the ith according to the following equationiCalculating the second part beta of the 2t-i +1 th signature generation parameter2t-i+1Then the 2t-i +1 th signature generation parameter is generated into a second part beta2t-i+1Sent to the i-1 th signed participant IDi-1,i=t-1,t-2,…,2:
Figure BDA0002018473870000151
Wherein, beta2t-i+1Representing the second part, beta, of the 2t-i +1 th signature generation parameter2t-iA second part representing a 2t-i < th > signature generation parameter;
twenty-two, the first signature participant ID, according to the following equation1Calculating a second part beta of the 2 t-th signature generation parameter2tThen the 2t signature is generated into a second part of the parameters beta2tSend to the t-th tagFirst name participant IDt
Figure BDA0002018473870000152
Wherein, beta2tSecond part, beta, representing the 2 t-th signature generation parameter2t-1A second part representing a 2t-1 th signature generation parameter;
twenty-three, signature participant ID for the tth according to the following equationtCalculating the second part beta of the 2t +1 th signature generation parameter2t+1
β2t+1=β2t×Eρ-1
Wherein, beta2t+1A second part representing a 2t +1 th signature generation parameter;
twenty-four steps, signature participant ID for the tth according to the following formulatCalculating the ciphertext C of the second part of the signature s under the paillier homomorphic encryption, and then sending the ciphertext C of the second part of the signature s under the paillier homomorphic encryption to the ID of the first signature participant1
C=αt+Eβ2t+1
Wherein s represents a second part signature, and C represents a ciphertext of the second part signature s under the paillier homomorphic encryption;
twenty five, first signing participant ID according to the following formula1Calculating a second partial signature s:
s=Dsk(C)mod n
wherein D issk(.) represents the decryption operation of the paillier homomorphic encryption algorithm;
twenty-six, the first signing participant ID, according to the following equation1Calculating a signature verification parameter R', R ═ xR′,yR′):
R′=s-1(eG+rQ)
Wherein R' represents a signature verification parameter, xR' denotes the abscissa, y, of the signature verification parameter RR' denotes the ordinate, s, of the signature verification parameter R-1Is shown asThe multiplication inverse element of the two-part signature s under the modulus n;
twenty-seventh, signing the participant ID first, according to the following equation1Calculating a verification parameter r 'of the first partial signature, then judging whether an equation r' is satisfied, if so, executing the next step, if not, the signature fails, and returning to the step six:
r′≡xR′mod n
wherein r' represents the verification parameter of the first partial signature and ≡ represents a congruence symbol;
twenty-eight, first signing participant ID1Extracting the signature (r, s) and then broadcasting the signature (r, s) to all signature participants;
where (r, s) represents the final generated signature.

Claims (1)

1. A digital signature method for distributed generation of keys, comprising the steps of:
step one, signing participant ID first1Selects own sub-private key d1∈{1,2, …, n-1}, and then computes its child private key d1Whether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000011
If the private key exists, the next step is executed, and if the private key does not exist, the sub private key d of the user is reselected1∈{1,2, …, n-1} and recalculate its child private key d1Whether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000012
Until a multiplicative inverse is found
Figure FDA0002955253360000013
Sub private key d of1Then executing the next step;
wherein, ID1Representing the first signature participant, d1Indicating the first signed participant ID1The sub-private key of (a) is,
Figure FDA0002955253360000014
indicating the first signed participant ID1Sub private key d of1The multiplication inverse element under the modulus n, wherein n is a positive integer and represents the order of the base point of the elliptic curve;
step two, according to the following formula, the participant ID is signed first1Calculating its own sub public key Q1And a pseudo sub public key Q1', then the child public key Q1And a pseudo sub public key Q1' all broadcast to all signature participants:
Q1=d1G
Figure FDA0002955253360000015
wherein Q is1Indicating the first signed participant ID1Is a sub public key of1' means first signed participant ID1G represents a base point with an order of n on the elliptic curve;
step three, receiving the ID of the first signature participant1Sub public key Q of1And a pseudo sub public key Q1' after, the ith signed participant IDiSelects own sub-private key diE {1,2, …, n-1}, and then calculates its pseudo-child public key Q according to the following formulai', and the pseudo-sub public key Qi' sending to the first signed participant ID1,i=2,3,...,t:
Qi′=diQ1
Wherein, IDiRepresenting the ith signature participant, diIndicating the ith signed participant IDiSub private key of, Qi' denotes the ith signed participant IDiT is a positive integer, representing the signed participant IDiThe number of (2);
step four, signing the participant ID first1Upon receipt of the pseudo-child public key Q of all signed participantsi' thereafter, each signature is calculated in turn according to the following formulaParticipant IDiSub public key Q ofiThen all the calculated sub public keys Q are addediDisclosed is a method for producing a synthetic resin:
Qi=d1Qi
wherein Q isiIndicating the ith signed participant IDiThe child public key of (1);
step five, each signature participant IDiReceiving a first signed participant ID1Public sub-public key QiThen, the equation is verified
Qi=diG
If the verification result of each signature participant is true, executing the next step, and if the verification result of any signature participant is false, returning to the step one;
step six, according to the following formula, each signature participant IDiCalculating a signature public key Q and disclosing the signature public key Q:
Figure FDA0002955253360000021
wherein Q represents a public signature key, and sigma represents a summation operation;
seventh, signing participant ID first1Choose its own secret value k1E {1,2, …, n-1}, and then calculates its secret value k1Whether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000022
If the secret value k exists, the next step is executed, and if the secret value k does not exist, the secret value k of the user is reselected1E {1,2, …, n-1} and recalculate its secret value k1Whether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000023
Until a multiplicative inverse is found
Figure FDA0002955253360000024
Secret value k of1Then executing the next step;
wherein k is1Indicating the first signed participant ID1Is determined by the secret value of (a),
Figure FDA0002955253360000025
indicating the first signed participant ID1Secret value k of1Inverse multiplication under modulo n;
step eight, signing the participant ID according to the following formula1Calculating the first intermediate signature parameter value R1And the first signature parameter intermediate value R1Send to a second signed participant ID2
R1=k1G
Wherein R is1Indicating the median value, ID, of the first signature parameter2Representing a second signature participant;
step nine, the ith signature participant IDiReceiving the i-1 th signature parameter intermediate value Ri-1Then, choose its secret value kiE {1,2, …, n-1}, and then calculates its secret value kiWhether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000026
If the secret value k exists, the next step is executed, and if the secret value k does not exist, the secret value k of the user is reselectediE {1,2, …, n-1} and recalculate its secret value kiWhether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000027
Until a multiplicative inverse is found
Figure FDA0002955253360000028
Secret value k ofiThen the next step is performed, i ═ 2,3, …, t-1;
wherein k isiIndicating the ith signed participant IDiIs determined by the secret value of (a),
Figure FDA0002955253360000029
indicating the ith signed participant IDiSecret value k ofiInverse multiplication under modulo n;
step ten, signing the participant ID according to the following formulaiCalculating the ith signature parameter intermediate value RiAnd the ith signature parameter intermediate value RiSend to the (i + 1) th signed participant IDi+1,i=2,3,…,t-1:
Ri=kiRi-1
Wherein R isiRepresenting the i-th signature parameter mean value, Ri-1Denotes the i-1 th signature parameter median, IDi+1Represents the i +1 signature participant;
eleven, tth signature participant IDtReceiving the t-1 signature parameter intermediate value Rt-1Then, choose its secret value ktE {1,2, …, n-1}, and then calculates its secret value ktWhether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000031
If the secret value k exists, the next step is executed, and if the secret value k does not exist, the secret value k of the user is reselectedtE {1,2, …, n-1} and recalculate its secret value ktWhether or not there is a multiplicative inverse modulo n
Figure FDA0002955253360000032
Until a multiplicative inverse is found
Figure FDA0002955253360000033
Secret value k oftThen executing the next step;
wherein, IDtDenotes the tth signature participant, ktIndicating the tth signed participant IDtIs determined by the secret value of (a),
Figure FDA0002955253360000034
indicating the tth signed participant IDtSecret value k oftInverse multiplication under modulo n;
twelfth, signature participant ID for the tth according to the following equationtCalculating a signature parameter R, then judging whether the signature parameter R is a zero point on an elliptic curve, if so, returning to the step six, and if not, broadcasting the signature parameter R to all signature participants:
R=ktRt-1=(xR,yR)
wherein R ist-1Represents the t-1 th signature parameter intermediate value, R represents the signature parameter, xRAbscissa, y, representing signature parameter RRRepresents the ordinate of the signature parameter R;
step thirteen, ith signature participant IDiAfter receiving the signature parameter R, calculating a first partial signature R according to the following formula:
r=xRmodn
then judging whether r is equal to 0, if so, returning to the step three, and if not, continuing to execute the next step;
wherein r represents the first partial signature and mod represents the modulo operation;
fourteen, signing the participant ID first according to the following formula1Calculating a hash value H of the message M, and then converting the H into an integer e according to a data type conversion rule:
H=hash(M)
wherein M represents a message, H represents a hash value of the message M, the hash represents a password hash algorithm, and e represents an integer value obtained by converting the hash value H;
fifteen step first signing participant ID1Selecting a private key sk and a public key pk of a paillier homomorphic encryption algorithm, secretly storing the private key sk, and disclosing the public key pk;
wherein paillier represents the homomorphic encryption algorithm, sk represents the private key of the paillier homomorphic encryption algorithm and is used for decryption operation, and pk represents the public key of the paillier homomorphic encryption algorithm and is used for encryption operation;
step tenSixth, the participant ID is signed first according to the following equation1Calculating a first signature generation parameter first part alpha1And a second part beta of the first signature generation parameter1Then the first signature is generated as a first part alpha of the parameter1And a second part beta of the first signature generation parameter1Send to a second signed participant ID2
Figure FDA0002955253360000041
β1=Epk(rd1modn)
Wherein alpha is1Representing a first part, beta, of a first signature generation parameter1Representing a second part of the first signature generation parameter, Epk(.) represents the encryption operation of the paillier homomorphic encryption algorithm;
seventeenth, the ith signing participant IDiReceiving the i-1 st signature generation parameter first part alphai-1And the i-1 st signature generation parameter second part betai-1Then, the first part alpha of the ith signature generation parameter is calculated according to the following formulaiAnd the ith signature generation parameter second part betaiThen the ith signature generation parameter is generated as a first part alphaiAnd the ith signature generation parameter second part betaiSend to the (i + 1) th signed participant IDi+1,i=2,3,…,t-1:
Figure FDA0002955253360000042
βi=Epk(rdimodn)+Eβi-1
Wherein alpha isiRepresenting the first part, beta, of the ith signature generation parameteriRepresenting the second part, a, of the ith signature generation parameteri-1Denotes the first part, β, of the i-1 th signature generation parameteri-1Representing the second part of the i-1 th signature generation parameterERepresenting paillier homomorphic cryptographic computationsHomomorphic operation of multiplication under the method +ERepresenting addition homomorphic operation under the paillier homomorphic encryption algorithm;
eighteenth, tth signature participant IDtReceiving the t-1 st signature generation parameter first part alphat-1And t-1 signature generation parameter second part betat-1Then, the first part alpha of the t signature generation parameter is calculated according to the following formulatAnd a tth signature generation parameter second part betat
Figure FDA0002955253360000043
βt=Epk(rdtmodn)+Eβt-1
Wherein alpha istRepresenting the first part, beta, of the tth signature generation parametertRepresenting the second part, a, of the tth signature generation parametert-1Denotes the first part, beta, of the t-1 th signature generation parametert-1Representing the second part of the t-1 th signature generation parameter, dtIndicating the tth signed participant IDtThe child private key of (a);
nineteenth, tth signature participant IDtSelecting a secret confusion value rho epsilon {1,2, …, n-1}, and then calculating whether a multiplication inverse rho exists in the secret confusion value rho under a modulus n-1And if so, executing the next step, and if not, reselecting the secret confusion value rho epsilon {1,2, …, n-1} and recalculating whether the secret confusion value rho has multiplication inverse elements rho under the modulus n-1Until a multiplicative inverse p is found-1Then the next step is performed;
where ρ represents a secret obfuscated value, ρ-1Representing the multiplicative inverse of the secret obfuscated value ρ modulo n;
twenty, the tth signed participant ID according to the following equationtCalculating the second part beta of the t +1 th signature generation parametert+1Then the t +1 th signature generation parameter is generated into a second part betat+1Sent to the t-1 signed participant IDt-1
Figure FDA0002955253360000051
Wherein, betat+1Second part, ID, representing the t +1 th signature Generation parametert-1Representing the t-1 signature participant;
twenty-one, signing the participant ID for the ith according to the following equationiCalculating the second part beta of the 2t-i +1 th signature generation parameter2t-i+1Then the 2t-i +1 th signature generation parameter is generated into a second part beta2t-i+1Sent to the i-1 th signed participant IDi-1,i=t-1,t-2,…,2:
Figure FDA0002955253360000052
Wherein, beta2t-i+1Representing the second part, beta, of the 2t-i +1 th signature generation parameter2t-iA second part representing a 2t-i < th > signature generation parameter;
twenty-two, the first signature participant ID, according to the following equation1Calculating a second part beta of the 2 t-th signature generation parameter2tThen the 2t signature is generated into a second part of the parameters beta2tSent to the tth signed participant IDt
Figure FDA0002955253360000053
Wherein, beta2tSecond part, beta, representing the 2 t-th signature generation parameter2t-1A second part representing a 2t-1 th signature generation parameter;
twenty-three, signature participant ID for the tth according to the following equationtCalculating the second part beta of the 2t +1 th signature generation parameter2t+1
β2t+1=β2t×Eρ-1
Wherein, beta2t+1Is shown asA second part of 2t +1 signature generation parameters;
twenty-four steps, signature participant ID for the tth according to the following formulatCalculating the ciphertext C of the second part of the signature s under the paillier homomorphic encryption, and then sending the ciphertext C of the second part of the signature s under the paillier homomorphic encryption to the ID of the first signature participant1
C=αt+Eβ2t+1
Wherein s represents a second part signature, and C represents a ciphertext of the second part signature s under the paillier homomorphic encryption;
twenty five, first signing participant ID according to the following formula1Calculating a second partial signature s:
s=Dsk(C)modn
wherein D issk(.) represents the decryption operation of the paillier homomorphic encryption algorithm;
twenty-six, the first signing participant ID, according to the following equation1Calculating a signature verification parameter R', R ═ xR′,yR′):
R′=s-1(eG+rQ)
Wherein R' represents a signature verification parameter, xR' denotes the abscissa, y, of the signature verification parameter RR' denotes the ordinate, s, of the signature verification parameter R-1Representing a multiplicative inverse of the second partial signature s modulo n;
twenty-seventh, signing the participant ID first, according to the following equation1Calculating a verification parameter r 'of the first partial signature, then judging whether an equation r' is satisfied, if so, executing the next step, if not, the signature fails, and returning to the step six:
r′=xR′modn
wherein r' represents a verification parameter of the first partial signature;
twenty-eight, first signing participant ID1Extracting the signature (r, s) and then broadcasting the signature (r, s) to all signature participants;
where (r, s) represents the final generated signature.
CN201910271243.1A 2019-04-04 2019-04-04 Digital signature method for key distributed generation Active CN110061847B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910271243.1A CN110061847B (en) 2019-04-04 2019-04-04 Digital signature method for key distributed generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910271243.1A CN110061847B (en) 2019-04-04 2019-04-04 Digital signature method for key distributed generation

Publications (2)

Publication Number Publication Date
CN110061847A CN110061847A (en) 2019-07-26
CN110061847B true CN110061847B (en) 2021-05-04

Family

ID=67318328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910271243.1A Active CN110061847B (en) 2019-04-04 2019-04-04 Digital signature method for key distributed generation

Country Status (1)

Country Link
CN (1) CN110061847B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338028A (en) * 2020-09-28 2022-04-12 华为技术有限公司 Threshold signature method and device, electronic equipment and readable storage medium
CN112100644B (en) * 2020-11-19 2021-03-16 飞天诚信科技股份有限公司 Method and device for generating data signature

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2676452A1 (en) * 2011-02-15 2013-12-25 P2S Media Group OY Quarantine method for sellable virtual goods
CN107707358A (en) * 2017-10-30 2018-02-16 武汉大学 A kind of EC KCDSA digital signature generation method and system
CN108173639A (en) * 2018-01-22 2018-06-15 中国科学院数据与通信保护研究教育中心 A kind of two side's cooperation endorsement methods based on SM9 signature algorithms
CN109064170A (en) * 2018-07-23 2018-12-21 西安电子科技大学 Group signature method without trusted party

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2676452A1 (en) * 2011-02-15 2013-12-25 P2S Media Group OY Quarantine method for sellable virtual goods
CN107707358A (en) * 2017-10-30 2018-02-16 武汉大学 A kind of EC KCDSA digital signature generation method and system
CN108173639A (en) * 2018-01-22 2018-06-15 中国科学院数据与通信保护研究教育中心 A kind of two side's cooperation endorsement methods based on SM9 signature algorithms
CN109064170A (en) * 2018-07-23 2018-12-21 西安电子科技大学 Group signature method without trusted party

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《比特币的匿名性和密钥管理研究》;陈思;《中国优秀硕士学位论文全文数据库》;20180415;全文 *

Also Published As

Publication number Publication date
CN110061847A (en) 2019-07-26

Similar Documents

Publication Publication Date Title
CN110061828B (en) Distributed digital signature method without trusted center
CN107634836B (en) SM2 digital signature generation method and system
CN106936593B (en) Certificateless multi-receiver signcryption method based on elliptic curve efficient anonymity
Micciancio et al. Lattice-based cryptography
Blazy et al. (Hierarchical) identity-based encryption from affine message authentication
CN107707358B (en) EC-KCDSA digital signature generation method and system
Coron et al. Universal padding schemes for RSA
CN111106936A (en) SM 9-based attribute encryption method and system
CN114157427B (en) SM2 digital signature-based threshold signature method
CN1870499B (en) Method for generating multiple variable commom key password system
CN112564907B (en) Key generation method and device, encryption method and device, and decryption method and device
CN110061847B (en) Digital signature method for key distributed generation
JPWO2009125537A1 (en) Signature and verification method, signature generation apparatus, and signature verification apparatus
CN106936584B (en) Method for constructing certificateless public key cryptosystem
CN111010276A (en) Multi-party combined SM9 key generation and ciphertext decryption method and medium
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
CN112118111A (en) SM2 digital signature method suitable for threshold calculation
CN109064170B (en) Group signature method without trusted center
Boyar et al. Short non-interactive cryptographic proofs
CN113972981B (en) SM2 cryptographic algorithm-based efficient threshold signature method
CN111901123B (en) SM2 signature generation method, storage medium and terminal
CN110798313B (en) Secret dynamic sharing-based collaborative generation method and system for number containing secret
CN110401524B (en) Method and system for collaborative generation of secret-containing numbers by means of homomorphic encryption
Dachman-Soled A black-box construction of a CCA2 encryption scheme from a plaintext aware (sPA1) encryption scheme

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