Next Article in Journal
NFTs and Cryptocurrencies—The Metamorphosis of the Economy under the Sign of Blockchain: A Time Series Approach
Previous Article in Journal
Fuzzy Logic and Soft Computing—Dedicated to the Centenary of the Birth of Lotfi A. Zadeh (1921–2017)
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Efficient Zero-Knowledge Dual Membership Proof Supporting Pos-and-Neg Membership Decision

1
School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing 100083, China
2
School of Mathematical Science, Peking University, Beijing 100084, China
3
School of Computing and Augmented Intelligence, Arizona State University, Tempe, AZ 85281, USA
*
Authors to whom correspondence should be addressed.
Mathematics 2022, 10(17), 3217; https://doi.org/10.3390/math10173217
Submission received: 15 July 2022 / Revised: 26 August 2022 / Accepted: 1 September 2022 / Published: 5 September 2022
(This article belongs to the Section Mathematics and Computer Science)

Abstract

:
In this paper, we address the problem of secure decision of membership. We present a Zero-Knowledge Dual Membership Proof (ZKDMP) protocol, which can support positive and negative (Pos-and-Neg) membership decisions simultaneously. To do it, two secure aggregation functions are used to compact an arbitrarily-sized subset into an element in a cryptographic space. By using these aggregation functions, a subset can achieve a secure representation, and the representation size of the subsets is reduced to the theoretical lower limit. Moreover, the zeros-based and poles-based secure representation of the subset are used to decide Pos-and-Neg membership, respectively. We further verify the feasibility of combining these two secure representations of the subset, so this result is used to construct our dual membership decision cryptosystem. Specifically, our ZKDMP protocol is proposed for dual membership decisions, which can realize a cryptographic proof of strict Pos-and-Neg membership simultaneously. Furthermore, the zero-knowledge property of our construction ensures that the information of the tested element will not be leaked during the implementation of the protocol. In addition, we provide detailed security proof of our ZKDMP protocol, including positive completeness, negative completeness, soundness and zero-knowledge.

1. Introduction

With the development of cryptography research, some basic math skills and concepts are becoming more and more significant in the last decade. For instance, set theory, as one of theoretical foundations of computer science and engineering, has been widely used in database design [1], large-scale data processing [2], fault diagnosis [3] and other areas. Wherein, the problem of determining whether or not an element belongs to a set is called set membership decision. It is not only the basis of set theory but also a common problem on the Internet, and has been widely concerned and applied in many fields, such as e-auction, blacklist and whitelist mechanism, anonymous certificate systems, and so forth [4,5,6,7]. For example, as a common access control technology, the blacklist mechanism allows access to any user in the system except those explicitly mentioned. This mechanism is essentially used to determine whether the user is in the blacklist set.
A naive method to solve the set membership decision problem is to compare a tested element x with all elements in a set S one-by-one. However, this method is very ineffective and does not meet the needs of large-scale membership determination on the Internet. In order to improve efficiency, Bloom Filter (BF) [8] and Cryptographic Accumulator (CA) [9] are applied to the membership decision by compressing the set into a compact representation. Usually, the following points need to be considered for a cryptographic membership decision scheme:
  • Representing the set S and the element x into specific cryptographic forms;
  • Deciding whether or not x belongs to S in terms of the relationship between x and S’s representation.
Specifically, the BF-based method maps each element in the set into k positions on an array by k different hash functions and sets the bits of these positions to 1. This array is called the representation of the set. When testing, the tested element is first mapped by the above k hash functions, the tested element must not be in the set if one of these mapped positions in the array is 0; otherwise, the tested element is likely to be in the set if these positions are all 1. The CA-based method works as follows. It first accumulates all of the elements in the set to a random value as the representation of the set. In the decision stage, a verifier can determine whether the tested element belongs to the set based on the algebraic relationship between the element’s witness and published accumulative value.
In the above methods, the way to solve the membership decision problem is one-time testing between the tested element and the compressed form of the set. Obviously, they are more efficient in comparison with one-by-one testing in the naive method. In order to further protect the privacy of tested element, Zero-Knowledge Proof (ZKP) technology [10,11,12] is considered in [7,13,14]. In these schemes, zero-knowledge property allows one to prove that a tested element belongs to a set without revealing its information. This feature has bright application prospects. For example, in the financial supervision, a user can prove to a bank that they belong to a public user set without disclosing their identity information, which will reduce the disclosure of the user’s privacy.
Although many remarkable results have been made on the membership decision and related problems, there are still some challenges, especially under the requirements of complex applications and the security required by large-scale and dynamic networks. For example, although the existing set representation has a certain compression feature, the more detailed and secure set compact representation still needs to be further studied to meet the needs of large-scale network applications. Furthermore, the research on cryptographic protocol supporting privacy protection remains a challenge for protecting a sensitive tested element in the membership decision.
In view of the above challenges, this paper aims to construct a secure representation of the set and design a Zero-Knowledge Dual Membership (Dual membership denotes two opposite set membership, i.e., ∈ and ∉, = and ≠) Proof (ZKDMP) protocol. The highlights of this paper can be described as follows: (a) defining the cryptographic representation of the set and formalizing its security, (b) proposing the concept of Secure Decision of Membership to decide the Pos-and-Neg membership, and (c) constructing the ZKDMP protocol to support strict Pos-and-Neg membership decisions.

1.1. Related Works

Bloom Filter (BF) is an efficient tool that can be used to test whether an element is a member of a set. In 2009, Nojima and Kadobayashi [15] proposed a cryptographically secure privacy protection BF protocol. They adopted the blind signature and oblivious pseudorandom function to enhance the privacy of bit information in the array, and gave a simple security definition and analysis. Subsequently, Ramezanian [16] enhanced the above work by using Goldwasser–Micali homomorphic encryption and blind RSA signature. Furthermore, he also proposed several membership testing schemes with privacy protection.
In 1993, Cryptographic Accumulator (CA) was introduced in [9]. It accumulates a set of elements into a short commitment and generates a short witness for all the accumulated elements. These witnesses can be publicly verified with commitments, so as to prove the relationship between elements and sets. On this basis, Papamanthou et al. [17] presented a q-strong multilinear Diffie–Hellmann (q-SMDH) accumulator construction. They combined this accumulator with a constant-depth tree in a nested way and proposed a cryptographic protocol for determining the membership of sets. Then, Papamanthou et al. [18] further improved the above scheme and gave an accumulator based on bilinear mapping, as well as a more strict definition and security proof. Additionally, Derler et al. [19] revised the concept of the accumulator by introducing indiscriminability and proposed an undeniable universal accumulator. Ghosh et al. [20] paid attention to the privacy of accumulator and proposed a zero-knowledge accumulator, which would not disclose the information of the set in the execution process.
At the same time, CA is also used to decide the non-membership. Li et al. introduced the concept of the universal accumulator in [21], different from traditional accumulative machines, this scheme can efficiently compute the non-membership witness for all elements that have not been accumulated. Furthermore, this scheme is proved to be secure under the strong RSA (sRSA) assumption. After that, Damgård and Triandopoulos [22] completed the above scheme and presented a new accumulator construction based on bilinear mapping, which supports the proof of a set non-membership. The security of this scheme is reduced to the q-strong Diffie–Hellman (q-SDH) assumption. Then, Yu et al. [23] constructed the first universal accumulator from the small integer solution (SIS) assumption in a standard lattice. Their scheme could not only generate short witnesses for non-accumulators but also made a zero-knowledge proof for non-accumulator witnesses.
Recently, some ZKP protocols for membership are proposed to prove that an element in or not a public set without disclosing the element. In 2008, Camenisch et al. [24] presented two new approaches to building set-membership zero-knowledge proofs based on q-SDH and RSA assumption, respectively. Furthermore, their protocols can be used to range proof in zero-knowledge. After that, Peng et al. [25] constructed two new non-membership proof protocols to prove that a committed element is not in a finite set. Benarroch et al. [7] also proposed an efficient ZKP protocol supporting membership or non-membership decisions based on the strong RSA (sRAS) assumption.
In addition, there are many other studies on membership decision. Guo et al. proposed a membership encryption scheme in [26,27]. By adding a set of tokens to the ciphertext, their scheme required the user to hold the token belonging to the token set when decrypting the message. In terms of design, their scheme adopted a construction based on polynomial root-value decision, which can be regarded as an extension of the broadcast encryption. Arfaoui et al. [28] applied membership proof to Near-Field Communication and proposed a secure mobile ticketing protocol for the public transportation. This protocol ensured the anonymity of users, so as to prevent service providers from tracking users’ tracks. According to the zero-knowledge set membership proof, Baza et al. [29] proposed a time-locked deposit protocol for ride sharing in order to ensure the privacy of both drivers and riders. Locher and Haenni [30] also proposed an Internet voting protocol based on the same technology, which can ensure the anonymity of voting without authority. In summary, in the Table 1, we list the comparison results between some related works [7,16,17,22,24,25] and ours in terms of technology, decision mode, zero-knowledge and hardness assumptions.

1.2. Our Contributions

