CN105187201A - Attribute encryption method capable of revoking key policies of two attributes - Google Patents

Attribute encryption method capable of revoking key policies of two attributes Download PDF

Info

Publication number
CN105187201A
CN105187201A CN201510407866.9A CN201510407866A CN105187201A CN 105187201 A CN105187201 A CN 105187201A CN 201510407866 A CN201510407866 A CN 201510407866A CN 105187201 A CN105187201 A CN 105187201A
Authority
CN
China
Prior art keywords
alpha
user
centerdot
attribute
beta
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.)
Granted
Application number
CN201510407866.9A
Other languages
Chinese (zh)
Other versions
CN105187201B (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.)
Shenzhen Hengyuanhao Information Technology Co., Ltd.
Original Assignee
Xian University of Technology
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 Xian University of Technology filed Critical Xian University of Technology
Priority to CN201510407866.9A priority Critical patent/CN105187201B/en
Publication of CN105187201A publication Critical patent/CN105187201A/en
Application granted granted Critical
Publication of CN105187201B publication Critical patent/CN105187201B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention provides an attribute encryption method capable of revoking the key policies of two attributes and is an important progress of a revocable attribute encryption method. The specific method comprises the steps of selecting two different attributes under multiple users, establishing revocation lists, considering whether the users in a key generation process are in two revocation lists, and if so, judging the relation of the remaining attributes of the users and a visit structure. Only when the attribute set of a ciphertext satisfies the key strategies of the users, can the users complete a decryption process. The process comprises the steps of establishing a main key and a common parameter by an authority center, using a linear secret sharing algorithm to convert an access strategy into an access structure, generating user private keys under a corresponding access structure, encrypting a message according to the attribute set and two known revocation lists, judging whether the users are in the two revocation lists, completing the decryption process, combined with the known private keys and user tracking, and judging the relevance of the users and the private keys. According to the method, the problem that a user single attribute can not be revoked by an encryption method in the prior art is solved.

Description

