The presently claimed invention relates generally to information technology. The invention also relates to cryptographic methods for secure decision-making of set-membership used in secure group communication.
The ‘positive’ membership and ‘negative’ membership are two of most common binary relations. For a given set U={e1, . . . , en} and any a subset S⊂U, the positive membership is usually expressed as ∈, e.g., e∈S denotes the element e is in the set S. Similarly, the negative membership is as ∉, e.g., e∉S denotes e is not in S. When there exists only one element in the set, the ‘positive’ membership and ‘negative’ membership are converted into the ‘equal’ and ‘unequal’ relationship, respectively. These two basic memberships also induce several complex relationships, including ‘inclusion’, ‘exclusion’, ‘set-equal’, ‘set-unequal’, etc. Especially, the ‘negative’ membership is also regarded as NOT-logic or Complement-logic that is used widely in decision analysis and logic judgment.
In cryptography, ‘positive’ and ‘negative’ membership are always used to make a secure decision on set membership, that is, the ‘positive’ and ‘negative’ membership denote whether a given element e exists (or does not exist) in a set S. This kind of decisions is required to be cryptographically secure, for example, if e∈S (or e∉S), no one can declare wrong relationship e∉S (or e∈S) to the others.
Cryptographic set operations over ‘positive’ and ‘negative’ membership and NOT-logic have an important value in theory and application for designing security protocols and secure computation algorithms, such as broadcast encryption (BE), attribute-based encryption (ABE), predicate encryption (PE), function encryption (FE), and privacy-protection keyword query (PPKQ), etc. The cryptographic ‘positive’ and ‘negative’ membership is in essence a secure computation technology, which is a basic mechanism to protect information assets under open network environment. This kind of technology has been widely used in the E-commerce, E-government, online trading, and even military networks.
Let us see an example in group-oriented broadcast encryption. We assume that a broadcaster wants to send an encrypted sensitive message to all users, but only specified users can use their private keys to decrypt received messages. It will be easy to implement with help of cryptographic ‘positive’ and ‘negative’ membership: Let S be a set of these specified users. The broadcaster encapsulates S into the encrypted message, and e is tied to user's private key. If e∈S, the user can decrypt the received message; otherwise, the user, even if he has the previous license, is unable to decrypt the received message.
Let us see another example in attribute-based encryption (ABE). An attribute set is composed of different values, e.g., City={‘Beijing’, ‘Shanghai’, ‘Shenzheng’, ‘London’, ‘New York’ . . . }. The message sender can choose some values from this set to form an ‘authorized’ or ‘non-authorized’ subset, which will decide what values will be authorized or unauthorized to decrypt the message. In addition, each member in cryptosystem is assigned some attribute values and the corresponding attribute-keys to identify his identity. With help of cryptographic decision-making method of set-membership in this invention, the receiver compares the values hidden by the attribute-keys with the encrypted subset in the ciphertext when he tries to recover the message. If the comparison result satisfies the ‘positive’ (or ‘negative’) membership over the subset, he can decrypt the message correctly. However, there does not exist this kind of cryptographic decision-making method of set-membership in the literature at present. Our method will fill the vacancy of this field in cryptography.
It is, accordingly, an object of this invention to provide a construction, method, and system for cryptographic decision-making of set membership, in order to solve the problem that there does not exist an effective method to implement cryptographic representation of set membership in the existing literature.
The present invention provides a cryptographic construction method for determining a set membership, comprising:
Further, the random point comprises a random number or a random vector; constructing a function ƒS(x) according to the random point v′i comprises:
Further, the processing the function ƒS(γ) by using the public parameter mpk as an input to generate a cryptographic representation of the set S via a cryptographic method comprises:
Further, after the compressing the set S into a constant-size random number RS by means of the aggregation function, further comprising:
Further, the constructing a cryptographic determination algorithm by means of the aggregation function for determining a positive affiliation membership between elements and the set comprises:
Further, the constructing a cryptographic determination algorithm by means of the aggregation function for determining a positive affiliation membership between elements and the set comprises:
A cryptographic construction system for determining a set membership, comprising:
Further, the cryptographic processing unit comprises:
Further, the cryptographic construction system further comprising:
Further, the second determination unit is further configured to acquire an element ei, and when ei∈S, set S−=S\{ei}, then determine the aggregated value RS
The Aggregation algorithm supports the aggregation of any number of elements in a given set, that is, there is no restrict on the number of aggregated elements, such that our system will provide the cryptographic decision-making for membership over a set of any size.
The presented system supports cryptographic decision-making for ‘positive’ and ‘negative’ membership, simultaneously. The reason is that these two kinds of decision-making methods only need two aggregation functions: PolesAggr(•) and ZerosAggr(•).
The presented decision-making method for ‘positive’ and ‘negative’ membership is secure with unforgeability and non-repudiation based on the difficulty in computing the aggregated values for two error settings, ei∉S but S−=S\{ei}, and ei∈S but S+=S∪{ei}. The reason is that the zeros-based (or poles-based) aggregation values RS
The presented cryptographic decision-making method may provide a foundation for the cryptography research on set theory. Considering that modern mathematic is foundation on set theory, the solution to the decision-making problem of basic membership inevitably lead to solving a series of related cryptographic problems, especially in secure (unilateral, two-party, multiparty) computing, including Privacy-based Data Retrieval, Keyword Search of Confidential Database, Group Encryption, Predicate Encryption, Attribute-based Encryption, Cryptography-based Access Control and so on.
In order that the invention may be more clearly understood, embodiments thereof will now be described, by way of example only, with reference to the accompanying drawings, in detail.
The presented invention aims at the issue that the set-membership cannot be expressed and decided in cryptography in the literature at present, and provide the cryptographic methods of secure decision-making of set-memberships.
An embodiment of the invention is described as follows:
(1) Aggregation Function
In this embodiment, the core notion is aggregation function based on cryptographic representation of subsets. Given a set U, an aggregation function is a cryptographic function to compress the information of any subset S⊂U into a constant-size value. The output of aggregation function is called the cryptographic representation of subset. This function is stated as follows:
Let PK denote the public key space over a group G and U={e1,L,en}, the function Aggregate: PK×2U→G is a deterministic polynomial-time algorithm satisfying:
Aggregate(mpk,S)=RS, (1)
where mpk is the public key in PK, S⊂U, and RS is an element in G.
Note that, the aggregation function is an open function because it merely takes as input the public key and does not require any secret information for its operation.
The aggregation function serves as the foundation for making cryptographic decisions on set memberships, i.e., positive membership e∈S and negative membership e∉S. More exactly, we construct two aggregation functions, ZerosAggr and PolesAggr, for decision-making on positive membership (e∈S) and negative membership (e∉S), respectively.
Before we present the two aggregation functions, we first give the definition of zeros and poles in a rational polynomial function as follows:
H(x) is a rational polynomial with a form H(x)=P(x)/Q(x), which is the quotient of two polynomial P(x) and Q(x); for a variable z, the root z of P(x) is called a zero of H(x) if P(z)=0, and the root z of Q(x) is called a pole of H(x) if Q(z)=0;
Based on this definition, there is provided a construction method for two aggregation functions, Zeros-based aggregation ZerosAggr and Poles-based aggregation PolesAggr.
(2) Construction of Zeros-Based Aggregation Function
Firstly, the function ZerosAggr is constructed according to four following phases:
1) Randomizing Phase
Let G be a multiplicative cyclic group of prime order p and g is a generator of G. Given a set U={e1,L,en}, each element ei in U is converted into a random point vi in one dimensional space. The collision-resistant Hash function hash is used to realize this conversation, that is,
(v1,L,vn)=(hash(e1),L,hash(en))∈¢np (2)
Where, ¢np denotes the n integers under module p and each element ei is represented by the arbitrary length binary string. We do not limit the size of U because the number of elements is usually far less than the size of ¢np (e.g., p>2256 for a secure elliptic curve).
2) Function-Generating Phase
Given a subset S={e′1,L,e′m}⊂U, a zeros-based polynomial ƒS(x) could be derived from all random points (v′1,L,v′n)=(hash(e′1),L,hash(e′n)) which are considered as the (negative) zeros of polynomial. Exactly, the polynomial ƒS(x) is defined as:
3) Secret-Determining Phase
A random secret γ is introduced to generate ƒS(γ) by using the polynomial ƒS(x), that is,
ƒS(γ)=γΣe′
And then produces the public parameter mpk=(g1,g2,L,gm)=(gγ,gγ2,L,gγ
4) Cipher-Processing Phase
In this phase, the zeros-based representation of set S is generated by using the function ƒS(γ) and the public parameter mpk. Firstly, the zeros-based representation of set S is defined as
where, g is the generator of group G.
Next ƒS(x)=xΠe′
G
S
=gΣ
k=0
m
a
kγ(k+1)=Πk=1m+1gka
Note that, when S=Ø, the output of this function is ZerosAggr(mpk,Ø)=g1=gγ.
In this embodiment, a function is called the Zeros-based Aggregation (in short, ZerosAggr) function since the hash values of all elements in S are used for the (negative) zeros in the polynomial ƒS(x). The Zeros-based Aggregation is defined as follows:
Given a subset S={e1,L,en}⊂U and a cyclic group G, an algorithm is called Zeros-based Aggregation function if there exists a polynomial-time algorithm that outputs
where, mpk={gi=gγ
(3) Construction of Poles-Based Aggregation Function
Secondly, the poses-based aggregation function PolesAggr is constructed according to four following phases:
1) Randomizing Phase
Let G be the same cyclic group of prime order p in ZerosAggr and h is a generator of G. Given a set U={e1,L,en}, the collision-resistant Hash function hash is used to realize the mapping from elements to random points, that is,
(v1,L,vn)=(hash(e1),L,hash(en))∈¢np. (7)
2) Function-Generating Phase
Given a subset S={e′1,L,e′m}⊂U, a poles-based polynomial gS(x) could be derived from all points (v′1,L,v′n)=(hash(e′1),L,hash(e′n)) which are considered as the (negative) poles of polynomial. Exactly, the polynomial gS(x) is defined as:
3) Secret-Determining Phase
A random secret γ is introduced to generate gS(γ), that is,
g
S(γ)=Πe′
And then produces the public parameter mpk=(h1,h2,L,hm)=(h1/γ+v′
4) Cipher-Processing Phase
The poles-based representation of set S is defined as
where, h is the generator of cyclic group G.
We provide a fast recursive method to realize the PolesAggr function from the public parameter
Firstly, let us see the aggregation between two elements: given hi and hj, it is easy to obtain the equation
where vi≠vj is a precondition for this equation for avoiding error with dividing by zero. Next, we expand this equation to multi-value cases. Set
The poles-based aggregation value
can be computed by
In this embodiment, a function is called the Poles-based Aggregation (in short, PolesAggr) function since the hash values of all elements in S are used for the (negative) poles in the polynomial gS(x). The Poles-based Aggregation is defined as follows:
Given a subset S={e1,L,em}⊂U and a cyclic group G, an algorithm is called Poles-based Aggregation function if there exists a polynomial-time algorithm that outputs
where,
is the public parameter, h is a generator in G, vi=hash(ei) and γ is a secret.
In this embodiment, the information of the set S is compressed and represented as a random number (or vector) in a cryptographic space by zeros-based aggregation function or poles-based aggregation function. Next, the aggregated value can decided the memberships in a cryptographic approach, such as: ‘equal’ and ‘unequal’ between two elements, ‘inclusion’ and ‘exclusion’ between two sets, and ‘positive’ and ‘negative’ membership whether one element is in a set of elements.
(4) Security of Zeros-Based Aggregation Function
The accuracy and reliability of decision-making of ‘positive’ membership depends on the security of the zeros-based aggregation function. In this embodiment, the security of zeros-based aggregation function satisfies the following requirements:
Given an element ei∈U and a subset S⊂U, let S−=S\{ei} and
A function on S is called the secure zeros-based aggregation if it has the following two properties:
within a polynomial-time;
These two properties can ensure the security of decision-making of positive membership.
(5) Security of Poles-Based Aggregation Function
The accuracy and reliability of decision-making of ‘negative’ membership depends on the security of the poles-based aggregation function. In this embodiment, the security of poles-based aggregation function satisfies the following requirements:
Given an element ei∈U and a subset S⊂U, let S+=S\{ei} and
A function on S is called the secure poles-based aggregation if it has the following two properties:
within a polynomial-time;
These two properties can ensure the security of decision-making of negative membership.
(6) Cryptographic Decision-Making of Positive Membership
In order to achieve the decision-making of positive membership, this invention introduces the concept of commitment. Commitment, which contains two processes: commitment-generating and commitment-verifying, is a basic concept in cryptography. No one can guess the secret in the commitment after the commitment is built, but we can verify the consistency between the commitment and its hidden secret if we obtain some specific values (called clues).
In this embodiment, the cryptographic decision-making of positive and negative membership is built on the general bilinear pairing system that can be indicated as S={p,G,GT,e(•,•)}. In this system, G and GT are two multiplicative cyclic groups of prime order p, and elements g and h are the generators of GT and then the bilinear pairing can be indicated as e: G×G a GT. This system should have the following properties:
1) Bilinear: For any a,b belong to ¢*p, it can get e(ga,hb)=e(g,h)ab;
2) Non-degenerate: e(g,h)≠1;
3) Computable: There is a polynomial-time algorithm to calculate e(g,h).
For any given set S, the poles-based aggregate function 1 PolesAggr(mpk,S) is invoked to calculate the aggregation value HS of set S. And then, a random secret k is introduced to construct the value HS's commitment
For a given element e satisfying e∉S, let S−=S\{e} 2 according to the security definition of zeros-based aggregation function.
The zeros-based aggregation function 3 ZerosAggr(mpk,S−) is invoked to calculate the aggregation value
Where, v=hash(e) and vi=hash(ei).
The following secret value is recovered 4 from
The above commitment is verified 5 by using
where is
directly derived from mpk.
Conversely, if e∉S, according to the security definition of zeros-based aggregation function, it is computably difficult to recover the particular value
therefore the commitment verification 5 cannot be passed.
In summary, the above-mentioned method makes more efficient and precise for decision-making of positive membership. That is, it not only improves the efficiency of decision-making process, but also ensures the security and consistency of decision-making.
(7) Cryptographic Decision-Making of Negative Membership
For any given set S, the zeros-based aggregate function 3 ZerosAggr(mpk,S) is invoked to calculate the aggregation value GS of set S. And then, a random secret k is introduced to construct the value GS's commitment
and gγk.
For a given element e satisfying e∉S, let S+=S∪{e} 6 according to the security definition of poles-based aggregation function.
The poles-based aggregation function 1 PolesAggr(mpk,S+) is invoked to calculate the aggregation value
Where, v=hash(e) and vi=hash(ei).
The following secret value is recovered 4 from
The above value is verified 5 by using
where
is directly derived from mpk.
Conversely, if e∈S, according to the security definition of poles-based aggregation function, it is computably difficult to recover the particular value
therefore the verification 5 cannot be passed.
In summary, the above-mentioned method makes more efficient and precise for decision-making of negative membership. That is, it not only improves the efficiency of decision-making process, but also ensures the security and consistency of decision-making.
In this embodiment of the invention, for instance, it can take some similar cryptographic implementation to verify other relationships, such as the equation relationship between two sets, the inclusion relationship between a set and another set, or the disjoint relationship (also known as not totally inclusion) of two sets.
Another embodiment of the invention is described as follows:
The invention also provides a specific embodiment of cryptographic system of secure decision-making of membership. Considering that the corresponding relation between the construction of this system and the above-mentioned embodiment of decision-making method of membership, the embodiment of cryptographic system can execute the above-mentioned decision-making method of membership to achieve the purpose of the invention. Therefore, the explanation of implementation of cryptographic method of decision-making of membership also applied to the implementation of cryptographic system of decision-making of membership. We do not repeat to explain in the following specific embodiment of the invention.
During the procedure described above, all elements in a given set might be represented as a random number or a random vector in the cryptographic space, which can be used in cryptographic decision-making of membership between the set and the set, the set and the element, or the element and the element.
In this embodiment, optionally, the cipher-processing unit comprising:
Processing module, which is configured to process the function ƒS(γ) by using the public parameter mpk as an input to generate an aggregation function Aggregate(mpk,S) of the set S via cryptographic method, wherein the aggregation function is called a zeros-based aggregation function ZerosAggr(mpk,S) if the function ƒS(x) is a zeros-based polynomial, or the aggregation function is called a poles-based aggregation function PolesAggr(mpk,S) if the function ƒS(x) is a poles-based polynomial; and
Compressing module, which is configured to compress the set S into a constant-size random number or random vector RS by means of the aggregation function, wherein RS is an aggregated value outputted by the aggregation function Aggregate(mpk,S), and the size of RS is independent of the number of elements in the set S.
According to one or more embodiments of the present invention, the constant-size random number or random vector RS is used to generate the cryptographic decision-making device, includes:
The First Decision-Making Unit, which is configured to construct a cryptographic determination algorithm by means of the aggregation function for determining equality and inequality relationships between elements; and/or
The Second Decision-Making Unit, which is configured to construct a cryptographic determination algorithm by means of the aggregation function for determining positive and negative affiliation memberships between elements and the set; and/or
The Third Decision-Making Unit, which is configured to construct a cryptographic determination algorithm by means of the aggregation function for determining positive and negative containment relationships between the sets.
In the foregoing specification, optionally, the embodiments of the invention can construct the second decision device that realizes the cryptographic system of decision-making of membership. The following processes may perform the decision-making of membership:
the second determination unit is further configured to acquire an element ei, and when ei∈S, set S=S\{ei}, then determine the aggregated value RS
the second determination unit is further configured to acquire an element ei, when ei∉S, set S+=S∪{ei}, then determine the aggregated value RS
The preferred embodiment of the present invention is described above. It should be pointed out that the general technical individual of technical field can also make some improvement and polishing, without departing from the principles of the present invention, which should be regarded as the scope of protection.
Number | Date | Country | Kind |
---|---|---|---|
201510013367.1 | Jan 2015 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2015/072982 | 2/13/2015 | WO | 00 |