The purpose of this work is to construct a novel Zero-Knowledge Dual Membership Proof (ZKDMP) protocol, which can support Pos-and-Neg membership decisions simultaneously. To that end, a new security representation of a subset using aggregation functions is introduced to achieve a secure membership decision. The contributions of this paper are listed below.
  • We first formalize the security requirements of the aggregator based on our previous work [31], which refers to the security properties in easy or hard to compute aggregated values for a given set and a certain element. Based on them, two aggregation functions, ZeroAggr and PoleAggr, can achieve a secure representation of a subset in terms of zero-pole interpolation and reach the theoretical lower limit for the representation size of subsets. Moreover, the security of our aggregation functions are proved under the t-SDH assumption (see Section 3 and Section 4).
  • We propose the concept of Secure Decision of Membership (SDM) and use the zeros-based and poles-based secure representation of the subset to decide the Pos-and-Neg membership, respectively. Thus, the security of membership decisions can be reduced to the security of ZeroAggr and PoleAggr. Furthermore, we verify the feasibility of combining these two secure representations of subset, so this kind of combination could act as the foundation for constructing a dual membership decision cryptosystem (see Section 5).
  • Following the approach of the SDM, we construct a ZKDMP protocol for the dual membership decision, which can realize a cryptographic proof of the strict Pos-and-Neg membership. In contrast with a single membership decision, the proposed protocol can prevent elements outside the system from affecting the decision result. Furthermore, the zero-knowledge property of our protocol ensures that the information of the tested element will not be leaked during the interactive proof of the protocol. Moreover, we provide the complete security proofs of the ZKDMP protocol, including positive completeness, negative completeness, soundness and zero-knowledge (see Section 6).
In addition, in our secure representation of the subset, there is no limit to the number of elements in the universal set (in fact, when the system parameter p = 2 512 , the number of elements in the universal set is about 10 51 and a set with so many elements can be considered almost infinite in a practical application). Finally, the performance evaluations show that our protocol has a simple and easy-to-understand structure.

1.3. Organization

Our approach for cryptographic Pos-and-Neg memberships is presented in Section 2. Zeros-based and poles-based representation of the subset are introduced in Section 3 and Section 4, respectively. Moreover, the secure membership decision is discussed in Section 5. We present the ZKDMP protocol and its security analysis in Section 6. The performance evaluations are given in Section 7. Finally, our conclusion is presented in Section 8.

2. Our Approach

This paper aims to construct a new zero-knowledge protocol that can support dual membership (positive and negative, Pos-and-Neg) decisions, simultaneously. The basis of constructing such a protocol is to realize a secure representation of subsets. Next, we first show the core idea for designing cryptographic construction of a set-membership (∈ or ∉). The notations and abbreviations used throughout the paper are shown in Table 2.

2.1. Secure Representation of the Subset (SRS)

Our basic idea is to cryptographically represent the subset by using the aggregation function. In fact, based on the aggregation function (in short, Aggregator) proposed in our previous work [31], we can further define the security properties of the aggregation function, so as to take the output of the Aggregator as the security representation of the subset (SRS). Specifically, for any set U , an Aggregator is a cryptographic function if it can map any subset of U into a fixed-size value. The specific definition of the aggregation function is described below.
Definition 1
(Aggregator). Given a set U = { e 1 , e 2 , , e n } , let P ( U ) be the power set of U , PK that denotes the public key space. The algorithm A g g r e g a t o r : PK × P ( U ) G satisfies:
A g g r e g a t o r ( m p k , S ) = R S ,
where m p k PK is the public key, S is a subset of U and R S G is a random element.
Note that the aggregation function is a publicly computable function because the public key is used as input of the Aggregator. Moreover, there is no restriction on the size of the set U or the subset S . In addition, this definition only presents the functional requirement of the Aggregator, and is not related to its security requirements. We give a simple description of the secure Aggregator with two security properties as follows.
Definition 2
(Secure Aggregator). Given a subset S , a secure aggregation function can compress S into a constant-size random element, and satisfies the following security properties.
  • Easy to compute the aggregated value for normal input, i.e.,
    -
    try to add an element into S where the element is not in S ; or
    -
    try to delete from S an element which is already present in S .
  • Hard to compute the aggregated value for abnormal input, i.e.,
    -
    try to add an element into S where the element is already present in S ; or
    -
    try to delete from S an element which is not in S .

2.2. Roadmap for SRS

According to the security properties of the aggregate function defined in the last section, it is challenging to design a secure aggregation function for the security representation of the subset, especially for a subset of any size. We here present our intuition to solve this challenging problem. Our approach will be used to construct two secure aggregation functions in Section 3 and Section 4. For the convenience of explanation, as shown in Figure 1, we describe this approach as follows.
  • For U = { e 1 , e 2 , , e n } , e i U is mapped to a random point in a cryptographic space. In this step, we also pick partial information of these mapped points and publish them as public keys m p k ;
  • For a subset S U , we construct a curve c ( x ) through random points mapped from elements in S ;
  • We pick a secret γ and define the output of the aggregation function as an encapsulation of the point ( γ , c ( γ ) ) , E ( c ( γ ) ) A g g r e g a t o r ( m p k , S ) , where E ( · ) denotes a cryptographic encapsulation function;
  • Two security features of the aggregate function are defined to ensure that the aggregation is secure against malicious adversary attacks.
According to secure aggregation functions, we can achieve a secure representation of subsets. Before introducing secure aggregate functions, we first recall the definitions of zeros and poles in rational polynomials.
Definition 3
(Zeros and Poles). Let H ( x ) = P ( x ) Q ( x ) be a rational polynomial. Then, z is called a zero of the polynomial H ( x ) if P ( z ) = 0 , and z is a pole of the polynomial H ( x ) if Q ( z ) = 0 .

3. Zeros-Based Representation of Subset

Given a polynomial-sized set of elements U = { e 1 , , e n } , we first translate these elements into some random points in a one-dimensional plane; that is, ( x 1 , x 2 , x n ) = ( h a s h ( e 1 ) , , h a s h ( e n ) ) Z p n , where we assume each element e i is denoted as a binary string and h a s h is a collision-resistant hash function. We utilize the cryptographic hash to ensure that all points are distributed uniformly in the whole space Z p and each point is unique and nonzero, i.e., x i x j and x i 0 for all i , j [ 1 , n ] , i j . Since the size of U is usually far less than that of Z p , we do not limit the size of U (e.g., p > 2 512 for a secure elliptic curve).
Next, for S = { e 1 , e 2 , , e m } U , we wish to find an effective method to compress the corresponding points ( h a s h ( e 1 ) , , h a s h ( e m ) ) in S into a random point ( x , y ) in a two-dimensional plane. To do so, an ( m + 1 ) -order polynomial f S ( x ) is defined over S .
f S ( x ) = x ( x + x 1 ) ( x + x m ) = x e i S ( x + x i ) ( mod p )
It is easy to find that f S ( x ) will be different if a different subset S is used. We map the subset S into a point ( x , y ) = ( x , f S ( x ) ) . Given an unknown and random x, f S ( x ) is random and unpredictable. An adversary cannot guess the correct value when x is unknown.
We further introduce the Discrete Logarithm Problem (DLP) into the above-mentioned construction in order to guarantee the privacy of x and the unpredictability of f S ( x ) . That is, given a multiplicative cyclic group G , where g is a generator of G , we map the subset S into the point ( g x , g f S ( x ) ) rather than ( x , f S ( x ) ) . Based on the assumption of DLP, the privacy of x, as well as the unpredictability of g f S ( x ) , will be guaranteed even when g x keeps public.
For a secret γ and a subset S , we next define the aggregation function by the above based on the above polynomial f S ( x ) . Since the hash values of all elements in the subset S are used for the (negative) zeros in f S ( x )  ( f S ( x ) = x e i S ( x ( x i ) ) = x e i S ( x + x i ) ( mod p ) . ), this aggregation function is named Zeros-based Aggregator (ZeroAggr). In addition, it can aggregate all elements of S to g f S ( γ ) .
Definition 4
(ZeroAggr). Let g be a generator in the group G and S U . The Zeros-based Aggregator (ZeroAggr) inputs the public key m p k and a subset S outputs an element in G as follows.
G S = ZeroAggr ( m p k , S ) = g f S ( γ ) = g γ · e i S ( γ + x i )
where γ is the secret, the public key m p k = { g i = g γ i } i [ 1 , | U | ] and x i = h a s h ( e i ) .

Security Definition and Analysis

Let f ( x ) be a polynomial, we make use of a simple polynomial division with monomial in order to remove a certain (negative) zero x i from this polynomial, i.e., f ( x ) x + x i . Two cases may arise. In the first case, x i is not a root of f ( x ) , such that we define f ( x ) = ( x + x i ) q ( x ) + r ( x ) and f ( x ) x + x i = q ( x ) + r ( x ) x + x i , where q ( x ) and r ( x ) are two polynomials and the remainder r ( x ) 0 . In the second case, x i is a root of f ( x ) , such that the remainder is equal to 0. Hence, we are able to convert the decisional problem of membership into a new problem: whether or not the remainder r ( x ) is equal to 0?
According to the above-mentioned discussions, we define the set subtraction as S = S { e i } and the corresponding subtraction of the Zeros-based aggregation is expressed as:
G S = G S { e i } = g γ · e k S { e i } ( γ + x k ) = g f S ( γ ) γ + x i ,
where x i = h a s h ( e i ) . Let f S ( x ) x + x i = q ( x ) + r ( x ) x + x i . According to e i S or e i S , we have the two following cases:
  • Case e i S means that ( x + x i ) | f S ( x ) and r ( x ) = 0 , such that G S = g q ( γ ) ;
  • Case e i S means that x i is not one root of f S ( x ) and r ( x ) 0 , such that G S = g q ( γ ) · g r ( γ ) γ + x i .
It is easy to find that G S can be computed by zeros-based aggregation algorithm for e i S , otherwise we must have the ability to compute g r ( γ ) γ + x i from m p k = { g i = g γ i } i [ 1 , | U | ] . Hence, we continue to transfer the problem of set membership into a computational problem: whether or not G S can be computed in a polynomial time.
Based on the above discussion, the security definition of zeros-based aggregation under the dividing polynomial with a monomial is defined below.
Definition 5
(Security of ZeroAggr). Given an element e i U and a subset S U , a ZeroAggr function on S is called a secure zeros-based aggregation if it has the following two properties:
  • Easy to compute G S for e i S . The value of G S = g f S ( γ ) γ + x i can be computed by the ZeroAggr algorithm within a polynomial time, that is,
    Pr [ Z e r o A g g r ( m p k , S ) = G S | e i S ] > 1 ϵ .
  • Hard to compute G S for e i S . Any probabilistic polynomial-time adversary A computing G S = g f S ( γ ) γ + x i succeeds with negligible probability ϵ, that is,
    Pr [ A ( m p k , e i , S ) = G S | e i S ] < ϵ .
We next prove that our ZeroAggr function is a secure zeros-based aggregation under the Strong Diffie–Hellman (SDH) assumption. The following is the description of the t-SDH problem [32].
Definition 6
(t-SDH Problem). Given some elements ( G , G α , , G α t ) in G , find a pair ( c , G 1 / ( α + c ) ) such that c 0 ( mod p ) .
The SDH assumption holds in some infinite family of groups, if the aforementioned t-SDH problem is hard for any t that is polynomially bounded in the security parameter, where the group size p grows exponentially with the security parameter. According to this assumption, we prove the security of ZeroAggr in a straightforward manner.
Theorem 1.
Our ZeroAggr function is a secure zeros-based aggregator under the t-SDH assumption.
Proof. 
Let ( G , G α , G α 2 , , G α t ) ( c , G 1 / ( α + c ) ) be an instance of t-SDH. We convert this instance into a ZeroAggr function: let g = G and γ = α ( α is an unknown secret), such that we have g i = g γ i = G α i and m p k = { g i } i [ 1 , t ] , where we assume that t | U | . We have the two following cases for any e i U and S U ( | S | = k ):
  • Easy to compute G S for e i S . Given a subset S and an element e i S , we define f S ( x ) = x e k S , e k e i ( x + x k ) = i = 0 k 1 c i x i + 1 based on ( x + x i ) | f S ( x ) . This information is sufficient to compute the value:
    G S = g f S ( γ ) = g i = 0 k 1 c i γ i + 1 = i = 1 k ( G α i ) c i 1 .
  • Hard to compute G S for e i S . If there is a PPT algorithm A can compute G S = g f S ( γ ) γ + x i but ( x + x i ) f S ( x ) . Then we can solve the SDH problem as follows. Let f S ( x ) x + x i = q ( x ) + r ( x ) x + x i be defined as above, where q ( x ) = i = 0 k d i x i and r ( x ) = r are two known polynomials. Hence, we can compute:
    G 1 / ( α + x i ) = ( G S / i = 0 k ( G α i ) d i ) 1 / r
    because we have G f S ( γ ) γ + x i = G q ( γ ) · G r γ + x i and G q ( γ ) = i = 0 k ( G α i ) d i . This means we forge a valid solution ( x i , G 1 / ( α + x i ) ) for the t-SDH problem. However, this is a contradiction with the t-SDH assumption.
Thus, the ZeroAggr function is secure under the t-SDH assumption.    □

4. Poles-Based Representation of Subset

We have presented an effective approach to deal with the decisional problem of positive membership (∈) based on zeros-based aggregation, but it is not enough to realize the decisional problem of negative membership (∉). To solve this problem, we expect to build a “conversely” aggregation function that is easy to compute for e S but hard to compute for e i S . We will use the poles-based aggregation to deal with this problem in this section.
Similar to zeros-based aggregation, we next show the construction of the Poles-based Aggregator (PoleAggr). For R = { e 1 , , e m } U , this function can compress elements of R into a random point ( x , y ) even if the size of R is large. Then, we use hash values of elements in the subset R as the poles of the polynomial, such that the m-order polynomial g R ( x ) is defined as follows, where m = | R | .
g R ( x ) = 1 ( x + x 1 ) ( x + x m ) = 1 e i R ( x + x i ) ( mod p )
In the above polynomial, x i is the results of h a s h ( e i ) . The output of g R ( x ) is random and unpredictable for a unknown and random x. Note that give a random value x, the probability of collision between x and all cryptographic hash values { h ( e i ) } i = 1 m is negligible when p is large enough. This means that the probability of x + x i = 0 or division by zero errors is also negligible.
We next define the PoleAggr based on the above-mentioned polynomial g R ( x ) . In this definition, we let h be a generator in the cyclic group G . Our goal is to compute h g R ( γ ) for a secret γ in terms of the public parameter m p k . This definition is expressed as follows:
Definition 7
(PoleAggr). Let h be a generator in the group G and R U . The Poles-based Aggregator ( P o l e A g g r ) inputs the public key m p k and the subset R , outputs an element in G as follows.
H R = PoleAggr ( m p k , R ) = h g R ( γ ) = h 1 e i R ( γ + x i ) ,
where γ is the secret, the public key m p k = { h i = h 1 γ + x i } i [ 1 , | U | ] and x i = h a s h ( e i ) .
When h i and h j are known, we can easily obtain:
H { e i , e j } = ( h j h i ) 1 x i x j = ( h 1 γ + x j / h 1 γ + x i ) 1 x i x j = h 1 ( γ + x i ) ( γ + x j )
iff x i x j (or e i e j ).

Security Definition and Analysis

We define the addition of the set and element as R + = R { e i } and the corresponding addition of poles-based aggregation is expressed as the equation:
H R + = H R { e i } = h g R ( γ ) · 1 γ + x i = h 1 ( γ + x i ) · e k R ( γ + x k ) ,
where x i = h a s h ( e i ) . Depending on whether e i is an element of R or not, we have the following two cases:
  • Case e i R . This means that h a s h ( e i ) h a s h ( e k ) for all e k R and a collision-resistant h a s h ( · ) , such that H R + = h g R + ( γ ) = h 1 ( γ + x i ) · e k R ( γ + x k ) ;
  • Case e i R . This means that x i is a double pole of g R + ( x ) , such that H R + = h g R ( γ ) · 1 ( γ + x i ) 2 = h 1 ( γ + x i ) 2 e k R { e i } ( γ + x k ) .
It is easy to find that H R + can be computed by the poles-based aggregation algorithm for e i R , otherwise we must have ability to compute the value h g R ( x ) · 1 ( γ + x i ) 2 from the public parameter m p k = { h i = h 1 γ + x i } e i U . However, it is improbable to calculate this value by Equation (11) because of the “divided by zero” exception. We will provide a rigorous proof in the proof of Theorem 2. Therefore, the following is a security definition of poles-based aggregation by dividing the polynomial with the monomial.
Definition 8
(Security of PoleAggr). Given an element e i U and a subset R U , a PoleAggr function on R is called a secure poles-based aggregation if it has the following two properties:
  • Easy to compute H R + for e i R . The value of H R + = h g R ( γ ) γ + x i can be computed by PoleAggr algorithm within a polynomial time, that is,
    Pr [ P o l e A g g r ( m p k , R + ) = H R + | e i R ] > 1 ϵ .
  • Hard to compute H R + for e i R . Any probabilistic polynomial-time adversary A computing H R + = h g R ( γ ) γ + x i succeeds with negligible probability ϵ, that is,
    Pr [ A ( m p k , e i , R ) = H R + | e i R ] < ϵ .
Although the two functions, ZeroAggr and PoleAggr, are dramatically different in form, they have the same security foundation, called the strong Diffie–Hellman (SDH) assumption. We can prove the security of PoleAggr in a more subtle way, where the value G f ( γ ) , built on the polynomial f ( x ) = i = 1 n ( x + x i ) , could be used as a generator in G .
Theorem 2.
Our PoleAggr function is a secure poles-based aggregator under the t-SDH assumption.
Proof. 
Let ( G , G α , G α 2 , , G α t ) ( c , G 1 / ( α + c ) ) be an instance of t-SDH. We convert this instance into a PoleAggr function: Let U = { e 1 , , e n } and f ( x ) = i = 1 n ( x + x i ) for n t . We define h = G f ( γ ) and γ = α ( α is an unknown secret), such that we have h i = h 1 / ( γ + x i ) = G f i ( γ ) and m p k = { h i } i [ 1 , n ] , where f i ( x ) = f ( x ) / ( x + x i ) = i = 0 n 1 d i x i and G f i ( γ ) = i = 0 n 1 ( G α i ) d i for all e i U . We have the two following cases for any e i U and R U ( | R | = k ):
  • Easy to compute H R + for e i R . Given a subset R and an element e i R , we define:
    f ( x ) · g R + ( x ) = f ( x ) e k R + ( x + x k ) = e k U ( R { e i } ) ( x + x i ) = i = 0 n k 1 c i x i
    based on ( x + x i ) | f ( x ) . Such that, we can compute the value of H R + by using:
    H R + = h g R + ( γ ) = G f ( x ) · g R + ( x ) = G i = 0 n k 1 c i γ i = i = 0 n k 1 ( G α i ) c i .
  • Hard to compute H R + for e i R . Assume that there exists a PPT algorithm A can compute the value H R + = h g R ( γ ) γ + x i = G f ( x ) · g R ( γ ) γ + x i but ( x + x i ) f ( x ) · g R ( x ) , where f ( x ) · g R ( x ) = e k U R ( x + x i ) . We construct a PPT algorithm solving the SDH problem as follows: Let f ( x ) · g R ( x ) x + x i = q ( x ) + r ( x ) x + x i be defined as above, where q ( x ) = i = 0 n k 1 d i x i and r ( x ) = r are two known polynomials. Hence, we can compute the value:
    G 1 / ( α + x i ) = ( H R + / i = 0 n k 1 ( G α i ) d i ) 1 / r
    because we have G f ( γ ) · g R ( γ ) γ + x i = G q ( γ ) · G r γ + x i and G q ( γ ) = i = 0 n k 1 ( G α i ) d i . The value ( x i , G 1 / ( α + x i ) ) is a valid output of the t-SDH problem, but it is contradiction with SDH assumption.
Therefore, the PoleAggr function is secure under the t-SDH assumption.    □

5. Secure Decision of Membership