The encryption attribute method of the key strategy of revocable two attributes
Technical field
The invention belongs to field of information security technology, be specifically related to a kind of encryption attribute method of key strategy of revocable two attributes.
Background technology
Along with the appearance of early stage fuzzy Identity-based encryption method, enter mankind's sight line based on properties secret.In reality, user not only has unique PKI or identity, the substitute is the attribute that user is corresponding, for example, name, age, department etc., thus widen based on properties secret systematic difference field, cause the concern of researcher.
For the attribute revocation mechanism under multi-user, already present article is the user directly cancelled under this attribute mostly, user is made no longer to possess any character, but user may only need to cancel certain attribute in reality, and do not affect other attributes of this user, ensure that user still has certain encryption and decryption character.That therefore sets up the single attribute under multi-user cancels technology, make comprise in revocation list be cancel single attribute user set, it does not affect other attributes of user, when user cancel rear property set still meet access structure time, user still just has decryption capabilities.The voidable encryption attribute method of fine granularity that has like this is very important.
Summary of the invention
The object of this invention is to provide a kind of encryption attribute method of key strategy of revocable two attributes, solve the problem that the encryption method existed in prior art can not cancel the single attribute of user.
The technical solution adopted in the present invention is, the encryption attribute method of the key strategy of revocable two attributes, specifically implements according to following steps:
Step 1, system parameters initialization;
Step 2, secret generating;
Step 3, encryption;
Step 4, deciphering;
Step 5, tracking.
Feature of the present invention is also,
The process of step 1 builds revocation list R for establishing for two attribute i and attribute j iand R j, revocation list R irepresent all users cancelling attribute i, be designated as revocation list R jrepresent the user having cancelled attribute j, be designated as wherein allow not cancel number of users not etc. in each revocation list of q ≠ q ' i.e., user is in any one revocation list, or be present in two revocation lists simultaneously, namely allow user to cancel attribute i and attribute j simultaneously, make all user's collection in U expression system, if attribute number is m in system, the property set of user when encrypting in revocation list, the maximum number of user is n, and message is access strategy is converted to access strategy (M, ρ) by linear Secret sharing techniques LSSS, specifically implements according to following steps:
Step (1.1), make G 1and G 2the group of prime number p that to be rank be, wherein g is G 1generator, definition bilinear map e:G 1× G 1→ G 2;
Step (1.2), Stochastic choice α ∈ Z p, Z here p=0,1 ..., p-1}, α → = ( α 1 , α 2 , ... , α n ) T , β → = ( β 1 , β 2 , ... , β n ) T ∈ Z p n , Order H → = g α → = ( g α 1 , g α 2 , ... , g α n ) T = ( h 1 , ... , h n ) T , F → = g β → = ( f 1 , ... , f n ) T = ( g β 1 , g β 2 , ... , g β n ) T , Then random selecting { t 0, i∈ G 1, t 1, i∈ G 1, t 2, i∈ G 1, t 3, i∈ G 1| i=0,1 ..., m, and define four function T k(x): Z p→ G 1, wherein k={0,1,2,3}, have T k ( x ) = Π i = 0 m t k , i x i ∈ G 1 ;
Step (1.3), construct main private key and corresponding common parameter
H → = ( h 1 , ... , h n ) T , F → = ( f 1 , ... , f n ) T } .
The process of step 2, for access strategy is converted to access structure (M, ρ) by linear Secret sharing techniques LSSS, generates the private key of user ID under access structure (M, ρ), specifically implements according to following steps:
Step (2.1), access strategy is converted to access structure (M, ρ) by LSSS, matrix M is the matrix of a l × k, M ibe corresponding i-th row of matrix M, map ρ by M ibe mapped to attribute ρ (i) ∈ [1, m];
Step (2.2), first according to input identity ID ∈ Z pdefine vectorial X=(x 1..., x n) tmeet: x i=ID i-1modp, i={1 ..., n}, random selecting { z i, 0} i ∈ 2 ..., k}, { z i, 1} i ∈ 2 ..., k}, { z i, 2} i ∈ 2 ..., k}, { z i, 3} i ∈ 2 ..., k}∈ Z pwith r ∈ Z p, definition vector v → 0 = ( α + rα 1 + rβ 1 , z 2 , 0 , ... , z k , 0 ) T , Vector v → 1 = ( α + rα 1 , z 2 , 1 , ... , z k , 1 ) T , And vector v → 2 = ( α + rβ 1 , z 2 , 2 , ... , z k , 2 ) T And vector v → 3 = ( α , z 2 , 3 , ... , z k , 3 ) T , Here k is the columns of matrix M, for any i ∈ 1 ..., l} and j={0,1,2,3}, calculate corresponding inner product
Step (2.3), Stochastic choice { r i, 0} i ∈ [l], { r i, 1} i ∈ [l], { r i, 2} i ∈ [l], { r i, 3} i ∈ [l]∈ Z p, thus export the private key of ID under (M, ρ):
s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) ,
Wherein D 1 , 0 = { D 1 , 0 ( 1 ) , ... , D 1 , 0 ( l ) } ∈ G 1 l , D 1 , 0 ( i ) = g λ i , 0 T 0 ( ρ ( i ) ) r i , 0 , D 2 , 0 = { g r 1 , 0 , ... , g r l , 0 } ∈ G 1 l
D 1 , 1 = { D 1 , 1 ( 1 ) , ... , D 1 , 1 ( l ) } ∈ G 1 l , D 1 , 1 ( i ) = g λ i , 1 T 1 ( ρ ( i ) ) r i , 1 , D 2 , 1 = { g r 1 , 1 , ... , g r l , 1 } ∈ G 1 l
D 1 , 2 = { D 1 , 2 ( 1 ) , ... , D 1 , 2 ( l ) } ∈ G 1 l , D 1 , 2 ( i ) = g λ i , 2 T 2 ( ρ ( i ) ) r i , 2 , D 2 , 2 = { g r 1 , 2 , ... , g r l , 2 } ∈ G 1 l
D 1 , 3 = { D 1 , 3 ( 1 ) , ... , D 1 , 3 ( l ) } ∈ G 1 l , D 1 , 3 ( i ) = g λ i , 3 T 3 ( ρ ( i ) ) r i , 3 , D 2 , 3 = { g r 1 , 3 , ... , g r l , 3 } ∈ G 1 l
D 3=g r
K X ( 1 ) = ( K 2 ( 1 ) , ... , K n ( 1 ) ) , Wherein K k ( 1 ) = ( h 1 - x k x 1 · h k ) r , k = 2 , ... , n ,
K X ( 2 ) = ( K 2 ( 2 ) , ... , K n ( 2 ) ) , Wherein K k ( 2 ) = ( f 1 - x k x 1 · f k ) r , k = 2 , ... , n ,
Will by matrix M xbe designated as K X ( 1 ) = ( K 2 ( 1 ) , ... , K n ( 1 ) ) = g r · M X T · α → , K X ( 2 ) = ( K 2 ( 2 ) , ... , K n ( 2 ) ) = g r · M X T · β → , Wherein matrix M x∈ (Z p) n × (n-1)concrete structure be:
M X = - x 2 x 1 - x 3 x 1 ... - x n x 1 I n - 1 .
The process of step 3 is the user's revocation list R for attribute i i(| R i| <n) and user's revocation list R of attribute j j(| R j| <n), wherein i, j ∈ ω, to message under property set ω be encrypted, specifically implement according to following steps:
Step (3.1), according to revocation list R ithe interior user that cancels collects definition Y i=(y i, 1..., y i,n) tas the coefficient vector of formula;
Step (3.2), according to revocation list R jthe interior user that cancels defines Y j=(y j, 1..., y j,n) t, and by Y j=(y j, 1..., y j,n) tas the coefficient vector of formula;
Step (3.3), choose random value s ∈ Z p, under property set ω, for the user's revocation list R comprising i attribute iwith the user's revocation list R comprising j attribute jstructure ciphertext:
c t = ( C , C 1 , C 2 , 0 , C 2 , 1 , C 2 , 2 C 2 , 3 , C 3 ( 1 ) , C 3 ( 2 ) ) ,
Wherein:
C 1=g s
C 2 , 0 = { C 2 , 0 ( x ) | C 2 , 0 ( x ) = T 0 ( x ) s , &ForAll; x &Element; &omega; } ,
C 2 , 1 = { C 2 , 1 ( x ) | C 2 , 1 ( x ) = T 1 ( x ) s , &ForAll; x &Element; &omega; - { j } }
C 2 , 2 = { C 2 , 2 ( x ) | C 2 , 2 ( x ) = T 2 ( x ) s , &ForAll; x &Element; &omega; - { i } } ,
C 2 , 3 = { C 2 , 3 ( x ) | C 2 , 3 ( x ) = T 3 ( x ) s , &ForAll; x &Element; &omega; - { j } - { i } }
C 3 ( 1 ) &Pi; k = 1 n h k s &CenterDot; y i , k ,
C 3 ( 2 ) = &Pi; k = 1 n f k s &CenterDot; y j , k .
The private key sk that the process of step 4 is formed under access structure (M, ρ) for establishing user ID, and the revocation list R of the ciphertext ct encrypted under property set ω and user iand R j, need to judge that whether ID is at revocation list R iand R jin, specifically implement according to following steps:
Step (4.1) if then make ω '=ω;
If then ω '=ω-{ j};
If then ω '=ω-{ i};
If ID ∈ is R i∧ ID ∈ R j, then ω '=ω-{ i}-{j};
Step (4.2), and if only if when property set ω ' meets access structure (M, the ρ) in the private key of user, and user could successful decryption, in conjunction with s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) , Specifically decipher, process is as follows:
If first according to ID define X=(1, ID ..., ID n-1) t=(x 1..., x n) t, according to revocation list R idefinition Y i=(y i, 1..., y i,n) tas the coefficient vector of formula, and revocation list R jdefinition Y j=(y j, 1..., y j,n) tas the coefficient vector of formula, calculates:
K ( 1 ) = &Pi; k = 2 n ( K k ( 1 ) ) y i , k = ( h 1 - < X , Y i > x 1 &CenterDot; &Pi; k = 1 n h k y i , k ) r
K ( 2 ) = &Pi; k = 2 n ( K k ( 2 ) ) y j , k = ( f 1 - < X , Y j > x 1 &CenterDot; &Pi; k = 1 n f k y j , k ) r
Work as <X, Y i> ≠ 0 and <X, Y jduring > ≠ 0, namely have:
&tau; 0 = ( e ( K ( 1 ) , C 1 ) e ( C 3 ( 1 ) , D 3 ) ) - x 1 < X , Y i > &CenterDot; ( e ( K ( 2 ) , C 1 ) e ( C 3 ( 2 ) , D 3 ) ) - x 1 < X , Y j > = e ( g , g ) r s ( &alpha; 1 + &beta; 1 ) ,
Make I={i: ρ (i) ∈ ω ' }, then according to known matrix M, within the probabilistic polynomial time, find out constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), calculate:
&phi; 0 = &Pi; i &Element; I ( e ( C 1 , D 1 , 0 ( i ) ) e ( C 2 , 0 &rho; ( i ) , D 2 , 0 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 + r&beta; 1 ) ,
In conjunction with τ 0value, calculate known utilize division arithmetic, can successful decryption outbound message
If calculate:
&tau; 1 = ( e ( K ( 1 ) , C 1 ) e ( C 3 ( 1 ) , D 3 ) ) - x 1 < X , Y i > = e ( g , g ) rs&alpha; 1
Make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 1 = &Pi; i &Element; I ( e ( C 1 , D 1 , 1 ( i ) ) e ( C 2 , 1 &rho; ( i ) , D 2 , 1 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 )
Obtain in conjunction with C, can go out by successful decryption
If have:
&tau; 2 = ( e ( K ( 2 ) , C 1 ) e ( C 3 ( 2 ) , D 3 ) ) - x 1 < X , Y j > = e ( g , g ) rs&beta; 1
Make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 2 = &Pi; i &Element; I ( e ( C 1 , D 1 , 2 ( i ) ) e ( C 2 , 2 &rho; ( i ) , D 2 , 2 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&beta; 1 )
Obtain in conjunction with C, can go out by successful decryption
If ID ∈ is R i∧ ID ∈ R j, make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 3 = &Pi; i &Element; I ( e ( C 1 , D 1 , 3 ( i ) ) e ( C 2 , 2 &rho; ( i ) , D 2 , 3 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; &alpha;
In conjunction with C, pass through successful decryption goes out
Step 5 is specially:
Order s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) Effective decruption key, then a tracing computation:
&psi; 1 = e ( g , K 2 ( 1 ) ) e ( h 2 , D 3 ) = e ( g , h 1 ) - r &CenterDot; I D
&psi; 2 = e ( g , K 2 ( 2 ) ) e ( f 2 , D 3 ) = e ( g , f 1 ) - r &CenterDot; I D
This tracking is for determining whether existence user ID ∈ U={ID 1..., ID k, make wherein i={1,2}, if there is such user, then illustrate that this user and private key are relevant, otherwise then this user and private key has nothing to do, thus obtains the user responsibility in scheme.
The invention has the beneficial effects as follows, the encryption attribute method of the key strategy of revocable two attributes, a certain attribute of cancelling user can't affect other attributes of this user and have other users of this attribute; Simultaneously for the more realistic demand of process of cancelling of two attributes; Tracing algorithm is adopted to determined the relevance of user and private key for user in decrypting process; Finally by the fail safe stipulations of attack option in DBDHE problem, ensure that the fail safe of method.
Embodiment
Below in conjunction with embodiment, the present invention is described in detail.
The encryption attribute method of the key strategy of revocable two attributes of the present invention, specifically implement according to following steps:
Step 1, system parameters initialization:
Process builds revocation list R for establishing for two attribute i and attribute j iand R j, revocation list R irepresent all users cancelling attribute i, be designated as revocation list R jrepresent the user having cancelled attribute j, be designated as wherein allow not cancel number of users not etc. in each revocation list of q ≠ q ' i.e., user is in any one revocation list, or be present in two revocation lists simultaneously, namely allow user to cancel attribute i and attribute j simultaneously, make all user's collection in U expression system, if attribute number is m in system, the property set of user when encrypting in revocation list, the maximum number of user is n, and message is access strategy is converted to access strategy (M, ρ) by linear Secret sharing techniques LSSS, specifically implements according to following steps:
Step (1.1), make G 1and G 2the group of prime number p that to be rank be, wherein g is G 1generator, definition bilinear map e:G 1× G 1→ G 2;
Step (1.2), Stochastic choice α ∈ Z p, Z here p=0,1 ..., p-1}, &alpha; &RightArrow; = ( &alpha; 1 , &alpha; 2 , ... , &alpha; n ) T , &beta; &RightArrow; = ( &beta; 1 , &beta; 2 , ... , &beta; n ) T &Element; Z p n , Order H &RightArrow; = g &alpha; &RightArrow; = ( g &alpha; 1 , g &alpha; 2 , ... , g &alpha; n ) T = ( h 1 , ... , h n ) T , F &RightArrow; = g &beta; &RightArrow; = ( f 1 , ... , f n ) T = ( g &beta; 1 , g &beta; 2 , ... , g &beta; n ) T , Then random selecting { t 0, i∈ G 1, t 1, i∈ G 1, t 2, i∈ G 1, t 3, i∈ G 1| i=0,1 ..., m, and define four functions wherein k={0,1,2,3}, have T k ( x ) = &Pi; i = 0 m t k , i x i &Element; G 1 ;
Step (1.3), construct main private key and corresponding common parameter
H &RightArrow; = ( h 1 , ... , h n ) T , F &RightArrow; = ( f 1 , ... , f n ) T }
Step 2, secret generating:
Access strategy is converted to access structure (M, ρ) by LSSS, generates the private key of user ID under access structure (M, ρ), specifically implement according to following steps:
Step (2.1), access strategy is converted to access structure (M, ρ) by LSSS, matrix M is the matrix of a l × k, M ibe corresponding i-th row of matrix M, map ρ by M ibe mapped to attribute ρ (i) ∈ [1, m],
Step (2.2), first according to input identity ID ∈ Z pdefine vectorial X=(x 1..., x n) tmeet: x i=ID i-1modp, i={1 ..., n}, random selecting { z i, 0} i ∈ 2 ..., k}, { z i, 1} i ∈ 2 ..., k}, { z i, 2} i ∈ 2 ..., k}, { z i, 3} i ∈ 2 ..., k}∈ Z pwith r ∈ Z p, definition vector v &RightArrow; 0 = ( &alpha; + r&alpha; 1 + r&beta; 1 , z 2 , 0 , ... , z k , 0 ) T , Vector v &RightArrow; 1 = ( &alpha; + r&alpha; 1 , z 2 , 1 , ... , z k , 1 ) T , And vector v &RightArrow; 2 = ( &alpha; + r&beta; 1 , z 2 , 2 , ... , z k , 2 ) T And vector v &RightArrow; 3 = ( &alpha; , z 2 , 3 , ... , z k , 3 ) T , Here k is the columns of matrix M, for any i ∈ 1 ..., l} and j={0,1,2,3}, calculate corresponding inner product
Step (2.3), Stochastic choice { r i, 0} i ∈ [l], { r i, 1} i ∈ [l], { r i, 2} i ∈ [l], { r i, 3} i ∈ [l]∈ Z p, thus export the private key of ID under (M, ρ):
s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) ,
Wherein D 1 , 0 = { D 1 , 0 ( 1 ) , ... , D 1 , 0 ( l ) } &Element; G 1 l , D 1 , 0 ( i ) = g &lambda; i , 0 T 0 ( &rho; ( i ) ) r i , 0 , D 2 , 0 = { g r 1 , 0 , ... , g r l , 0 } &Element; G 1 l
D 1 , 1 = { D 1 , 1 ( 1 ) , ... , D 1 , 1 ( l ) } &Element; G 1 l , D 1 , 1 ( i ) = g &lambda; i , 1 T 1 ( &rho; ( i ) ) r i , 1 , D 2 , 1 = { g r 1 , 1 , ... , g r l , 1 } &Element; G 1 l
D 1 , 2 = { D 1 , 2 ( 1 ) , ... , D 1 , 2 ( l ) } &Element; G 1 l , D 1 , 2 ( i ) = g &lambda; i , 2 T 2 ( &rho; ( i ) ) r i , 2 , D 2 , 2 = { g r 1 , 2 , ... , g r l , 2 } &Element; G 1 l
D 1 , 3 = { D 1 , 3 ( 1 ) , ... , D 1 , 3 ( l ) } &Element; G 1 l , D 1 , 3 ( i ) = g &lambda; i , 3 T 3 ( &rho; ( i ) ) r i , 3 , D 2 , 3 = { g r 1 , 3 , ... , g r l , 3 } &Element; G 1 l
D 3=g r
K X ( 1 ) = ( K 2 ( 1 ) , ... , K n ( 1 ) ) , Wherein K k ( 1 ) = ( h 1 - x k x 1 &CenterDot; h k ) r , k = 2 , ... , n ,
K X ( 2 ) = ( K 2 ( 2 ) , ... , K n ( 2 ) ) , Wherein K k ( 2 ) = ( f 1 - x k x 1 &CenterDot; f k ) r , k = 2 , ... , n ,
Will by matrix M xcan be designated as K X ( 1 ) = ( K 2 ( 1 ) , ... , K n ( 1 ) ) = g r &CenterDot; M X T &CenterDot; &alpha; &RightArrow; , wherein matrix M x∈ (Z p) n × (n-1)concrete structure be:
M X = - x 2 x 1 - x 3 x 1 ... - x x n x 1 I n - 1 .
Step 3, encryption:
Process is the user's revocation list R for attribute i i(| R i| <n) and user's revocation list R of attribute j j(| R j| <n), wherein i, j ∈ ω, to message under property set ω be encrypted, specifically implement according to following steps:
Step (3.1), according to revocation list R ithe interior user that cancels collects definition Y i=(y i, 1..., y i,n) tas the coefficient vector of formula;
Step (3.2), according to revocation list R jthe interior user that cancels defines Y j=(y j, 1..., y j,n) t, and by Y j=(y j, 1..., y j,n) tas the coefficient vector of formula;
Step (3.3), choose random value s ∈ Z p, under property set ω, for the user's revocation list R comprising i attribute iwith the user's revocation list R comprising j attribute jstructure ciphertext:
c t = ( C , C 1 , C 2 , 0 , C 2 , 1 , C 2 , 2 , C 2 , 3 , C 3 ( 1 ) , C 3 ( 2 ) ) ,
Wherein:
C 1=g s
C 2 , 0 = { C 2 , 0 ( x ) | C 2 , 0 ( x ) = T 0 ( x ) s , &ForAll; x &Element; &omega; } ,
C 2 , 1 = { C 2 , 1 ( x ) | C 2 , 1 ( x ) = T 1 ( x ) s , &ForAll; x &Element; &omega; - { j } }
C 2 , 2 = { C 2 , 2 ( x ) | C 2 , 2 ( x ) = T 2 ( x ) s , &ForAll; x &Element; &omega; - { i } } ,
C 2 , 3 = { C 2 , 3 ( x ) | C 2 , 3 ( x ) = T 3 ( x ) s , &ForAll; x &Element; &omega; - { j } - { i } }
C 3 ( 1 ) = &Pi; k = 1 n h k s &CenterDot; y i , k ,
C 3 ( 2 ) = &Pi; k = 1 n f k s &CenterDot; y j , k ;
Step 4, deciphering:
The private key sk that process is formed under access structure (M, ρ) for establishing user ID, and the revocation list R of the ciphertext ct encrypted under property set ω and user iand R j, need to judge that whether ID is at revocation list R iand R jin, specifically implement according to following steps:
Step (4.1) if then make ω '=ω;
If then ω '=ω-{ j};
If then ω '=ω-{ i};
If ID ∈ is R i∧ ID ∈ R j, then ω '=ω-{ i}-{j};
Step (4.2), and if only if when property set ω ' meets access structure (M, the ρ) in the private key of user, and user could successful decryption, in conjunction with s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) , Specifically decipher, process is as follows:
If first according to ID define X=(1, ID ..., ID n-1) t=(x 1..., x n) t, according to revocation list R idefinition Y i=(y i, 1..., y i,n) tas the coefficient vector of formula, and revocation list R jdefinition Y j=(y j, 1..., y j,n) tas the coefficient vector of formula, calculates:
K ( 1 ) = &Pi; k = 2 n ( K k ( 1 ) ) y i , k = ( h 1 - < X , Y i > x 1 &CenterDot; &Pi; k = 1 n h k y i , k ) r
K ( 2 ) = &Pi; k = 2 n ( K k ( 2 ) ) y j , k = ( f 1 - < X , Y j > x 1 &CenterDot; &Pi; k = 1 n f k y j , k ) r
Work as <X, Y i> ≠ 0 and <X, Y jduring > ≠ 0, namely have:
&tau; 0 = ( e ( K ( 1 ) , C 1 ) e ( C 3 ( 1 ) , D 3 ) ) - x 1 < X , Y i > &CenterDot; ( e ( K ( 2 ) , C 1 ) e ( C 3 ( 2 ) , D 3 ) ) - x 1 < X , Y j > = e ( g , g ) r s ( &alpha; 1 + &beta; 1 ) ,
Make I={i: ρ (i) ∈ ω ' }, then according to known matrix M, within the probabilistic polynomial time, find out constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), calculate:
&phi; 0 = &Pi; i &Element; I ( e ( C 1 , D 1 , 0 ( i ) ) e ( C 2 , 0 &rho; ( i ) , D 2 , 0 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 + r&beta; 1 ) ,
In conjunction with τ 0value, calculate known utilize division arithmetic, can successful decryption outbound message
If calculate:
&tau; 1 = ( e ( K ( 1 ) , C 1 ) e ( C 3 ( 1 ) , D 3 ) - x 1 < X , Y i > ) = e ( g , g ) rs&alpha; 1
Make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 1 = &Pi; i &Element; I ( e ( C 1 , D 1 , 1 ( i ) ) e ( C 2 , 1 &rho; ( i ) , D 2 , 1 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 )
Obtain in conjunction with C, can go out by successful decryption
If have:
&tau; 2 = ( e ( K ( 2 ) , C 1 ) e ( C 3 ( 2 ) , D 3 ) ) - x 1 < X , Y j > = e ( g , g ) rs&beta; 1
Make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 2 = &Pi; i &Element; I ( e ( C 1 , D 1 , 2 ( i ) ) e ( C 2 , 2 &rho; ( i ) , D 2 , 2 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&beta; 1 )
Obtain in conjunction with C, can go out by successful decryption
If ID ∈ is R i∧ ID ∈ R j, make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 3 = &Pi; i &Element; I ( e ( C 1 , D 1 , 3 ( i ) ) e ( C 2 , 2 &rho; ( i ) , D 2 , 3 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; &alpha;
In conjunction with C, pass through successful decryption goes out
Step 5, tracking: be specially,
Order s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) Effective decruption key, then a tracing computation:
&psi; 1 = e ( g , K 2 ( 1 ) ) e ( h 2 , D 3 ) = e ( g , h 1 ) - r &CenterDot; I D
&psi; 2 = e ( g , K 2 ( 2 ) ) e ( f 2 , D 3 ) = e ( g , f 1 ) - r &CenterDot; I D
This tracking is for determining whether existence user ID ∈ U={ID 1..., ID k, make wherein i={1,2}, if there is such user, then illustrate that this user and private key are relevant, otherwise then this user and private key has nothing to do, thus obtains the user responsibility in scheme.
Prove fail safe of the present invention below:
Prove: if all data all generate according to describing in the inventive method, then the local parameter in computation key generative process, decrypting process and tracing process:
(1) by revocation list R icorresponding Y i=(y i, 1..., y i,n) tand R jy j=(y j, 1..., y j,n) tobtain K (1)and K (2), be calculated as follows:
The first step, calculates obtain the K after abbreviation x:
K k ( 1 ) = ( h 1 - x k x 1 &CenterDot; h k ) r
= ( g - x k x 1 &CenterDot; &alpha; 1 &CenterDot; g &alpha; k ) r
= g r &CenterDot; ( - x k x 1 &CenterDot; &alpha; 1 + &alpha; k )
M X = - x 2 x 1 - x 3 x 1 ... - x n x 1 I n - 1
- x 2 x 1 - x 3 x 1 . . . - x n x 1 I n - 1 &CenterDot; &alpha; 1 &alpha; 2 . . . &alpha; n = - x 2 x 1 &CenterDot; &alpha; 1 + &alpha; 2 - x 3 x 1 &CenterDot; &alpha; 1 + &alpha; 3 . . . - x n x 1 &CenterDot; &alpha; 1 + &alpha; n = M X T &CenterDot; &alpha; &RightArrow;
K X = { K 2 , ... , K n } = g r &CenterDot; M X T &CenterDot; &alpha; &RightArrow;
Second step, according to K after abbreviation xexpression formula, calculating K (1):
K ( 1 ) = &Pi; k = 2 n K k y i , k
= &Pi; k = 2 n ( h 1 - x k x 1 &CenterDot; h k ) r &CenterDot; y i , k
= ( h 1 - ( x 2 &CenterDot; y i , 2 x 1 + ... + x n &CenterDot; y i , n x 1 ) &CenterDot; &Pi; k = 2 n h k y i , k ) r
= ( h 1 - ( x 2 y i , 2 x 1 + ... + x n y i , n x 1 ) &CenterDot; &Pi; k = 1 n h k y i , k &CenterDot; h 1 - y i , 1 ) r
= ( h 1 - ( x 1 y i , 2 x 1 + ... + x n y i , n x 1 ) &CenterDot; &Pi; k = 1 n h k y i , k &CenterDot; h 1 - y i , 1 &CenterDot; x 1 x 1 ) r
= ( h 1 - ( x 1 y i , 1 x 1 + ... + x n y i , n x 1 ) &CenterDot; &Pi; k = 1 n h k y i , k ) r
= ( h 1 - < X , Y i > x 1 &CenterDot; &Pi; k = 1 n h k y i , k ) r
In like manner can obtain, K ( 2 ) = &Pi; k = 2 n ( K k ( 2 ) ) y j , k = ( f 1 - < X , Y j > x 1 &CenterDot; &Pi; k = 1 n f k y j , k ) r .
(2) when time, τ 0and φ 0calculating:
&tau; 0 = ( e ( K ( 1 ) , C 1 ) e ( C 3 ( 1 ) , D 3 ) ) - x 1 < X , Y i > &CenterDot; ( e ( K ( 2 ) , C 1 ) e ( C 3 ( 2 ) , D 3 ) ) - x 1 < X , Y j >
= ( e ( ( h 1 - < X , Y i > x 1 &CenterDot; &Pi; k = 1 n h k y i , k ) r , g s ) e ( ( &Pi; k = 1 n h k y i , k ) s , g r ) ) - x 1 < X , Y i > &CenterDot; ( e ( ( f 1 - < X , Y j > x 1 &CenterDot; &Pi; k = 1 n f k y j , k ) r , g s ) e ( ( &Pi; k = 1 n f k y j , k ) s , g s ) ) - x 1 < X , Y j >
= ( e ( ( h 1 - < X , Y i > x 1 ) , g ) &CenterDot; e ( ( &CenterDot; &Pi; k = 1 n h k y i , k ) , g ) e ( &Pi; k = 1 n h k y i , k , g ) ) - x 1 < X , Y i > &CenterDot; r &CenterDot; s &CenterDot; ( e ( ( f 1 - < X , Y j > x 1 ) , g ) &CenterDot; e ( ( &CenterDot; &Pi; k = 1 n f k y j , k ) , g ) e ( &Pi; k = 1 n f k y j , k , g ) ) - x 1 < X , Y j > &CenterDot; r &CenterDot; s
= ( e ( ( h 1 - < X , Y i > x 1 ) , g ) ) - x 1 < X , Y i > &CenterDot; r &CenterDot; s &CenterDot; ( e ( ( f 1 - < X , Y j > x 1 ) , g ) ) - x 1 < X , Y j > &CenterDot; r &CenterDot; s
= ( e ( ( g - < X , Y i > x 1 &CenterDot; &alpha; 1 ) , g ) ) - x 1 < X , Y i > &CenterDot; r &CenterDot; s &CenterDot; ( e ( ( g - < X , Y j > x 1 &CenterDot; &beta; 1 ) , g ) ) - x 1 < X , Y j > &CenterDot; r &CenterDot; s
= e ( g , g ) rs&alpha; 1 + rs&beta; 1
&phi; 0 = &Pi; i &Element; I ( e ( C 1 , D 1 , 0 ( i ) ) e ( C 2 , 0 &rho; ( i ) , D 2 , 0 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 + r&beta; 1 )
&phi; = &Pi; i &Element; I ( e ( C 1 , D 1 , 0 ( i ) ) e ( C 2 , 0 &rho; ( i ) , D 2 , 0 ( i ) ) ) &mu; i
= &Pi; i &Element; I ( e ( g s . g &lambda; i , 0 T 0 ( &rho; ( i ) ) r i , 0 ) e ( T 0 ( &rho; ( i ) ) s , g r i , 0 ) ) &mu; i
= &Pi; i &Element; I ( e ( g s , g &lambda; i , 0 ) &CenterDot; e ( g s , T 0 ( &rho; ( i ) ) r i , 0 ) e ( T 0 ( &rho; ( i ) ) s , g r i , 0 ) ) &mu; i
= &Pi; i &Element; I ( e ( g s , g &lambda; i , 0 ) ) &mu; i
= &Pi; i &Element; I e ( g , g ) s &CenterDot; &lambda; i , 0 &CenterDot; &mu; i
= e ( g , g ) s &CenterDot; ( &Sigma; i &Element; I &lambda; i , 0 &CenterDot; &mu; i )
= e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 + r&beta; 1 )
Thus obtain &phi; 0 &tau; 0 = e ( g , g ) s &CenterDot; &alpha; , Known message can be decrypted in like manner, the message under different situations can be decrypted.
(3) calculating of parameter in tracing algorithm:
&psi; 1 = e ( g , K 2 ( 1 ) ) e ( h 2 , D 3 )
= e ( g , g r &CenterDot; ( - x 2 x 1 &CenterDot; &alpha; 1 + &alpha; 1 ) ) e ( g &alpha; 2 , g r )
= e ( g , g r &CenterDot; ( - x 1 x 2 &CenterDot; &alpha; 1 ) ) &CenterDot; e ( g , g r &CenterDot; &alpha; 2 ) e ( g &alpha; 2 , g r )
= e ( g , g - r &CenterDot; &alpha; 1 &CenterDot; I D )
= e ( g , h 1 ) - r &CenterDot; I D
In like manner can calculate:
&psi; 2 = e ( g , K 2 ( 2 ) ) e ( f 2 , D 3 ) = e ( g , f 1 ) - r &CenterDot; I D
To summary of the present invention: the encryption attribute method of the key strategy of revocable two attributes of the present invention, it is an impressive progress of revocable encryption attribute method, concrete grammar is, select two different attributes under multi-user, set up revocation list, consider user in key generation process whether in two revocation lists, if exist and judge the attribute of user's remainder and the relation of access structure, the property set when ciphertext is only had to meet the key strategy of user, user just can complete decrypting process, design process needs: 1) set up master key and common parameter 2 by authoritative center) utilize linear privacy share algorithm to transfer access strategy to access structure, generate the private key for user under corresponding access structure.3) according to property set and known two revocation lists, message is encrypted.4) judge user whether in two revocation lists, point situation discussion, completes decrypting process.5) in conjunction with known private key and user, set up tracing algorithm, judge the relevance of user and private key.

Claims (6)

1. the encryption attribute method of the key strategy of revocable two attributes, is characterized in that, specifically implements according to following steps:
Step 1, system parameters initialization;
Step 2, secret generating;
Step 3, encryption;
Step 4, deciphering;
Step 5, tracking.
2. the encryption attribute method of the key strategy of revocable two attributes according to claim 1, is characterized in that, the process of described step 1 builds revocation list R for establishing for two attribute i and attribute j iand R j, revocation list R irepresent all users cancelling attribute i, be designated as revocation list R jrepresent the user having cancelled attribute j, be designated as wherein allow not cancel number of users not etc. in each revocation list of q ≠ q ' i.e., user is in any one revocation list, or be present in two revocation lists simultaneously, namely allow user to cancel attribute i and attribute j simultaneously, make all user's collection in U expression system, if attribute number is m in system, the property set of user when encrypting in revocation list, the maximum number of user is n, and message is access strategy is converted to access strategy (M, ρ) by linear Secret sharing techniques LSSS, specifically implements according to following steps:
Step (1.1), make G 1and G 2the group of prime number p that to be rank be, wherein g is G 1generator, definition bilinear map e:G 1× G 1→ G 2;
Step (1.2), Stochastic choice α ∈ Z p, Z here p=0,1 ..., p-1}, &alpha; &RightArrow; = ( &alpha; 1 , &alpha; 2 , ... , &alpha; n ) T , &beta; &RightArrow; = ( &beta; 1 , &beta; 2 , ... , &beta; n ) T &Element; Z p n , Order H &RightArrow; = g &alpha; &RightArrow; = ( g &alpha; 1 , g &alpha; 2 , ... , g &alpha; n ) T = ( h 1 , ... , h n ) T , F &RightArrow; = g &beta; &RightArrow; = ( f 1 , ... , f n ) T = ( g &beta; 1 , g &beta; 2 , ... , g &beta; n ) T , Then random selecting { t 0, i∈ G 1, t 1, i∈ G 1, t 2, i∈ G 1, t 3, i∈ G 1| i=0,1 ..., m, and define four function T k(x): Z p→ G 1, wherein k={0,1,2,3}, have T k ( x ) = &Pi; i = 0 m t k , i x i &Element; G 1 ;
Step (1.3), construct main private key and corresponding common parameter
3. the encryption attribute method of the key strategy of revocable two attributes according to claim 1, it is characterized in that, the process of described step 2 is for be converted to access structure (M by access strategy by LSSS, ρ), generate user ID at access structure (M, private key ρ), specifically implement according to following steps:
Step (2.1), access strategy is converted to access structure (M, ρ) by LSSS, matrix M is the matrix of a l × k, M ibe corresponding i-th row of matrix M, map ρ by M ibe mapped to attribute ρ (i) ∈ [1, m];
Step (2.2), first according to input identity ID ∈ Z pdefine vectorial X=(x 1..., x n) tmeet: x i=ID i-1modp, i={1 ..., n}; Random selecting { z i, 0} i ∈ 2 ..., k}, { z i, 1} i ∈ 2 ..., k}, { z i, 2} i ∈ 2 ..., k}, { z i, 3} i ∈ 2 ..., k}∈ Z pwith r ∈ Z p, definition vector v &RightArrow; 0 = ( &alpha; + r&alpha; 1 + r&beta; 1 , z 2 , 0 , ... , z k , 0 ) T , Vector v &RightArrow; 1 = ( &alpha; + r&alpha; 1 , z 2 , 1 , ... , z k , 1 ) T , And vector v &RightArrow; 2 = ( &alpha; + r&beta; 1 , z 2 , 2 , ... , z k , 2 ) T And vector v &RightArrow; 3 = ( &alpha; , z 2 , 3 , ... , z k , 3 ) T , Here k is the columns of matrix M.For any i ∈ 1 ..., l} and j={0,1,2,3}, calculate corresponding inner product
Step (2.3), Stochastic choice { r i, 0} i ∈ [l], { r i, 1} i ∈ [l], { r i, 2} i ∈ [l], { r i, 3} i ∈ [l]∈ Z p, thus export the private key of ID under (M, ρ):
s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) ,
Wherein D 1 , 0 = { D 1 , 0 ( 1 ) , ... , D 1 , 0 ( l ) } &Element; G 1 l , D 1 , 0 ( i ) = g &lambda; i , 0 T 0 ( &rho; ( i ) ) r i , 0 , D 2 , 0 = { g r 1 , 0 , ... , g r l , 0 } &Element; G 1 l
D 1 , 1 = { D 1 , 1 ( 1 ) , ... , D 1 , 1 ( l ) } &Element; G 1 l , D 1 , 1 ( i ) = g &lambda; i , 1 T 1 ( &rho; ( i ) ) r i , 1 , D 2 , 1 = { g r 1 , 1 , ... , g r l , 1 } &Element; G 1 l
D 1 , 2 = { D 1 , 2 ( 1 ) , ... , D 1 , 2 ( l ) } &Element; G 1 l , D 1 , 2 ( i ) = g &lambda; i , 2 T 2 ( &rho; ( i ) ) r i , 2 , D 2 , 2 = { g r 1 , 2 , ... , g r l , 2 } &Element; G 1 l
D 1 , 3 = { D 1 , 3 ( 1 ) , ... , D 1 , 3 ( l ) } &Element; G 1 l , D 1 , 3 ( i ) = g &lambda; i , 3 T 3 ( &rho; ( i ) ) r i , 3 , D 2 , 3 = { g r 1 , 3 , ... , g r l , 3 } &Element; G 1 l
D 3=g r
K X ( 1 ) = ( K 2 ( 1 ) , ... , K n ( 1 ) ) , Wherein K k ( 1 ) = ( h 1 - x k x 1 &CenterDot; h k ) r , k = 2 , ... , n ,
K X ( 2 ) = ( K 2 ( 2 ) , ... , K n ( 2 ) ) , Wherein K l ( 2 ) = ( f 1 - x k x 1 &CenterDot; f k ) r , k = 2 , ... , n ,
Will by matrix M xcan be designated as K X ( 1 ) = ( K 2 ( 1 ) , ... , K n ( 1 ) ) = g r &CenterDot; M X T &CenterDot; &alpha; &RightArrow; ,
K X ( 2 ) = ( K 2 ( 2 ) , ... , K n ( 2 ) ) = g r &CenterDot; M X T &CenterDot; &beta; &RightArrow; , Wherein matrix M x∈ (Z p) n × (n-1)concrete structure be:
M X = - x 2 x 1 - x 3 x 1 ... - x n x 1 I n - 1 .
4. the encryption attribute method of the key strategy of revocable two attributes according to claim 1, is characterized in that, the process of described step 3 is the user's revocation list R for attribute i i(| R i| <n) and user's revocation list R of attribute j j(| R j| <n), wherein i, j ∈ ω, to message under property set ω be encrypted, specifically implement according to following steps:
Step (3.1), according to revocation list R ithe interior user that cancels collects definition Y i=(y i, 1..., y i,n) tas the coefficient vector of formula;
Step (3.2), according to revocation list R jthe interior user that cancels defines Y j=(y j, 1..., y j,n) t, and by Y j=(y j, 1..., y j,n) tas the coefficient vector of formula;
Step (3.3), choose random value s ∈ Z p, under property set ω, for the user's revocation list R comprising i attribute iwith the user's revocation list R comprising j attribute jstructure ciphertext:
c t = ( C , C 1 , C 2 , 0 , C 2 , 1 , C 2 , 2 , C 2 , 3 , C 3 ( 1 ) , C 3 ( 2 ) ) ,
Wherein:
C 1=g s
C 2 , 0 = { C 2 , 0 ( x ) | C 2 , 0 ( x ) = T 0 ( x ) s , &ForAll; x &Element; &omega; } ,
C 2 , 1 = { C 2 , 1 ( x ) | C 2 , 1 ( x ) = T 1 ( x ) s , &ForAll; x &Element; &omega; - { j } }
C 2 , 2 = { C 2 , 2 ( x ) | C 2 , 2 ( x ) = T 2 ( x ) s , &ForAll; x &Element; &omega; - { i } } ,
C 2 , 3 = { C 2 , 3 ( x ) | C 2 , 3 ( x ) = T 3 ( x ) s , &ForAll; x &Element; &omega; - { j } - { i } }
C 3 ( 1 ) = &Pi; k = 1 n h k s &CenterDot; y i , k ,
5. the encryption attribute method of the key strategy of revocable two attributes according to claim 1, it is characterized in that, the process of described step 4 is for establishing user ID at access structure (M, the private key sk formed ρ), and the revocation list R of the ciphertext ct encrypted under property set ω and user iand R j, need to judge that whether ID is at revocation list R iand R jin, specifically implement according to following steps:
Step (4.1) if then make ω '=ω;
If then ω '=ω-{ j};
If then ω '=ω-{ i};
If then ω '=ω-{ i}-{j};
Step (4.2), and if only if when property set ω ' meets access structure (M, the ρ) in the private key of user, and user could successful decryption, in conjunction with s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) , Specifically decipher, process is as follows:
If first according to ID define X=(1, ID ..., ID n-1) t=(x 1..., x n) t, according to revocation list R idefinition Y i=(y i, 1..., y i,n) tas the coefficient vector of formula, and revocation list R jdefinition Y j=(y j, 1..., y j,n) tas the coefficient vector of formula, calculates:
K ( 1 ) = &Pi; k = 2 n ( K k ( 1 ) ) y i , k = ( h 1 - < X , Y i > x 1 &CenterDot; &Pi; k = 1 n h k y i , k ) r
K ( 2 ) = &Pi; k = 2 n ( K k ( 2 ) ) y j , k = ( f 1 - < X , Y j > x 1 &CenterDot; &Pi; k = 1 n f k y j , k ) r
Work as <X, Y i> ≠ 0 and <X, Y jduring > ≠ 0, namely have:
&tau; 0 = ( e ( K ( 1 ) , C 1 ) e ( C 3 ( 1 ) , D 3 ) ) - x 1 < X , Y i > &CenterDot; ( e ( K ( 2 ) , C 1 ) e ( C 3 ( 2 ) , D 3 ) ) - x 1 < X , Y j > = e ( g , g ) r s ( &alpha; 1 + &beta; 1 ) ,
Make I={i: ρ (i) ∈ ω ' }, then according to known matrix M, within the probabilistic polynomial time, find out constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), calculate:
&phi; 0 = &Pi; i &Element; I ( e ( C 1 , D 1 , 0 ( i ) ) e ( C 2 , 0 &rho; ( i ) , D 2 , 0 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 + r&beta; 1 ) ,
In conjunction with τ 0value, calculate known utilize division arithmetic, can successful decryption outbound message
If calculate:
&tau; 1 = ( e ( K ( 1 ) , C 1 ) e ( C 3 ( 1 ) , D 3 ) ) x 1 < X , Y i > = e ( g , g ) rs&alpha; 1
Make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 1 = &Pi; i &Element; I ( e ( C 1 , D 1 , 1 ( i ) ) e ( C 2 , 1 &rho; ( i ) , D 2 , 1 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&alpha; 1 )
Obtain in conjunction with C, can go out by successful decryption
If have:
&tau; 2 = ( e ( K ( 2 ) , C 1 ) e ( C 3 ( 2 ) , D 3 ) ) - x 1 < X , Y j > = e ( g , g ) rs&beta; 1
Make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 2 = &Pi; i &Element; I ( e ( C 1 , D 1 , 2 ( i ) ) e ( C 2 , 2 &rho; ( i ) , D 2 , 2 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; ( &alpha; + r&beta; 1 )
Obtain in conjunction with C, can go out by successful decryption
If make I={i: ρ (i) ∈ ω ' }, there is constant collection { μ i∈ Z p} i ∈ I, meet Σ i ∈ Iμ im i=(1,0 ..., 0), thus calculate:
&phi; 3 = &Pi; i &Element; I ( e ( C 1 , D 1 , 3 ( i ) ) e ( C 2 , 2 &rho; ( i ) , D 2 , 3 ( i ) ) ) &mu; i = e ( g , g ) s &CenterDot; &alpha;
In conjunction with C, pass through successful decryption goes out
6. the encryption attribute method of the key strategy of revocable two attributes according to claim 1, it is characterized in that, described step 5 is specially:
Order s k = ( D 1 , 0 , D 1 , 1 , D 1 , 2 , D 1 , 3 , D 2 , 0 , D 2 , 1 , D 2 , 2 , D 2 , 3 , D 3 , K X ( 1 ) , K X ( 2 ) ) Effective decruption key, then a tracing computation:
&psi; 1 = e ( g , K 2 ( 1 ) ) e ( h 2 , D 3 ) = e ( g , h 1 ) - r &CenterDot; I D
&psi; 2 = e ( g , K 2 ( 2 ) ) e ( f 2 , D 3 ) = e ( g , f ) - r &CenterDot; I D
This tracking is for determining whether existence user ID ∈ U={ID 1..., ID k, make wherein i={1,2}, if there is such user, then illustrate that this user and private key are relevant, otherwise then this user and private key has nothing to do, thus obtains the user responsibility in scheme.
CN201510407866.9A 2015-07-13 2015-07-13 The encryption attribute method of the key strategy of revocable two attributes Active CN105187201B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510407866.9A CN105187201B (en) 2015-07-13 2015-07-13 The encryption attribute method of the key strategy of revocable two attributes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510407866.9A CN105187201B (en) 2015-07-13 2015-07-13 The encryption attribute method of the key strategy of revocable two attributes

Publications (2)

Publication Number Publication Date
CN105187201A true CN105187201A (en) 2015-12-23
CN105187201B CN105187201B (en) 2019-04-26

Family

ID=54909056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510407866.9A Active CN105187201B (en) 2015-07-13 2015-07-13 The encryption attribute method of the key strategy of revocable two attributes

Country Status (1)

Country Link
CN (1) CN105187201B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320809A1 (en) * 2010-06-23 2011-12-29 Motorola, Inc. Method and apparatus for key revocation in an attribute-based encryption scheme
CN103297227A (en) * 2013-07-02 2013-09-11 西安电子科技大学 Attribute-based encryption supporting flexible and direct-revocatory ciphertext policy
CN104363215A (en) * 2014-11-04 2015-02-18 河海大学 Encryption method and system based on attributes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320809A1 (en) * 2010-06-23 2011-12-29 Motorola, Inc. Method and apparatus for key revocation in an attribute-based encryption scheme
CN103297227A (en) * 2013-07-02 2013-09-11 西安电子科技大学 Attribute-based encryption supporting flexible and direct-revocatory ciphertext policy
CN104363215A (en) * 2014-11-04 2015-02-18 河海大学 Encryption method and system based on attributes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIANG LI;DENGGUO FENG;LIWU ZHANG: "An Attribute Based Encryption Scheme with Fine-Grained Attribute Revocation", 《2012 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM)》 *
冯登国;陈成: "属性密码学研究", 《密码学报》 *

Also Published As

Publication number Publication date
CN105187201B (en) 2019-04-26

Similar Documents

Publication Publication Date Title
CN104113408B (en) It is a kind of realize the revocation of timely user property based on ciphertext policy ABE encryption method
CN105406967B (en) A kind of hierarchical attribute encipherment scheme
CN104363215B (en) A kind of encryption method and system based on attribute
CN106936593B (en) Certificateless multi-receiver signcryption method based on elliptic curve efficient anonymity
CN104038341B (en) A kind of cross-system of identity-based acts on behalf of re-encryption method
CN107566386A (en) A kind of voidable attribute base encryption method
CN103401839B (en) A kind of many authorization center encryption method based on attribute protection
CN105933102A (en) Identity-based and hidden matrix-constructed fully homomorphic encryption method
CN105187205B (en) The authentication key agreement method and negotiating system based on level identity base without certificate
CN103618728A (en) Attribute-based encryption method for multiple authority centers
CN103414569A (en) Method for establishing anti-attack public key cryptogram
CN104168114A (en) Distributed type (k, n) threshold certificate-based encrypting method and system
CN105162573A (en) Attribute encryption method based on multi-linear mapping and achieving strategy of secret key revocation in an authority separating way
CN103475472A (en) Method for NTRU-type fully-homomorphic encryption on LWE circle
CN105763528B (en) The encryption device of diversity person&#39;s anonymity under a kind of mixed mechanism
CN110995412B (en) Certificateless ring signcryption method based on multiplicative group
CN107294718B (en) Attribute-based encryption method for revocable key strategy in standard model
CN104135473A (en) A method for realizing identity-based broadcast encryption by ciphertext-policy attribute-based encryption
CN103746811A (en) Anonymous signcryption method from identity public key system to certificate public key system
CN107040374A (en) The attribute base data encryption method of user&#39;s Dynamic Revocation is supported under a kind of cloud storage environment
CN103490883A (en) System and method for encryption/decryption of multivariable public key
Zong et al. ReLAC: Revocable and lightweight access control with blockchain for smart consumer electronics
Li et al. Attribute based encryption: Traitor tracing, revocation and fully security on prime order groups
CN103746810B (en) Anonymous sign-cryption method from certificate public key system to identity public key system
CN101783728B (en) Public key encryption method for ergodic matrix over hidden field

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190325

Address after: 518000 Two 9EF Financial Bases, No. 8 Kefa Road, Nanshan Science Park, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Hengyuanhao Information Technology Co., Ltd.

Address before: 710048 No. 5 Jinhua South Road, Shaanxi, Xi'an

Applicant before: Xi'an University of Technology

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant