Summary of the invention
The technical problem to be solved in the present invention is to overcome the deficiencies in the prior art, provide a kind of with random oracle model under the scheme that designs have more the thresholding ring label decryption method of the identity-based of fail safe.
For solving the problems of the technologies described above, the present invention adopts the basic conception of technical scheme to be:
A thresholding ring label decryption method for identity-based, is characterized in that: comprise the following steps:
(1) system is set up: random selecting parameter, generation system parameter and corresponding master key, and wherein system parameters is open parameter, and concrete steps are:
Make G, G
tthe cyclic group of prime number p that to be rank be, e:G × G → G
ta bilinear map, two collisionless hash functions
With
It is n that the identity ID of random length and message m are exported length respectively
uand n
mbit string;
Trusted third party random selecting parameter alpha ∈ Z
p, generator g ∈ G, calculates g
1=g
a.Random selecting parameter g
2, u', m' ∈ G, n
udimensional vector
n
mdimensional vector
wherein u
i, m
i∈
rg, then system parameters is
Master key is
(2) private key extracts: the identity of input system parameter, master key and user, and obtain the private key of this user identity, concrete steps are:
Given user identity ID, by hash function u=H
u(ID) length calculating representative of consumer identity is n
ubit string, make i-th that u [i] represents in this bit string, in definition bit string, numerical value is the sequence number set Φ of 1
iD;
Random selecting parameter r
u∈ Z
p, calculating user identity is the private key of ID
(3) sign close: the set L={ID of the close middle n member of given thresholding ring label
1..., ID
n, actual carry out signing the identity of close t the close person of label under be designated as 1,2 ..., t}, waits to sign close message m, signs the identity ID of close recipient
r, signing close concrete steps is:
The close person ID of each label
i(i=1 ..., t) its sub secret s of Stochastic choice
i∈ Z
p, structure coefficient is at Z
pt-1 order polynomial f
i(x)=a
i, 0+ a
i, 1x+ ... + a
i, t-1x
t-1, wherein s
i=a
i, 0; Then close person ID is signed
icalculate open parameter
And sign close person broadcast to other;
Calculate other and respectively sign close person ID
jthe secret sharing s of (j ≠ i)
i,j=f
i(j), and they sent to other to sign close person ID
j(j=1,2 .., t; J ≠ i), oneself retains s
i,i=f
i(i);
Other respectively sign close person ID
j(j=1,2 .., t; J ≠ i) sign close person ID from i-th
iobtain secret sharing s
i,jafter, verify its validity with following equation:
when after confirmation secret sharing effectively, the close person ID of each label
icalculating its privately owned secret according to secret sharing is
According to ring members list of identities L={ID
1..., ID
n, t signs close person, waits to sign the private key of close message m and t the close person of label, the close recipient identity ID of ring label
r, obtain and waiting to sign the close C of (t, n) thresholding ring label under close message m, (t, n) represents that the close middle membership of thresholding ring label be n, t is threshold value, and actual participation generates the close number of members>=t of thresholding ring label, and concrete steps are:
Make m ∈ G
tfor waiting to sign close message, these thresholding ring label close person's random selecting l
1..., l
n∈ Z
p, calculate
Order
The thresholding ring label then generated are close is C=(σ
1... σ
5, R
1... R
n).
(4) label are separated close: the close and close recipient ID of ring label according to thresholding ring label
rprivate key calculate message, take the message obtained to formula
In, during equation establishment that and if only if, thresholding ring label are effectively close, and gained message is correct, otherwise gained thresholding ring label are close invalid, gained message error, return step (1).
Preferably, described step (3) is carried out the following step to obtain thresholding ring label close after signing the privately owned secret of close middle acquisition::
For i ∈ 1,2 ..., t}, if the close person ID of each label
iprivate key be (d
i1, d
i2), calculate M=H
m(L, m), order
for the set of the sequence number k of M [k]=1 in the bit string of message m, random selecting r
i∈ Z
p, calculating section thresholding ring label are close
σ
i6=d
i2, and (σ
i1, σ
i2, σ
i3, σ
i4, σ
i5, σ
i6) send to t to sign in close person arbitrary in order to produce the close close person of label of thresholding ring label, wherein
For Lagrange coefficient.
Preferably, it is as follows that described solution signs close concrete steps:
When receive thresholding ring label close after, the close recipient of thresholding ring label utilizes its private key first to calculate and waits to sign close message m, m=σ
1e (d
r2, σ
3) e (d
r1, σ
2)
-1, then calculating by hash function the length waiting to sign close message is n
mbit string, definition bit string in numerical value be 1 sequence number set M;
Message is substituted into formula
In, during equation establishment that and if only if, thresholding ring label are effectively close, and gained message is correct, otherwise gained thresholding ring label are close invalid, gained message error.
After adopting technique scheme, the present invention compared with prior art has following beneficial effect: method of the present invention constructs under master pattern, and compared with the scheme designed under random oracle model, fail safe is better.
Below in conjunction with accompanying drawing, the specific embodiment of the present invention is described in further detail.
Embodiment
As shown in Figure 1, a kind of thresholding ring label decryption method of identity-based, comprises the following steps:
S1, system are set up: random selecting parameter, generation system parameter and corresponding master key, and wherein system parameters is open parameter, and concrete steps are:
Make G, G
tthe cyclic group of prime number p that to be rank be, e:G × G → G
ta bilinear map, two collisionless hash functions
With
It is n that the identity ID of random length and message m are exported length respectively
uand n
mbit string;
Trusted third party random selecting parameter alpha ∈ Z
p, generator g ∈ G, calculates g
1=g
a.Random selecting parameter g
2, u', m' ∈ G, n
udimensional vector
n
mdimensional vector
wherein u
i, m
i∈
rg, then system parameters is
Master key is
S2, private key extract: the identity of input system parameter, master key and user, and obtain the private key of this user identity, concrete steps are:
Given user identity ID, by hash function u=H
u(ID) length calculating representative of consumer identity is n
ubit string, make i-th that u [i] represents in this bit string, in definition bit string, numerical value is the sequence number set Φ of 1
iD;
Random selecting parameter r
u∈ Z
p, calculating user identity is the private key of ID
Here sequence number set Φ has been used when calculating private key
iD, for the d in formula
1namely
here
n
udimensional vector, u
igather Φ exactly
iDin corresponding sequence number exist
in corresponding element.
S3, sign close: the set L={ID of the close middle n member of given thresholding ring label
1..., ID
n, actual carry out signing the identity of close t the close person of label under be designated as 1,2 ..., t}, waits to sign close message m, signs the identity ID of close recipient
r, signing close concrete steps is:
The close person ID of each label
i(i=1 ..., t) its sub secret s of Stochastic choice
i∈ Z
p, structure coefficient is at Z
pt-1 order polynomial f
i(x)=a
i, 0+ a
i, 1x+ ... + a
i, t-1x
t-1, wherein s
i=a
i, 0; Then close person ID is signed
icalculate open parameter
and sign close person broadcast to other; (Z
prepresent the residue class group of integer mould p, this is representation general in cryptography)
Calculate other and respectively sign close person ID
jthe secret sharing s of (j ≠ i)
i,j=f
i(j), and they sent to other to sign close person ID
j(j=1,2 .., t; J ≠ i), oneself retains s
i,i=f
i(i);
Sign close person ID
j(j=1,2 .., t; J ≠ i) from the close person ID of label
iobtain secret sharing s
i,jafter, verify its validity with following equation:
when after confirmation secret sharing effectively, the close person ID of each label
icalculating its privately owned secret according to secret sharing is
the close person ID of each label
iall close persons of label receiving secret sharing.Give an example, suppose have t to sign close person here, their numbering might as well be established to be 1 ..., t.The close person of present label 1 will calculate secret sharing to the close person of remaining label, same reason, remaining each sign close person and also will sign close person to the t-1 except it and calculate secret sharing, therefore, the close person of each label is here exactly here t the close person of label.
According to ring members list of identities L={ID
1..., ID
n, t signs close person, waits to sign the private key of close message m and t the close person of label, the close recipient identity ID of ring label
r, obtain and waiting to sign the close C of (t, n) thresholding ring label under close message m, (t, n) is threshold value for the close middle membership of thresholding ring label is n, t, actual participation generates the close number of members>=t of thresholding ring label, all adopts this representation when expression thresholding.Concrete steps are:
Make m ∈ G
tfor waiting to sign close message, these thresholding ring label close person's random selecting l
1..., l
n∈ Z
p, calculate
Order
The thresholding ring label then generated are close is C=(σ
1... σ
5, R
1... R
n);
S4, solution are signed close: the close and close recipient ID of ring label according to thresholding ring label
rprivate key calculate message, take the message obtained to formula
In, during equation establishment that and if only if, thresholding ring label are effectively close, and gained message is correct, otherwise gained thresholding ring label are close invalid, gained message error.
Preferably, the following step acquisition thresholding ring label are carried out after the privately owned secret of the described step S3 close middle acquisition of label close:
For i ∈ 1,2 ..., t}, if the close person ID of each label
iprivate key be (d
i1, d
i2), calculate M=H
m(L, m), order
for the set of the sequence number k of M [k]=1 in the bit string of message m, random selecting r
i∈ Z
p, calculating section thresholding ring label are close
σ
i6=d
i2, and (σ
i1, σ
i2, σ
i3, σ
i4, σ
i5, σ
i6) send to t to sign in close person arbitrary in order to produce the close close person of label of thresholding ring label, wherein
For Lagrange coefficient.
Preferably, it is as follows that described solution signs close concrete steps:
When receive thresholding ring label close after, the close recipient of thresholding ring label utilizes its private key first to calculate and waits to sign close message m, m=σ
1e (d
r2, σ
3) e (d
r1, σ
2)
-1, then calculating by hash function the length waiting to sign close message is n
mbit string, definition bit string in numerical value be 1 sequence number set M;
Message is substituted into formula
In, during equation establishment that and if only if, thresholding ring label are effectively close, and gained message is correct, otherwise gained thresholding ring label are close invalid, gained message error.
Here M has been used when verifying, for
here
n
mdimensional vector, m
ibe exactly gather corresponding sequence number in M to exist
in corresponding element.
As shown in Figure 2, concrete implementation step is indistinguishability Security Proof of the present invention:
1. suppose that opponent A can attack this programme with the advantage of can not ignore, then can construction algorithm B, B A can be utilized to solve DBDH problem.Example (g, the g of a given B DBDH problem
a, g
b, g
c, h), its target judges whether h=e (g, g)
abc, B imitates the challenger of A.
2. algorithm B sets l
u=2 (q
e+ q
s), l
m=2q
s, wherein q
ethe number of times of A private key inquiry, q
sit is the number of times that A signs close inquiry.Stochastic choice k
uand k
m, meet 0≤k
u≤ n
uwith 0≤k
m≤ n
m, and suppose l
u(n
u+ 1) <p and l
m(n
m+ 1) <p.B selects
and length is n
uvectorial X=(x
i), wherein
select
and length is n
mvector Z=(z
k), wherein
last B selects y', w' ∈
rz
p, length is n
uvectorial Y=(y
i), length is n
mvectorial W=(w
i), wherein y
i, w
i∈
rz
p.For the bit string u=H of the member identities ID in L and message m
uand M=H (ID)
m(L, m), defines following function:
The open parameter that algorithm B constructs in the present invention program is as follows:
g
1=g
a,g
2=g
b;
Then open parameter is sent to opponent A by algorithm B.
3., in the first stage, when opponent A initiates the inquiry of some, algorithm B responds as follows:
(1) private key inquiry: when opponent A inquires the private key of identity ID, although algorithm B does not know master key, supposition F (ID) ≠ 0 mod p, B also can construct its private key d
iD.The optional r of B
u∈ Z
pand calculate:
If F (ID)=0 mod is p, calculating above cannot be carried out, and B will unsuccessfully exit.
(2) close inquiry is signed: when opponent A inquires that ring members identity is L={ID
1..., ID
n, threshold value is t (t<n), and message is m, and the close person of actual label is ID
i(i=1 ... t) and the close recipient of ring label be ID
rthresholding ring label close time, first algorithm B calculates M=H
m(L, m), then exports thresholding ring label close in accordance with the following steps:
1. algorithm B Stochastic choice s, a
0, a
1..., a
t-1∈ Z
p, structure number of times is polynomial f (the x)=a of t-1
0+ a
1x+ ... + a
t-1x
t-1, wherein s=a
0.
2. suppose close person ID is signed for reality
i(i=1 ... t), meet F (ID
i) ≠ 0 mod p, then algorithm B is according to their private key of method construct in private key inquiry, calculates the close person ID of each label
i(i=1 ... privately owned secret x t)
i=f (i), then utilizes the close algorithm of label to generate the close C of corresponding thresholding ring label.
If 3. condition F (ID
i) ≠ 0 mod p, i=1 ... t is false, and so also can to construct these thresholding ring label as the method constructing private key in private key inquiry close for algorithm B.Assuming that K (M) ≠ 0 mod p, algorithm B Stochastic choice r, r
1..., r
n, r
m∈ Z
p, calculate:
σ
1=e(g
1,g
2)
r·m,σ
2=g
r,
Wherein
if K (M)=0 mod is p, calculating above cannot be carried out, and B will unsuccessfully exit.
(3) the close inquiry of label is separated: initiate in ring members list L, the close recipient's identity of ring label to be ID as opponent A
rand during the close inquiry of solution label under ciphertext C, first algorithm B runs private key extraction algorithm and obtains ID
rprivate key
then run to separate and sign close algorithm, if C is an effective ciphertext, then export m, otherwise, export false.
4., in the challenge stage, opponent A appoints the message m of getting two equal length
0, m
1, and by ring members list
and the identity of the close recipient of ring label
send to algorithm B.If A inquired in the first stage
private key, then B will unsuccessfully exit.{ 0,1}, if K is (M for the optional b ∈ of B
b) ≠ 0 mod p,
so B will unsuccessfully exit.If L
*in there is not t identity ID
*, meet F (ID
*) ≠ 0 mod p, so B will unsuccessfully exit; Otherwise, for convenience of description, might as well set this t identity as
b random selecting r, r
1..., r
n, r
m∈ Z
p, be constructed as follows:
Wherein
if h=e (g, g)
abc, known C
*that effective thresholding ring label are close.
5., in second stage, opponent A as the stage 1, send the private key inquiry of some, sign close inquiry and deciphering inquiry, but A can not inquire
private key and to C
*carry out solution and sign close inquiry.
6., in the conjecture stage, opponent A exports the conjecture b' to b.If b=b', then B exports 1, by h=e (g, g)
abcas the solution of DBDH problem; Otherwise B exports 0, stop game.
Therefore, if there is an opponent can carry out CCA2 attack with the probability of can not ignore, so there is an effective algorithm and can solve DBDH problem with the probability of can not ignore, and this and DBDH to be a difficult problem contradict, therefore scheme is IND-IDTRSC-CCA2 safety.
Of the present invention exist unforgeable Security Proof as shown in Figure 3, and concrete implementation step is:
1. suppose that adulterator A can attack this programme with the advantage of can not ignore, then can construction algorithm B, B A can be utilized to solve CDH problem.Example (g, the g of a given B CDH problem
a, g
b), its target calculates g
ab, B imitates the challenger of A.
2. algorithm B construct with prove above in identical system parameter is disclosed, then send it to opponent A.
3. opponent A can as above prove in, initiate adaptively some private key inquiry, sign close inquiry and separate label close inquiry.
4., in the forgery stage, opponent A exports in ring members list
threshold value t, message m
*and the close recipient's identity of ring label is
under the close C of forgery thresholding ring label
*.If algorithm B does not unsuccessfully exit in whole process, so algorithm B checks whether following condition is set up:
1.
for all i ∈ (1 ..., n) all set up;
2. K (M
*)=0 mod p, wherein M
*=H
m(L, m
*).
If set up when above-mentioned condition is different, so algorithm B will unsuccessfully exit; Otherwise B can calculate
The solution of CDH problem that Here it is.
Therefore, if there is an opponent, can to forge effective thresholding ring label with the probability of can not ignore close, so just there is an algorithm and can solve CDH problem with the probability of can not ignore, and this and CDH problem are difficult problems contradicts, therefore scheme is EUF-IDTRSC-CMIA safety.
In sum, according to present invention achieves the new way and new method that construct identity-based thresholding ring stopover sites under master pattern, and the security reliability of scheme is understood by concrete solution security proof list, the realization of the method not only has theory significance, also has realistic meaning simultaneously.
Therefore the present invention constructs under master pattern, the method proves to have indistinguishability and unforgeable by experiment, and therefore this method is for the scheme designed under random oracle model, has better fail safe.
The above is only the preferred embodiment of the present invention; it should be pointed out that for those skilled in the art, under the premise without departing from the principles of the invention; can also make some improvements and modifications, these improvements and modifications also should be considered as protection scope of the present invention.