The zeros-based and poles-based representation of the subset have exhibited an ability for the decision of (positive and negative) membership. In this section, we further show that our method is able to provide a clear and concise form for the decision problem of either positive or negative membership when both representations of the subset are used together.
We first present a simple definition for the membership predicate, which is the fundamental principle in our construction of the dual membership decision protocol. Informally, a predicate P ( · ) is a statement that may be true or false according to the values of its variables. Generally, a predicate over membership is defined as follows:
Definition 9
(Membership Predicate). For U = { e 1 , , e N } , a membership predicate is a binary function P : U × P ( U ) { 0 , 1 } whose result represents the truth or falsehood of the condition e S ( P ( e , S ) = 1 ) or e S ( P ( e , S ) = 1 ), where e U , S P ( U ) and the subscript of P denotes the set-membership.
If the condition is defined as e S , it is called a positive membership predicate P . Similarly, if the condition is e S , it is called a negative membership predicate P . Next, we define the cryptographic decision problem of positive and negative membership below.
Definition 10
(Secure Decision of Membership, SDM). Let P ( e , S ) denote a membership predicate for ∈ or ∉. Given an element e and a subset S , we say that a probabilistic polynomial time (PPT) algorithm V e r i f y P is a secure decision of membership if,
  • Completeness: if P ( e , S ) = 1 holds, then the verifier will accept the proof, that is,
    Pr [ V e r i f y P ( R e , C S ) = 1 | P ( e , S ) = 1 ] = 1
  • Soundness: if P ( e * , S ) = 0 holds, then the verifier will accept the proof with negligible probability ϵ, that is,
    Pr [ V e r i f y P ( R e * , C S ) = 1 | P ( e * , S ) = 0 ] < ϵ
where, R e denotes a cryptographic representation of element e and C S is a cryptographic representation of subset S U .
Before discussing the SDM problem, we can observe the fact that ‘zeros’ and ‘poles’ in a rational polynomial function could cancel each other out if and only if zeros and poles are equal. It is this fundamental truth that compels us to combine ZeroAggr and PoleAggr functions together, such that we can verify whether or not the same ‘zeros’ and ‘poles’ exist in these two functions.
We now show how to put zeros-based aggregation and poles-based aggregation together. We use a bilinear mapping e : G × G G T to implement this combination. For any generators g , h in G and any elements a , b in Z p * , then we have e ( g a , h b ) = e ( g , h ) a b . Therefore, let ZeroAggr and PoleAggr work in the group G in such a bilinear system, so that we integrate two aggregation functions into an element in G T . Such a result value will be further used to make the decision of set-membership.

5.1. SDM for Positive Membership

We now present a practical solution for the SDM problem on positive membership. This solution is built on three algorithms, Setup, Extract, and Verify , as follows:
  • Setup: this is a probabilistic algorithm that generates the public key and a secure representation of subset S ; that is, ( m p k , H S ) S e t u p ( S , U , S ) , where S = { p , G , G T , e , g , h } . Firstly, we randomly pick a secret γ Z p * and a positive integer n Z + , and then generate the public key:
    m p k = ( g γ , , g γ n ) ,
    as well as the private key s k = ( γ ) . Next, given the arbitrary subset S = { e 1 , , e m } and m < n , we make use of the poles-based aggregation function to compute the value:
    H S P o l e A g g r ( s k , S ) = h g S ( γ )
    where g S ( x ) = 1 e k S ( x + x k ) and x k = h a s h ( e k ) .
  • Extract: this is an algorithm that yields the witness of an arbitrary element e i . We can extract the witness W i of e i from the private key s k by using the equation W i E x t r a c t ( s k , e i ) = e ( g , h ) γ γ + x i .
  • Verify : this is a verification algorithm that tests membership of an element e i that is in the subset S , that is, V e r i f y ( W i , H S ) , where W i is the witness of e i and H S is secure representation of S .
    -
    Firstly, we check the relation e i S . If it holds, we compute S = S { e i } and:
    G S Z e r o A g g r ( m p k , S ) = g f S ( γ ) = g γ e k S ( γ + x k ) γ + x i .
    -
    Secondly, we check whether or not the witness W i is equal to e ( G S , H S ) , that is:
    W i = ? e ( G S , H S ) .
    If the above equation holds, we say that e i S ; otherwise, we say that e i S .
The above solution for SDM over the positive membership is described by Figure 2. Firstly, the poles-based representation of subset H S is generated by using P o l e A g g r ( S ) for a given subset S . Secondly, given an element e i , we extract the value W i E x t r a c t ( s k , e i ) as the witness of e i . Next, the zeros-based representation G S of S = S { e i } is also yielded if e i is in S . Then, the bilinear map between H S and G S is used to remove all of the same elements between the two corresponding subsets, S and S . Finally, the final decision is realized by matching the above result of the bilinear map and witness W i .
In this solution, any adversary cannot cheat or forge the final decisional result based on the theorem below.
Theorem 3.
The above construction is a secure decision of positive membership if the ZeroAggr function is a secure zeros-based aggregator.
Proof. 
According the Definition 10, we prove that our construction satisfies the two following properties:
  • Completeness: When e i S , the Equation (23) holds for all valid G S in terms of:
    e ( G S , H S ) = e ( g f S ( γ ) , h g S ( γ ) ) = e ( g γ e k S ( γ + x k ) γ + x i , h 1 e k S ( γ + x k ) ) = e ( g , h ) γ γ + x i = W i .
  • Soundness: According to the precondition of this theorem, we assume that the ZeroAggr function is a secure zeros-based aggregation. This means that for every PPT adversary A (see Definition 5), then:
    Pr [ A ( m p k , e i * , S ) = G S | e i * S ] < ϵ
    for any given element e i * S . We will prove that the verifier accepts the verification with negligible probability ϵ ; that is, Pr [ V e r i f y ( W i , H S ) = 1 ] < ϵ , where W i and H S are two assured and unchanged values. We also know that W i = e ( g , h ) γ γ + x i * and H S = h 1 e k S ( γ + x k ) , where x i * = h a s h ( e i * ) . This means that the adversary can forge a valid G * to meet the equation: Pr [ V e r i f y ( W i , H S ) = 1 ] = Pr [ e ( g , h ) γ γ + x i * = e ( G * , h 1 e k S ( γ + x k ) ) ] . Without loss of generality, let G * = g z , so that we have the probability:
    Pr [ V e r i f y ( W i , H S ) = 1 ] = Pr [ e ( g , h ) γ γ + x i * = e ( G * , h 1 e k S ( γ + x k ) ) ] = G * = g z Pr e ( g , h ) = e ( g , h ) z ( γ + x i * ) γ e k S ( γ + x k ) | g z A ( m p k , e i * , S ) · Pr [ g z A ( m p k , e i * , S ) ] = Pr A ( m p k , e i * , S ) g z = g γ e k S ( γ + x k ) γ + x i * = Pr [ A ( m p k , e i * , S ) = G S | e i * S ] < ϵ .
    In this equation, we require the relation z ( γ + x i * ) γ e k S ( γ + x k ) = 1 to make:
    Pr e ( g , h ) = e ( g , h ) z ( γ + x i * ) γ e k S ( γ + x k ) = 1 .
    In this case, z = γ e k S ( γ + x k ) γ + x i * and G S = g z .
This means that the adversary’s advantage to break a secure decision of positive membership is equal to the advantage of breaking the secure zeros-based aggregator.    □

5.2. SDM for Negative Membership

We next present a practical solution for the SDM problem over negative membership. This solution is similar to the previous SDM over positive membership. We also present this solution by the three following algorithms:
  • Setup: this algorithm generates the public key and a secure representation of subset S ; that is, ( m p k , G S ) S e t u p ( S , U , S ) . Firstly, we randomly pick a secret γ Z p * and a positive integer n Z + , and generates the public key:
    m p k = ( h 1 γ + x 1 , h 1 γ + x n ) ,
    as well as the private key s k = ( γ ) . Next, given an arbitrary subset S = { e 1 , , e m } , we make use of the zeros-based aggregation function to compute the value:
    G S Z e r o A g g r ( S ) = g f S ( γ ) ,
    where f S ( γ ) = γ e k S ( x + x k ) and x k = h a s h ( e k ) .
  • Extract: this is an algorithm that yields the witness of element e i . We can extract the witness W i of e i from s k as W i E x t r a c t ( s k , e i ) = e ( g , h ) γ γ + x i .
  • Verify : this is a verification algorithm that tests the membership of an element e i that is in the subset S ; that is, V e r i f y ( W i , G S ) , where W i is the witness of e i and G S is a secure representation of S .
    -
    Firstly, we check the relation e i S . If it holds, we compute S + = S { e i } and:
    H S + P o l e A g g r ( m p k , S + ) = h g S + ( γ ) = h 1 ( γ + x i ) · e k S ( γ + x k ) .
    -
    Secondly, we check whether or not the witness W i is equal to e ( G S + , H S ) , that is:
    W i = ? e ( G S , H S + ) .
    If the above equation holds, we say that e i S ; otherwise, we say that e i S .
As shown above, Figure 3 has almost the same structure as that in Figure 2. It is an important property to help us combine them (SDMP and SDMN) into one cryptographic protocol (see our membership decision ZKP protocol in next section). However, when we carefully inspect the details, there also exist two differences between SDM for Pos-and-Neg membership. One is that both positions of two aggregation functions, ZeroAggr and PoleAggr, are swapped with each other; and another is that the ‘+’ operation in Figure 3 takes the place of the ‘–’ operation in Figure 2.
Next, we prove that our solution is secure against cheating or forgery according to the theorem below.
Theorem 4.
The above construction is a secure decision of negative membership if the PoleAggr function is a secure poles-based aggregator.
Proof. 
In terms of the definition of SDM, we prove tha our construction satisfies the two following properties:
  • Completeness: When e i S , the Equation (31) holds for all valid H S + in terms of:
    e ( G S , H S + ) = e ( g f S ( γ ) , h g S + ( γ ) ) = e ( g γ e k S ( γ + x k ) , h 1 ( γ + x i ) · e k S ( γ + x k ) ) = e ( g , h ) γ γ + x i = W i .
  • Soundness: According to the precondition of this theorem, we assume that the ZeroAggr function is a secure zeros-based aggregation. This means that for every PPT adversary A (see Definition 8):
    Pr [ A ( m p k , e i * , S ) = H S + | e i * S ] < ϵ
    for a given element e i * S . We will prove that the verifier accepts the verification with negligible probability ϵ ; that is, Pr [ V e r i f y ( W i , G S ) = 1 ] < ϵ , where W i and G S are two assured and unchanged values. We also know that W i = e ( g , h ) γ γ + x i * and G S = g γ e k S ( γ + x k ) , where x i * = h a s h ( e i * ) . In this case, the adversary can forge a valid H * to meet the equation: Pr [ V e r i f y ( W i , G S ) = 1 ] = Pr [ e ( g , h ) γ γ + x i * = e ( g γ e k S ( γ + x k ) , H * ) ] . Without loss of generality, we let H * = h z , so that:
    Pr [ V e r i f y ( W i , G S ) = 1 ] = Pr [ e ( g , h ) γ γ + x i * = e ( g γ e k S ( γ + x k ) , H * ) ] = H * = h z Pr e ( g , h ) γ γ + x i * = e ( g , h ) z γ e k S ( γ + x k ) | h z A ( m p k , e i * , S ) · Pr [ h z A ( m p k , e i * , S ) ] = Pr A ( m p k , e i * , S ) h z = h 1 ( γ + x i * ) e k S ( γ + x k ) = Pr [ A ( m p k , e i * , S ) = H S + | e i * S ] < ϵ .
    In this equation, we require the relation γ γ + x i * = z γ e k S ( γ + x k ) to make the probability Pr e ( g , h ) γ γ + x i * = e ( g , h ) z γ e k S ( γ + x k ) = 1 , such that z = 1 ( γ + x i * ) e k S ( γ + x k ) = 1 ( γ + x i * ) 2 e k S { e i * } ( γ + x k ) and H S + = h z .
This means that the adversary’s advantage to break secure decisions of negative membership is equal to the advantage of breaking secure poles-based aggregation.    □
Based on the above security analysis of SDM, the computational complexity of α is O ( log p · ( ( p / d ) + d ) ) operations in the group G and the complexity of space is O ( max { p / d , d } ) , where p is the order of the group G and d is a factor of p + 1 . Obviously, the number of elements in the subset is determined by d, and the security of the SDM is ensured by p, which contains a large factor (e.g., d p 1 / 3 ). For example, when p 2 512 and d 2 170 , the complexity of recovering the secret in the private key is still O ( 2 170 ) . At this time, the number of elements in the set can reach 2 170 10 51 , which means that the number of elements is unlimited in practical applications.
In all, it is easy to see that the decision problems of Pos-and-Neg membership are converted into the problems of effective computation of G S and H S + from the two above-mentioned solutions. More importantly, these two solutions have nearly the same structure from the view of Figure 2 and Figure 3, for the reason that we easily combine the predicate ∈ and ∉ into a cryptosystem. In the next section, we also apply for this approach to construct a dual membership proof protocol.

6. Zero-Knowledge Dual Membership Proof Protocol

Our ZKDMP protocol is described by an interactive proof system between the prover and verifier. We assume that the verifier holds a public set of elements S and the prover owns a secret element e. The prover proves to the verifier the element e S or e S without revealing the element itself.
Definition 11.
Given two parties, Prover (P) and Verifier (V), the protocol is a secure membership decision over the universal set U for a certain element e and a subset S U , if it satisfies the three following properties:
  • Positive Completeness: For the positive membership e S and the honest prover, the verifier outputs T r u e with probability at least 1 ϵ after interacting with prover, where ϵ is a neglectable probability, i.e.,
    Pr [ P ( e ) , V ( S ) = T r u e | e S ] 1 ϵ .
  • Negative Completeness: For the negative membership e S ¯ ( e S and e U ) and the honest prover, the verifier outputs F a l s e with probability at least 1 ϵ after interacting with prover, where ϵ is a neglectable probability, i.e.,
    Pr [ P ( e ) , V ( S ) = F a l s e | e S ¯ ] 1 ϵ .
  • Soundness: For any inefficient e * U and any prover P * , the verifier outputs T r u e or F a l s e with probability at most ϵ after interacting with prover, where ϵ is a neglectable probability, i.e.,
    Pr [ P * ( e * ) , V ( S ) = T r u e F a l s e | e * U ] < ϵ .
    We define a new output state ⊥ that denotes e * is irrelevant to the set U . Hence, according to the soundness property, we define this state as the output of the interactive proof system under e * U , i.e.,
    Pr [ P * ( e * ) , V ( S ) = | e * U ] 1 ϵ .
  • Zero-knowledge [33]: For any verifier V * , there is a PPT machine M * such that the following two probability distributions are statistically indistinguishable.
    -
    { P , V * ( e ) } denotes the output of the interactive proof system in the V * view on common input e.
    -
    { M * ( e ) } is the output of machine M * on input e.
    The statistical indistinguishability of the above two probability distributions can be denoted as { P , V * ( e ) } { M * ( e ) } .
Note that the output of ZKDMP protocol involves three cases: T r u e denotes positive membership ( e S ), F a l s e denotes negative membership ( e S and e U ) and ⊥ denotes invalid membership ( e U ). We call it a strict Pos-and-Neg membership decision.

6.1. The Proposed Protocol

In our ZKDMP protocol, as shown in Figure 4, we choose S = ( p , G , G T , e ( · , · ) ) , G is a generator in G and the prime p is the order of the group. Furthermore, for any identity e i { 0 , 1 } * , the hash function can compute h a s h ( e i ) = x i Z p * , where a collision-resistant hash function is used to prevent two different elements from mapping into a same value, i.e., for any e i e j , h a s h ( e i ) h ( e j ) . Detailed construction of our protocol can be found below.
  • Setup ( S , U ). Let G denote a generator in G , the Setup algorithm chooses δ in Z p * , then it sets H = G δ and V = e ( G , H ) . Furthermore, the algorithm picks γ in Z p * and sets G j = G γ j for j [ 1 , | U | ] . For any e i U , this algorithm computes x i = h a s h ( e i ) and H i = H 1 γ + x i and outputs the master key m s k = ( δ , γ , G ) . Finally, it publishes m p k = S , U , { G j } j [ 1 , | U | ] , { H i } e i U , H , V .
  • Protocol. The complete protocol is divided into the following three stages:
    Initial stage: The prover random chooses e i U and s Z p * , then the manager computes the witness E i = G x i γ + x i and the commitment G s by using the master key. Finally, the manager sends E i and G s to the prover and the verifier, respectively. The verifier also chooses a subset S from the universal set U .
    Interactive-proof stage: Based on the three-move structure in Σ -protocols, our proposed protocol is described below.
    -
    Commitment: Prover randomly picks k Z p * and computes e ( E i k , H ) , then it sends this calculation result to the verifier;
    -
    Challenge: Verifier randomly selects r in Z p * , then sends ( S , r ) to the prover;
    -
    Response: Prover computes ( u , W k ) and sends them to the verifier as the responses, where u = k + s r ,
    W = G S = Z e r o A g g r ( m p k , S { e i } ) e i S , H S + = P o l e A g g r ( m p k , S { e i } ) e i S .
    Verification stage: The verifier computes T = V u / e ( E i k , H ) · e ( G s r , H ) , and returns True if T = e ( W k , H S ) , else False if T = e ( G S , W k ) , otherwise ⊥, where G S = Z e r o A g g r ( m p k , S ) and H S = P o l e A g g r ( m p k , S ) .

6.2. Security Analysis

According the Definition 11, we prove that the proposed membership decision protocol satisfies the following four properties.
(1) Positive Completeness: When e i S , we have the following equation:
e ( E i k , H ) · e ( G s r , H ) · e ( W k , H S ) = e ( G x i · k γ + x i , H ) · e ( G s r , H ) · e ( G S k , H S ) = e ( G x i · k γ + x i , H ) · e ( G s r , H ) · e ( G f S ( γ ) k γ + x i , H 1 g S ( γ ) ) = e ( G , H ) k + s r = V u
Then, the verifier can output T r u e with probability:
Pr [ P ( e ) , V ( S ) = T r u e | e S ] = Pr [ e ( E i k , H ) · e ( G s r , H ) · e ( W k , H S ) = V u | e S ] = 1 .
(2) Negative Completeness: When e i S ¯ , we have the following equation:
e ( E i k , H ) · e ( G s r , H ) · e ( G S , W k ) = e ( G x i · k γ + x i , H ) · e ( G s r , H ) · e ( G S , H S + k ) = e ( G x i · k γ + x i , H ) · e ( G s r , H ) · e ( G f S ( γ ) , H k g S ( γ ) · ( γ + x i ) ) = e ( G , H ) k + s r = V u
Then, the verifier can output F a l s e with probability:
Pr [ P ( e ) , V ( S ) = F a l s e | e S ¯ ] = Pr [ e ( E i k , H ) · e ( G s r , H ) · e ( G S , W k ) | e S ¯ ] = 1 .
(3) Soundness: Before proving the soundness of the proposed protocol, we firstly define the following events.
  • Event A 1 denotes P * ( e * ) , V ( S ) = T r u e .
  • Event A 2 denotes P * ( e * ) , V ( S ) = F a l s e .
  • Event A denotes A 1 A 2 .
  • Event B 1 denotes e * S .
  • Event B 2 denotes e * S ¯ , i.e., ( e * S ) ( e * U ) .
  • Event B denotes e * U , i.e., B is the joint of events B 1 and B 2 , B = B 1 B 2 .
In this case, A 1 and A 2 are mutual exclusive events, i.e., A 1 A 2 = , the Equation (37) can be written as:
Pr [ P * ( e * ) , V ( S ) = T r u e F a l s e | e * U ] = Pr [ A | B ] = Pr [ ( A 1 A 2 ) | B ] = Pr [ ( A 1 A 2 ) B ] Pr [ B ] = Pr [ ( A 1 B ) ( A 2 B ) ] Pr [ B ] = Pr [ A 1 B ] + Pr [ A 2 B ] Pr [ B ] .
For any e * U , we get Pr [ B ] = 1 . Thus, the above equation:
Pr [ A | B ] = ( Pr [ A 1 B ] + Pr [ A 2 B ] ) / Pr [ B ] = Pr [ A 1 B 1 B 2 ] + Pr [ A 2 B 1 B 2 ] Pr [ A 1 B 1 ] + Pr [ A 2 B 2 ] .
Let Pr [ A 1 B 1 ] = ϵ 1 and Pr [ A 2 B 2 ] = ϵ 2 . Assuming that both ϵ 1 and ϵ 2 are neglectable, then Pr [ A | B ] is also neglectable. In this case, the soundness of our protocol can be proven. In the following, we show that the above assumption is correct, i.e., both Pr [ A 1 B 1 ] = ϵ 1 and Pr [ A 2 B 2 ] = ϵ 2 are neglectable.
Proof. 
For any e * U , we have Pr [ B 1 ] = 1 and Pr [ A 1 B 1 ] = Pr [ A 1 | B 1 ] Pr [ B 1 ] = Pr [ A 1 | B 1 ] . Thus, we have:
Pr [ A 1 B 1 ] = Pr [ A 1 | B 1 ] = Pr [ P ( e * ) , V ( S ) = True | e * S ] = Pr [ T = e ( W k , H S ) | e * S ] = ϵ 1 .
  
We prove that the verifier accepts the positive verification with probability ϵ 1 for the given e * S . It means that a PPT adversary A can forge W to make the verifier successfully verify T = e ( W k , H S ) with probability ϵ 1 . We know that H S = H 1 f S ( γ ) is an assured and unchanged value. This means that the adversary A can forge a valid W to meet the equation: Pr [ T = e ( W k , H S ) ] = Pr [ V u / e ( E * k , H ) e ( G s r , H ) = e ( W k , H S ) ] . Without loss of generality, let W = G z , so we have the following probability.
Pr [ T = e ( W k , H S ) ] = Pr [ V u / e ( E * k , H ) e ( G s r , H ) = e ( W k , H S ) ] = Pr [ V u = e ( W k , H S ) · e ( E * k , H ) · e ( G s r , H ) ] = Pr [ e ( G , H ) k + s r = e ( W k , H 1 f S ( γ ) ) · e ( G x * k γ + x * , H ) · e ( G s r , H ) ] = W = G z Pr e ( G , H ) k + s r = e ( G , H ) z k f S ( γ ) + x * k γ + x * + s r | G z A ( m p k , e * , S ) · Pr [ G z A ( m p k , e * , S ) ] = Pr A ( m p k , e * , S ) G z = G γ f S ( γ ) γ + x * = Pr [ A ( m p k , e * , S ) = G S | e * S ] = ϵ 1 .
In the above equation, we require z k f S ( γ ) + x * k γ + x * = k to make:
Pr e ( G , H ) u = e ( G , H ) z k f S ( γ ) + x * k γ + x * + s r = 1 ,
such that z = γ f S ( γ ) γ + x * and G S = G z = W . If the probability ϵ 1 is non-neglectable, this means that the adversary A can secure zeros-based aggregation with a non-neglectable advantage ϵ 1 , that is contradictory to the Theorem 1. Thus, ϵ 1 is neglectable.
For any e * U , we have Pr [ B 2 ] = 1 and Pr [ A 2 B 2 ] = Pr [ A 2 | B 2 ] Pr [ B 2 ] = Pr [ A 2 | B 2 ] , so that we have the probability:
Pr [ A 2 B 2 ] = Pr [ A 2 | B 2 ] = Pr [ P ( e * ) , V ( S ) = False | e * S ¯ ] = Pr [ T = e ( G S , W k ) | e * S ¯ ] = ϵ 2 .
We next prove that the verifier accepts the negative verification with probability ϵ 2 for given e * S ¯ , i.e., e * S or e * U . It means that a PPT adversary A can forge W to make the verifier successfully verify T = e ( G S , W k ) with probability ϵ 2 . We know that G S = G γ f S ( γ ) is an assured and unchanged value. This means that the adversary A can forge a valid W to meet the equation: Pr [ T = e ( G S , W k ) ] = Pr [ V u / e ( E * k , H ) e ( G s r , H ) = e ( G S , W k ) ] . Without loss of generality, let W = H z , that we have the following probability.
Pr T = e ( G S , W k ) = Pr V u / e ( E * k , H ) e ( G s r , H ) = e ( G S , W k ) = Pr V u = e ( G S , W k ) · e ( E * k , H ) · e ( G s r , H ) = Pr [ e ( G , H ) k + s r = e ( G γ f S ( γ ) , W k ) · e ( G x * k γ + x * , H ) · e ( G s r , H ) ] = W = H z Pr e ( G , H ) k + s r = e ( G , H ) γ f S ( γ ) z k + x * k γ + x * + s r | G z A ( m p k , e * , S ) · Pr G z A ( m p k , e * , S ) = Pr A ( m p k , e * , S ) H z = H 1 ( γ + x * ) f S ( γ ) = Pr A ( m p k , e * , S ) = H S + | e * S ¯ = ϵ 2 .
In this equation, we require γ f S ( γ ) z k + x * k γ + x * = k to make:
Pr e ( G , H ) k = e ( G , H ) z k γ f S ( γ ) + x * k γ + x * = 1 ,
such that z = 1 ( γ + x * ) f S ( γ ) and H S = H z = W . For any e * S ¯ ( e * S or e * U ) the Equation (50) holds. If e * S and the probability ϵ 2 is non-neglectable, this means that the adversary A can break secure poles-based aggregation with a non-neglectable advantage ϵ 2 , that is contradictory to the Theorem 2. Thus, ϵ 2 is neglectable.
Therefore, ϵ 1 and ϵ 2 are neglectable, so Pr [ A | B ] ϵ 1 + ϵ 2 is also neglectable, it means that:
Pr [ P * ( e * ) , V ( S ) = T r u e F a l s e | e * U ] ϵ 1 + ϵ 2 .
The soundness of our ZKDMP protocol is proved.    □
(4) Zero-knowledge: The zero-knowledge of our membership decision protocol implies that the verifier cannot learn any information of the tested element e beyond that e S , e S ¯ or e U .
Theorem 5.
The proposed dual membership decision is a zero-knowledge proof protocol.
Proof. 
Let V i e w V * ( e i ) be the output of the interactive proof system in V * view on common input e i , the distribution of V i e w V * ( e i ) during the correct executing of our protocol can be denoted as:
V i e w V * ( e i ) = { P , V * ( e i ) } = { Y , S , r , W k , u } R { G T , P ( U ) , Z p * , G , Z p * } .
In the above equation, Y = e ( E i k , H ) and P ( U ) is the power set of U . Next, we construct the PPT machine M * as follows.
  • Randomly pick a subset S R P ( U ) .
  • Randomly pick r R Z p * .
  • Randomly pick W R G , k R Z p * , then it computes W k and u = k + r s .
  • Compute Y as follows:
    Y = V u e ( G S r , H ) · e ( W k , H S ) e i S , V u e ( G S r , H ) · e ( G S , W k ) e i S ¯ , y e i U .
In the above equation, y is a random element chosen in G T . Obviously, the above construction M * ( e ) = { Y , S , r , W k , u } is a valid protocol simulation. Y has always been a random element in G T no matter e i S , e i S ¯ or e i U . Therefore, we have M * ( e i ) R { G T , P ( U ) , Z p * , G , Z p * } and { P , V * ( e i ) } { M * ( e i ) } . Thus, the zero-knowledge property of our ZKDMP protocol is proved.    □

7. Performance Evaluation

As shown in Table 3, the comparisons of computation and communication overheads are provided between four existing zero-knowledge membership proof protocols [24,25,28,34] and ours. In this paper, n, E G and E G T denote the number of elements in S , exponentiation operations in G and G T , respectively. M G and D G are multiplication and devision operations in G . M G T and B are multiplication operation in G T and the bilinear pairing operation, respectively. The lengths of elements in G , G T and Z p * are defined as l G , l G T and l Z p * , respectively. In addition, the operations in Z p * , multiplication in G and hash take less time than the other operations, we neglect them in our evaluation.
In terms of computation overheads, the prover’s costs in [24,28,34] are constants. However, computation costs of the verifier are linear with the number of elements in the subset. In our protocol, for positive membership decisions, i.e., e i S , the prover’s computation cost is exponential with the number of elements in S ; for negative membership decisions, i.e., e i S , the prover’s computation overheads are linear with the number of elements in S . However, the computation costs of our verifier is constant for either the positive or negative set membership. Furthermore, let us turn our attention to communication costs. Obviously, in Table 3, all of the provers’ communication costs are constants in [24,28,34] and ours, while that of the verifiers are linear with the number of elements in the subset.
In order to evaluate the performance of membership decision protocols in [24,25,28,34] and ours, we implement them based on the Java Pairing Based Cryptography Library (JPBC) and IntelliJ IDEA 2020.3.3. All programs run on a 64-bit Windows 10 PC with Intel Core i5-4590S processor (Qual Core, 3.00 GHz). Moreover, we choose the SHA-256 cryptographic algorithm as the hash function in our experiments. Let the tested set, U = { e 1 , e 2 , , e 150 } , be any e i in a random arbitrary-length string, i.e., e i { 0 , 1 } * . Note that in order to reduce the experimental error, all of our experiments are repeated 100 times arithmetically averaging the final results. The simulation parameters are shown in Table 4.
As shown in Figure 5, we compare the computation overheads of these protocols in the experiments. From Figure 5a, it is obvious that the time costs of the prover in the negative membership decision in our protocol is more expensive than those of the others. The reason is that the prover in our interactive protocol will compute the poles-based aggregation function, which requires a lot of exponentiation operations in G . In our positive membership decision, the time costs of the prover are similar to that in [25], which is higher than that in [24,28,34]. In the other hand, as shown in Figure 5b, the time costs of our verifier are constant and less than that of the other four protocols, which are consistent with the theoretical analysis.
By using the aforementioned setup and tools, we simulate the aggregation algorithms (see [31]) and show the results of experiments in Figure 6. As shown in this figure, our poles-based aggregation takes longer than the zeros-based aggregation for the same number of elements in the subset. This is because, the PoleAggr needs to perform more exponential operations than that of ZeroAggr and this operation is more time-consuming than others. Specifically, in the PoleAggr, the number of exponential operations is exponentially related to the number of subset elements, however, that of ZeroAggr is linear with the number of subset elements.
Our ZKDMP is executed by a three-move interaction between a prover and a verifier. In order to clearly describe the protocol, we split the interaction into three functions, i.e., C o m m i t , R e s p o n d and V e r i f y . Specifically, the first two functions are run by the prover and the last one is by the verifier. The details of these three functions are described in Algorithms 1 and 2. The pseudocodes of our protocol is provided in Algorithm 3. It is not difficult to see that three aforementioned functions are simple and concise. Therefore, our ZKDMP protocol (Algorithm 4) has a simple and easy-to-understand structure.
Algorithm 1: C o m m i t ( e i , m s k , m p k )
1:
randomly pick k , s Z p *
2:
x i H a s h ( e i )
3:
E i G x i γ + x i
4:
c o m m ( e ( E i k , H ) , G s )
Algorithm 2: R e s p o n d ( e i , r , S , m s k , m p k )
1:
if e i S then
2:
    W P o l e A g g r ( m p k , S )
3:
else
4:
    W Z e r o A g g r ( m p k , S + )
5:
end if
6:
u k + s r
7:
r e s p ( W k , u )
Algorithm 3: V e r i f y ( r e s p , c o m m , S , m p k )
1:
T e ( G , H ) u e ( E i k , H ) e ( G S r , H )
2:
if T = e ( W k , H S ) then
3:
    o u t T r u e   T = e ( W k , G S )
4:
    o u t F a l s e
5:
else
6:
    o u t
7:
end if
Algorithm 4: Z K D M P ( e i , S , r e s p , c o m m , m p k )
1:
Prover runs C o m m i t ( e i , m s k , m p k ) and sends c o m m to Verifier
2:
Verifier randomly picks r Z p * and subset S and sends them to Prover
3:
Prover runs R e s p o n d ( e i , r , S , m s k , m p k ) and sends r e s p to Verifier
4:
Verifier runs V e r i f y ( r e s p , c o m m , m p k ) and outputs o u t
Moreover, we implement our ZKDMP and evaluate the overheads of the Setup and three stages in the interactive protocol, including initial, interactive-proof and verification. As shown in Figure 7, the time costs of the Setup, initial and verification are constants. In the interactive-proof stage, the main overheads come from the calculation of the aggregation functions. Specifically, the time costs of the positive set membership is exponential with the number of elements in S , that of negative set membership is linear with the number of elements in S .

8. Conclusions

In this paper, we focus on the cryptographic principle and construction for secure membership decision in set theory. Firstly, we formalize the security of the aggregator, and then use ZeroAggr and PoleAggr to compress an arbitrary-size subset into an element in the cryptospace for achieving the secure representation of the subset. Secondly, this paper provides the concept of SDM and uses the zeros-based and poles-based secure representation of the subset to decide the Pos-and-Neg membership, respectively. Finally, we propose the ZKDMP protocol for supporting strict Pos-and-Neg membership decisions. In addition, our aggregation functions are proved to be secure under the t-SDH assumption and the proposed ZKDMP protocol has positive completeness, negative completeness, soundness and zero-knowledge. Moreover, the performance evaluation shows that the ZKDMP protocol has a simple and easy-to-understand structure. In future work, the aggregation complexity will be optimized, i.e., parallelized algorithm, to improve the decision efficiency of the ZKDMP protocol. On the other hand, the secure aggregation functions should be widely applied to construct other cryptosystems, such as attribute-based encryption, broadcast encryption and role-based encryption.

Author Contributions

Formal analysis, H.Y.; Funding acquisition, Y.Z.; Methodology, Y.Z.; Software, H.Y.; Supervision, R.F. and S.S.Y.; Validation, H.Y. and E.C.; Writing—original draft, H.Y.; Writing—review & editing, H.Y. and E.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Key Technologies Research and Development Programs of China grant number 2018YFB1402702; and the National Natural Science Foundation of China grant number 61972032.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

References

  1. Beaubouef, T.; Petry, F.E. Uncertainty modeling for database design using intuitionistic and rough set theory. J. Intell. Fuzzy Syst. 2009, 20, 105–117. [Google Scholar] [CrossRef]
  2. Dagdia, Z.C.; Zarges, C.; Beck, G.; Lebbah, M. A scalable and effective rough set theory-based approach for big data pre-processing. Knowl. Inf. Syst. 2020, 62, 3321–3386. [Google Scholar] [CrossRef]
  3. Yang, G.; Yu, S. Synthesized fault diagnosis method reasoned from rough set-neural network and evidence theory. Concurr. Comput. Pract. Exp. 2019, 31, e4944. [Google Scholar] [CrossRef]
  4. Peng, K.; Bao, F. Efficiency Improvement of Homomorphic E-Auction. In Proceedings of the Trust, Privacy and Security in Digital Business—TrustBus 2010, Bilbao, Spain, 30–31 August 2010; pp. 238–249. [Google Scholar] [CrossRef]
  5. Acar, T.; Nguyen, L. Revocation for Delegatable Anonymous Credentials. In Proceedings of the Public Key Cryptography—PKC 2011, Taormina, Italy, 6–9 March 2011; pp. 423–440. [Google Scholar] [CrossRef]
  6. Bayer, S.; Groth, J. Zero-Knowledge Argument for Polynomial Evaluation with Application to Blacklists. In Proceedings of the Advances in Cryptology—EUROCRYPT 2013, Athens, Greece, 26–30 May 2013; pp. 646–663. [Google Scholar] [CrossRef]
  7. Benarroch, D.; Campanelli, M.; Fiore, D.; Gurkan, K.; Kolonelos, D. Zero-Knowledge Proofs for Set Membership: Efficient, Succinct, Modular. In Proceedings of the Financial Cryptography and Data Security—FC 2021, Virtual Event, 1–5 March 2021; pp. 393–414. [Google Scholar] [CrossRef]
  8. Bloom, B.H. Space/Time Trade-offs in Hash Coding with Allowable Errors. Commun. ACM 1970, 13, 422–426. [Google Scholar] [CrossRef]
  9. Benaloh, J.C.; de Mare, M. One-Way Accumulators: A Decentralized Alternative to Digital Sinatures. In Proceedings of the Advances in Cryptology—EUROCRYPT 1993, Lofthus, Norway, 23–27 May 1993; pp. 274–285. [Google Scholar] [CrossRef]
  10. Goldreich, O.; Micali, S.; Wigderson, A. Proofs that Yield Nothing but Their Validity or All Languages in NP Have Zero-Knowledge Proof Systems. J. ACM 1991, 38, 690–728. [Google Scholar] [CrossRef] [Green Version]
  11. Dwivedi, A.D.; Singh, R.; Ghosh, U.; Mukkamala, R.R.; Tolba, A.; Said, O. Privacy preserving authentication system based on non-interactive zero knowledge proof suitable for Internet of Things. J. Ambient Intell. Human. Comput. 2021. [Google Scholar] [CrossRef]
  12. Robert, L.; Miyahara, D.; Lafourcade, P.; Libralesso, L.; Mizuki, T. Physical zero-knowledge proof and NP-completeness proof of Suguru puzzle. Inf. Comput. 2022, 285, 104858. [Google Scholar] [CrossRef]
  13. Camenisch, J.; Lysyanskaya, A. Dynamic Accumulators and Application to Efficient Revocation of Anonymous Credentials. In Proceedings of the Advances in Cryptology—CRYPTO 2002, Santa Barbara, CA, USA, 18–22 August 2002; pp. 61–76. [Google Scholar] [CrossRef]
  14. Micali, S.; Rabin, M.O.; Kilian, J. Zero-Knowledge Sets. In Proceedings of the Symposium on Foundations of Computer Science—FOCS 2003, Cambridge, MA, USA, 11–14 October 2003; pp. 80–91. [Google Scholar] [CrossRef]
  15. Nojima, R.; Kadobayashi, Y. Cryptographically Secure Bloom-Filters. Trans. Data Priv. 2009, 2, 131–139. [Google Scholar]
  16. Ramezanian, S. A Study of Privacy Preserving Queries with Bloom Filters. Master’s Thesis, Department of Mathematics and Statistics University of Turku, Turku, Finland, 2016. Available online: https://www.utupub.fi/bitstream/handle/10024/124123/gradu2016_Sara_Ramezanian.pdf (accessed on 6 May 2022).
  17. Papamanthou, C.; Tamassia, R.; Triandopoulos, N. Optimal Authenticated Data Structures with Multilinear Forms. In Proceedings of the Pairing-Based Cryptography—Pairing 2010, Yamanaka Hot Spring, Japan, 13–15 December 2010; pp. 246–264. [Google Scholar] [CrossRef]
  18. Papamanthou, C.; Tamassia, R.; Triandopoulos, N. Authenticated Hash Tables Based on Cryptographic Accumulators. Algorithmica 2016, 74, 664–712. [Google Scholar] [CrossRef]
  19. Derler, D.; Hanser, C.; Slamanig, D. Revisiting Cryptographic Accumulators, Additional Properties and Relations to Other Primitives. In Proceedings of the Topics in Cryptology—CT-RSA 2015, San Francisco, CA, USA, 20–24 April 2015; pp. 127–144. [Google Scholar] [CrossRef]
  20. Ghosh, E.; Ohrimenko, O.; Papadopoulos, D.; Tamassia, R.; Triandopoulos, N. Zero-Knowledge Accumulators and Set Operations. IACR Cryptol. ePrint Arch. 2015, 2015, 404. Available online: https://eprint.iacr.org/2015/404 (accessed on 5 May 2022).
  21. Li, J.; Li, N.; Xue, R. Universal Accumulators with Efficient Nonmembership Proofs. In Proceedings of the Applied Cryptography and Network Security—ACNS 2007, Zhuhai, China, 5–8 June 2007; pp. 253–269. [Google Scholar] [CrossRef]
  22. Damgård, I.; Triandopoulos, N. Supporting Non-membership Proofs with Bilinear-map Accumulators. IACR Cryptol. ePrint Arch. 2008, 2008, 538. Available online: http://eprint.iacr.org/2008/538 (accessed on 3 May 2022).
  23. Yu, Z.; Au, M.H.; Yang, R.; Lai, J.; Xu, Q. Lattice-Based Universal Accumulator with Nonmembership Arguments. In Proceedings of the Information Security and Privacy—ACISP 2018, Wollongong, Australia, 11–13 July 2018; pp. 502–519. [Google Scholar] [CrossRef]
  24. Camenisch, J.; Chaabouni, R.; Shelat, A. Efficient Protocols for Set Membership and Range Proofs. In Proceedings of the Advances in Cryptology—ASIACRYPT 2008, Melbourne, Australia, 7–11 December 2008; pp. 234–252. [Google Scholar] [CrossRef] [Green Version]
  25. Peng, K.; Bao, F. Improving Applicability, Efficiency and Security of Non-Membership Proof. In Proceedings of the International Symposium on Data, Privacy, and E-Commerce—ISDPE 2010, Buffalo, NY, USA, 13–14 September 2010; pp. 39–44. [Google Scholar] [CrossRef]
  26. Guo, F.; Mu, Y.; Susilo, W.; Varadharajan, V. Membership Encryption and Its Applications. In Proceedings of the Information Security and Privacy—ACISP 2013, Brisbane, Australia, 1–3 July 2013; pp. 219–234. [Google Scholar] [CrossRef]
  27. Guo, F.; Mu, Y.; Susilo, W. Subset Membership Encryption and Its Applications to Oblivious Transfer. IEEE Trans. Inf. Forensics Secur. 2014, 9, 1098–1107. [Google Scholar] [CrossRef]
  28. Arfaoui, G.; Lalande, J.; Traoré, J.; Desmoulins, N.; Berthomé, P.; Gharout, S. A Practical Set-Membership Proof for Privacy-Preserving NFC Mobile Ticketing. Proc. Priv. Enhancing Technol. 2015, 2015, 25–45. [Google Scholar] [CrossRef]
  29. Baza, M.; Lasla, N.; Mahmoud, M.M.E.A.; Srivastava, G.; Abdallah, M. B-Ride: Ride Sharing With Privacy-Preservation, Trust and Fair Payment Atop Public Blockchain. IEEE Trans. Netw. Sci. Eng. 2021, 8, 1214–1229. [Google Scholar] [CrossRef]
  30. Locher, P.; Haenni, R. Verifiable Internet Elections with Everlasting Privacy and Minimal Trust. In Proceedings of the E-Voting and Identity—VoteID 2015, Bern, Switzerland, 2–4 September 2015; pp. 74–91. [Google Scholar] [CrossRef]
  31. Zhu, Y.; Wang, X.; Ma, D.; Guo, R. Identity-Set-based Broadcast Encryption supporting “Cut-or-Select” with Short Ciphertext. In Proceedings of the Asia Conference on Computer and Communications Security—ASIA CCS 2015, Singapore, 14–17 April 2015; pp. 191–202. [Google Scholar] [CrossRef]
  32. Boneh, D.; Boyen, X. Short Signatures without Random Oracles and the SDH Assumption in Bilinear Groups. J. Cryptol. 2008, 21, 149–177. [Google Scholar] [CrossRef]
  33. Sahai, A.; Vadhan, S.P. A complete problem for statistical zero knowledge. J. ACM 2003, 50, 196–249. [Google Scholar] [CrossRef]
  34. Morais, E.; Koens, T.; van Wijk, C.; Koren, A. A Survey on Zero Knowledge Range Proofs and Applications. SN Appl. Sci. 2019, 1, 946. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Cryptographic representation of subset and aggregation function. (a) Map e i to a random point in a cryptographic space. (b) Curve c ( x ) through random points mapped from elements in S . (c) an encapsulation of the point ( γ , c ( γ ) ) . (d) Two security features of the aggregate function.
Figure 1. Cryptographic representation of subset and aggregation function. (a) Map e i to a random point in a cryptographic space. (b) Curve c ( x ) through random points mapped from elements in S . (c) an encapsulation of the point ( γ , c ( γ ) ) . (d) Two security features of the aggregate function.
Mathematics 10 03217 g001
Figure 2. The diagram of the secure decision of positive membership.
Figure 2. The diagram of the secure decision of positive membership.
Mathematics 10 03217 g002
Figure 3. Diagram of secure decision of negative membership.
Figure 3. Diagram of secure decision of negative membership.
Mathematics 10 03217 g003
Figure 4. The proposed zero-knowledge dual membership proof protocol.
Figure 4. The proposed zero-knowledge dual membership proof protocol.
Mathematics 10 03217 g004
Figure 5. Time overheads comparison between existing four protocols and ours. (a) The time costs of the prover. (b) The time costs of the verifier [24,25,28,34].
Figure 5. Time overheads comparison between existing four protocols and ours. (a) The time costs of the prover. (b) The time costs of the verifier [24,25,28,34].
Mathematics 10 03217 g005
Figure 6. The computation time of our aggregation algorithms.
Figure 6. The computation time of our aggregation algorithms.
Mathematics 10 03217 g006
Figure 7. The computation time of our ZKDMP.
Figure 7. The computation time of our ZKDMP.
Mathematics 10 03217 g007
Table 1. Comparison between related literature and our protocol.
Table 1. Comparison between related literature and our protocol.
LiteratureTechnologyDecision ModeZero-KnowledgeHardness Assumption
Benarroch et al. [7]Merkle treesDual membershipYes
Ramezanian [16]Bloom filterMembershipNoRSA
Papamanthou et al. [17]CAMembershipNoq-SMDH
Damgård et al. [22]CANon-membershipNot-SDH
Camenisch et al. [24]Digital signature, CAMembershipYesq-SDH, RSA
Peng et al. [25]CommitmentNon-membershipYessRSA
ZKDMPAggregation functionsDual membershipYest-SDH
Table 2. Notation table.
Table 2. Notation table.
SymbolDescription
P ( U ) the power set of the set U
A a probabilistic polynomial-time adversary
R e a cryptographic representation of element e
C S a cryptographic representation of set S
Bbilinear pairing operation
e ( · , · ) a bilinear mapping
PPTprobabilistic polynomial-time
S ¯ the relative complement of S in U , U S
ZeroAggrzeros-based aggregation
PoleAggrpoles-based aggregation
Table 3. Computation and communication overheads of related protocols and ours.
Table 3. Computation and communication overheads of related protocols and ours.
Computation OverheadsCommunication Overheads
ProtocolProverVerifierProverVerifier
[24] 3 E G + M G + 2 E G T + M G T + 2 B ( n + 4 ) E G + 2 M G + 3 E G T + 2 M G T + 3 B 2 l G + l G T + 3 l Z p * ( n + 1 ) l G + l Z p *
[25] n E G 2 n E G + n M G n l G + 4 n l Z p * n l G
[28] 9 E G + 4 M G ( n + 7 ) E G + 4 M G 4 l G + 4 l Z p * n l G + l Z p *
[34] 4 E G + M G + 2 E G T + M G T + 2 B ( n + 6 ) E G + 3 M G + 3 E G T + 2 M G T + 3 B 2 l G + l G T + 3 l Z p * ( n + 1 ) l G
Our protocol n 2 + n 2 + 2 E G + n 2 + n 2 D G + B   for e i S ;
( n + 1 ) E G + ( n 1 ) M G + B   for e i S
E G T + M G T + 3 B 2 l G + l G T + l Z p * ( n + 1 ) l Z p *
Table 4. Parameters setting.
Table 4. Parameters setting.
Simulation ParametersValue
Security strength128 bit
The type of the pairingType-A
Elliptic curve y 2 = x 3 + x
The order of the pairing group160 bit
Warm Up5 rounds
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yin, H.; Chen, E.; Zhu, Y.; Feng, R.; Yau, S.S. An Efficient Zero-Knowledge Dual Membership Proof Supporting Pos-and-Neg Membership Decision. Mathematics 2022, 10, 3217. https://doi.org/10.3390/math10173217

AMA Style

Yin H, Chen E, Zhu Y, Feng R, Yau SS. An Efficient Zero-Knowledge Dual Membership Proof Supporting Pos-and-Neg Membership Decision. Mathematics. 2022; 10(17):3217. https://doi.org/10.3390/math10173217

Chicago/Turabian Style

Yin, Hongjian, E Chen, Yan Zhu, Rongquan Feng, and Stephen S. Yau. 2022. "An Efficient Zero-Knowledge Dual Membership Proof Supporting Pos-and-Neg Membership Decision" Mathematics 10, no. 17: 3217. https://doi.org/10.3390/math10173217

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop