Next Article in Journal
Deep Learning-Based Real-Time Multiple-Object Detection and Tracking from Aerial Imagery via a Flying Robot with GPU-Based Embedded Devices
Previous Article in Journal
Channel Covariance Matrix Estimation via Dimension Reduction for Hybrid MIMO MmWave Communication Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Privacy-Preserving Multi-Receiver Certificateless Broadcast Encryption Scheme with De-Duplication

1
School of Information Sciences and Technology, North China University of Technology, Beijing 100144, China
2
National Engineering Laboratory for Big Data Collaborative Security Technology, Beijing 100015, China
3
Guangxi Key Laboratory of Cryptography and Information Security, Guilin 541004, China
4
College of Sciences, North China University of Technology, Beijing 100144, China
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Sensors 2019, 19(15), 3370; https://doi.org/10.3390/s19153370
Submission received: 24 April 2019 / Revised: 12 July 2019 / Accepted: 23 July 2019 / Published: 31 July 2019
(This article belongs to the Section Internet of Things)

Abstract

:
Nowadays, the widely deployed and high performance Internet of Things (IoT) facilitates the communication between its terminal nodes. To enhance data sharing among terminal devices and ensure the recipients’ privacy protection, a few anonymous multi-recipient broadcast encryption (AMBE) proposals are recently given. Nevertheless, the majority of these AMBE proposals are only proven be securely against adaptively chosen plain-text attack (CPA) or selectively chosen ciphertext attack (CCA). Furthermore, all AMBE proposals are subjected to key escrow issue due to inherent characteristics of the ID-based public cryptography (ID-PKC), and cannot furnish secure de-duplication detection. However, for cloud storage, it is very important for expurgating duplicate copies of the identical message since de-duplication can save the bandwidth of network and storage space. To address the above problems, in the work, we present a privacy-preserving multi-receiver certificateless broadcast encryption scheme with de-duplication (PMCBED) in the cloud-computing setting based on certificateless cryptography and anonymous broadcast encryption. In comparison with the prior AMBE proposals, our scheme has the following three characteristics. First, it can fulfill semantic security notions of data-confidentiality and receiver identity anonymity, whereas the existing proposals only accomplish them by formalizing the weaker security models. Second, it achieves duplication detection of the ciphertext for the identical message encrypted with our broadcast encryption. Finally, it also avoids the key escrow problem of the AMBE schemes.

1. Introduction

With development of various Internet of Things (IoT) applications, the communication amongst smart IoT devices has become more and more frequent and convenient. As an important one-to-many communication model, broadcast encryption (BE, for short), which was first formally proposed by Amos Fiat and Moni Naor [1], allows for the broadcaster to deliver the encrypted data to the authorized subset S of the receivers that are monitoring the broadcast channel. In addition, only the receivers that belong to the subset S can recover the message by their private key, while the other receivers outside of S can obtain no information about the delivered data. In general, broadcast encryption is capable of saving more computational complexity and communication overhead than traditional encryption in the peer-to-peer model. Therefore, it has very important applications in communications field [2,3] and IoT [4], etc.
However, IoT devices have some non-negligible vulnerabilities during data sharing and anonymity protection [5,6,7]. At the same time, anonymity is also an important security property in BE schemes, which indicates that any receiver is unable to gain any information of the other receivers’ identity from the ciphertexts. Let us consider an example: a user wants to share some sensitive files with its friends in the cloud; for individual privacy, the user does not want its friends to learn about the others’ identity because they might be the opponent. This problem is very similar to blind carbon copy (BCC) in the email system. To solve this problem, many cryptographers have given many solutions, for instance, Bellare et al.’s public key encryption with key-privacy [8], ciphertext-policy attribute-based encryption with hidden-policy [9], anonymous identity-based encryption [10], anonymous broadcast encryption [11,12,13], and anonymous Certificate-Based Encryption [14,15], where anonymous broadcast encryption is the most efficient method in the multi-user setting. In the cloud environment, anonymity is more important due to its openness. Thus, many applications in keyword search and data retrieval [16,17,18] have considered how to achieve strong anonymity in their schemes. The existing anonymous broadcast encryption schemes are classified into two types, one type is based on public key certificate, and the other type is based on ID-based cryptography. Attribute-based encryption provides scalable encryption while supporting anonymity for users in the same group, that is, with the same attributes [19,20]. They have also been applied widely in cloud computing to support access control for data sharing [21]. However, because of the open problem of revocation in attribute-based encryption, it still suffers from the user revocation in practical application [22,23,24]. Some of the corresponding data could easily be recovered from IoT devices by using forensic techniques [25,26]. Fortunately, Antonis Michalas et al. recently proposed two hybrid encryption schemes [27,28] which can solve the open problem of revocation in attribute-based encryption.
Although cloud storage servers have abundant storage space, the identical data’s different encryption can result in multi-replica; this not only wastes space, but also brings a heavy burden on data maintenance. To save the storage space across multiple users in the cloud storage service, de-duplication is an important candidate technique. However, not all of the public encryption schemes can directly support the de-duplication of the ciphertext since random numbers are introduced in the encrypting process. The convergent encryption and the related security definition have been formalized for addressing the de-duplication of ciphertext [29]. Because random numbers are introduced in the encryption algorithm, it is very difficult that the existing anonymous multi-receiver ID-based broadcast encryption schemes (AMIBE) directly support the de-duplication of ciphertext. To overcome the above de-duplication problem, in this work, we propose a secure Privacy-preserving Multi-receiver Certificateless Broadcast Encryption Scheme with De-duplication. Our construction is characterised as follows: firstly, it is the first anonymous certificateless broadcast encryption scheme with de-duplication; secondly, it is capable of simultaneously achieving confidentiality and anonymity of the receivers’ identities under adaptive CCA security. Thirdly, the key escrow problem does not exist.

2. Related Works

In 2006, Barth et al. presented the first public key cryptography-based anonymous BE scheme with chosen-ciphertext security [11]. However, the complexity of decryption linearly grows with the size of the set of the receivers. In 2012, Libert et al. put forth a fully anonymous BE scheme with adaptive chosen-ciphertext security with the random oracle model [30]. Subsequently, Fazio et al. proposed two sublinear ciphertext-size anonymous broadcast encryption schemes in [31] which are proven to be securely against adaptive CPA and adaptive CCA in the standard security model, respectively. In 2007, Delerablee constructed a constant-size ciphertext BE scheme [32]; however, the receivers’ public keys need to be attached in the ciphertext. Until now, the PKC-based anonymous broadcast encryption scheme can achieve constant ciphertext and resist adaptive chosen-ciphertext attack (CCA) in the standard-security model.
ID-based BE (IBBE) is an extension of broadcast encryption in the ID-PKC system [33] in which the user’s public key is replaced with the user’s identity. It simplifies public key management and eliminates the public key certificate. To furnish anonymity protection of the receiver’s identity, the first anonymous multi-receiver identity-based broadcast encryption (AMIBE) scheme [12] was introduced. Nevertheless, their scheme was shown to be insecure by Wang et al. [34] and Chien [35] since it can not achieve anonymity protection of the receiver’s identity, whereafter, Wang et al. also presented a modified proposal to fulfill the anonymity of the receiver’s identity in [34]. Very regretfully, Wang et al.’s modified proposal was pointed to be insecure by Zhang et al. in [36]. In 2018, Tseng et al. presented an improved vision of Fan et al.’s AMIBE by revising receiver anonymity’s security definition in [37] and their scheme was shown to be secure in the random oracle model. In Asia-CCS16, based on the multilinear map, Xu et al. gave an AMIBE scheme which is against anonymity attacks and chosen-plaintext attacks in the standard model [38,39]. However, all multilinear map candidates are broken [40]; thus, their proposal is infeasible in reality. Recently, He et al. proposed an ID-based anonymous BE scheme that can concurrently achieve data indistinguishability and anonymity of the receiver identities under the adaptively chosen ciphertext attacks [41].
ID-based cryptographic protocols cut out complex maintenance of certificates; however, an inherent problem called “key escrow” exists. This problem can make the PKG be able to execute any cryptographic operation in the name of users since it knows all users’ private keys. Thus, the problem might result in potential security threats for the ID-based crypto-system. To avoid the key escrow problem, Al-Riyami and Paterson gave a variant of ID-based PKC: certificateless cryptography in [42]. Not only do the advantages of ID-based cryptography remain, but they also prevent the key escrow problem of ID-based PKC. In 2004, Yum et al. presented a general construction construction of certificateless encryption (CLE) [43]. Unfortunately, Yum et al.’s scheme was shown to be insecure by Libert et al. in [44] since it does not satisfy CCA security of CLE. In addition, therewith, Libert et al. put forward a novel construction of CLE achieving CCA security.
Recently, lIslam et al. put forward a pairing-free anonymous multi-receiver certificateless encryption scheme (AMCLE, for short) by combining AMIBE with CLE in [45]. Their scheme can achieve receivers’ anonymity and the ciphertext length is linear with the number of the authorized receivers. When more than one person sends the same data, it will bring a heavy burden to the receivers for data storage. Thus, de-duplication is a wise choice to address the growing demand for storage.
To reconcile de-duplication, Douceur et al. presented a method convergent encryption (CE) [46], which is a deterministic symmetric encryption with secret key H ( m ) . If two users Alice and Bob encrypt the same plaintext m, they can obtain the same ciphertext C = E H ( m ) ( m ) . Its attractive merit makes it be applied in some commercial system. However, it lacks the detailed security analysis and it is not explicit what its basic security goal precisely is. To solve de-duplication of the identical message which is encrypted under the different secret keys, Bellare et al. put forth a novel notion Message-Locked Encryption (MLE) [47]. However, MLE is only capable of providing security of unpredictable data. Recently, Bellare et al. proposed an Interactive message-locked encryption and secure de-duplication [48] which can solve the correlated message’s security problem. Until now, numerous secure de-duplication schemes have been presented for settling data de-duplication in cloud [49,50,51].

3. Preliminaries

3.1. Bilinear Groups

Throughout the paper, we only consider a Type 2 pairing since our scheme is based on such construction. In the following, we review some concepts of such bilinear group pair.
  • G 1 and G 2 denote two additional groups of the same prime p; G T denotes a multiplicative group. In addition, it is deemed to be hard for solving the discrete logarithm problem in group G i , i { 1 , 2 , T } .
  • P i denotes the generator of group G i , for i { 1 , 2 } .
  • Let φ : G 2 G 1 be a computable isomorphism map which satisfies φ ( P 2 ) = P 1 ; and
  • Let e ^ : G 1 × G 2 G T denote a computable bilinear map, which meets the following criteria:
    • Bilinearity: For arbitrary a , b Z p and all Q G 1 , F G 2 , we have e ^ ( a Q , b F ) = e ^ ( Q , F ) a b ;
    • Non-degeneracy: e ^ ( P 1 , P 2 ) 1 .

3.2. Security Assumptions

In this subsection, we give several security assumptions [33,52] which are the security foundation to construct the proposed scheme.
ε -BDH-2 problem [33] in ( G 1 , G 2 ) . Given group elements a 1 P 2 , b 1 P 2 G 2 and c 1 P 1 G 1 , where P 2 G 2 , P 1 G 1 , and a 1 , b 1 , c 1 Z p * ; if there exists a PPT-algorithm A which takes ( P 1 , P 2 , a 1 P 2 , b 1 P 2 , c 1 P 1 ) as inputs and outputs, the Type 2 pairing X = e ( P 1 , P 2 ) a 1 b 1 c 1 G T . A ’s advantage is defined as
ε = P r [ e ( P 1 , P 2 ) a 1 b 1 c 1 A ( P 1 , P 2 , a P 2 , b P 2 , c 1 P 1 ) ] .
We think that ε -bilinear Diffie–Hellman problem in G 2 and G 1 holds against A if the algorithm A is not capable of obtaining e ^ ( P 1 , P 2 ) a 1 b 1 c 1 with a non-negligible probability greater than ε .
ε -BDDH-2 problem in ( G 1 , G 2 ) [33]. It is hard to distinguish the distributions D 1 = ( P 1 , P 2 , a 1 P 1 , b 1 P 1 , c 1 P 2 , e ( P 1 , P 2 ) a 1 b 1 c 1 ) and D 2 = ( P 1 , P 2 , a 1 P 1 , b 1 P 1 , c 1 P 2 , Z ) , where Z G T and a 1 , b 1 , c 1 R Z p . In general, D 1 is denoted as the BDDH tuple, and D 2 is called “random tuple”. For a PPT algorithm B , B ’s advantage of breaking the BDDH-2 problem in ( G 2 , G 1 ) is defined as
ε = | P r [ B ( P 1 , P 2 , a 1 P 1 , b 1 P 1 , c 1 P 2 , e ( P 1 , P 2 ) a 1 b 1 c 1 ) = 1 ] P r [ B ( P 1 , P 2 , a 1 P 1 , b 1 P 1 , c 1 P 2 , Z ) = 1 ] | .
We think that ε -decisional Bilinear Diffie–Hellman problem in ( G 2 , G 1 ) holds against B if the algorithm B is capable of distinguishing the difference of the above two distributions in a non-negligible probability ε > 1 / 2 .
The Computational Diffie–Hellman problem (CDH) in G 1 . Let ( P 1 , a 1 P 1 , b 1 P 1 ) G 1 3 be a random 3-tuple where a 1 , b 1 Z p ; there does not exist an efficient algorithm A that can calculate a b P 1 . A’s advantage of breaking the Computational Diffie–Hellman problem in G 1 is defined as
ε = P r [ A ( P 1 , a P 1 , b P 2 ) = a b P 1 ] .
We think that the CDH problem holds against A if the algorithm A is capable of outputting a 1 b 1 P 1 in a non-negligible probability ε .
The Decisional Diffie–Hellman problem (DDH) in G 1 . Given a 4-tuple ( P 1 , a 1 P 1 , b 1 P 1 , W ) G 1 where a 1 , b 1 Z p and W G 1 , there does not exist an efficient algorithm A that determines a 1 b 1 P 1 = W . A’s advantage of breaking the Decisional Diffie–Hellman problem in G 1 is defined as
ε = | P r [ A ( P 1 , a 1 P 1 , b 1 P 1 , a 1 b 1 P 1 ) = 1 ] P r [ A ( P 1 , a 1 P 1 , b 1 P 1 , W ) = 1 ] | .
We think that the DDH problem holds against A if the algorithm A is capable of distinguishing the difference of a 1 b 1 P 1 and W in a non-negligible probability ε > 1 / 2 .

4. Basic System Model and Security Model

4.1. System Model

According to the definitions of certificateless encryption and broadcast encryption, we give the basic system model of privacy-preserving multireceiver certificateless broadcast encryption with de-duplication (PMCBED) schemes. The PMCBED scheme mainly borrows the idea in [12,37,38] to achieve privacy protection of receiver identities in the certificateless broadcast encryption scheme and offer the ciphertext de-duplication function. Its framework is showed in Figure 1. It includes four entities: key generation center (KGC), the receivers, the broadcaster and the de-duplicator. Their detailed roles are shown as follows:
  • KGC: it is a trustworthy entity that is responsible for producing a partial private key of the receiver.
  • the Broadcaster: It is a sender of the message. It first selects a subset of the receivers and calculates the ciphertext of the transmitted message. Afterwards, it sends these ciphertexts to the de-duplicator.
  • The de-duplicator: It is an honest-but-curious entity. It can be acted on by the cloud server. Its goal is to check whether the received ciphertext has its replica existing in the cloud.
  • The Receiver: It is the receiver of the ciphertext, its goal is to decrypt the ciphertext. If and only if it is an authenticated receiver, then it can decrypt the ciphertext.
For a PMCBED scheme, it has eight algorithms: System-setup, Extract partial-private key, Set secret-value, Set-public-key, Set-private-key, Encryption, Decryption and Equality-test. For each algorithm, its detailed definition is given as follows:
  • System-setup ( 1 λ ) . λ is a security parameter, and this algorithm is run by a Key Generation Center (KGC) which takes as input λ , return the public parameters P P and the master secret key m s k of KGC. The public parameters P P should be published publicly.
  • Extract partial-private key ( m s k , I D ) . In general, this algorithm is run by KGC. It takes as inputs public parameters P P , master key m s k and a receiver’s identity I D , and outputs the partial-private key d I D of the receiver.
  • Set secret-value ( I D ) . The algorithm is run by the receiver. It takes as inputs public parameters P P and the identity I D of the receiver, and returns x I D as the receiver’s secret value.
  • Set private-key ( x I D , d I D ) : This algorithm is run by the receiver, it takes as inputs the partial-private key d I D and secret-value x I D of the receiver, and outputs private key S K I D = ( d I D , x I D ) of the receiver.
  • Set public-key ( I D ) : The algorithm is used to produce the public key of the receiver. It takes as inputs secret value x I D of the receiver and public parameters P P , and outputs the corresponding public key Y I D .
  • Encrypt ( m , ( I D 1 , Y I D 1 ) , , ( I D t , Y I D t ) ) . The broadcaster runs this algorithm by inputting a plaintext m, public parameters P P , a set S = ( I D 1 , Y I D 1 ) , , ( I D t , Y I D t ) of receivers’ identities/public keys, and outputs a ciphertext C = E n c r y p t ( m , p a r a m s , S ) .
  • Decrypt ( C ) : The algorithm is run by the receiver. It takes as inputs a ciphertext C, public parameters P P and the private key S K I D of the receiver, returns a recovered message m or a symbol that indicates decryption error.
  • Equality-test ( s k T T P , C T , C T ) : It is a deterministic algorithm, run by a de-duplicator which is an honest-but-curious entity, it takes public parameter P P , the de-duplicator’s secret key s k T T P and two ciphertexts C T and C T as inputs, and returns 1 if C T and C T are from the identical plaintext, otherwise, returns 0.

4.2. Security Models

For a secure public key encryption scheme, it should ensure the confidentiality of the encrypted message, this property is referred to as ciphertext-indistinguishability which can be defined in two security models of chosen-plaintext-attack (CPA) and chosen-ciphertext-attack (CCA) [53]. However, for IND-CPA and IND-CCA, indistinguishability does not hold in a secure de-duplication public key encryption in that it is easily breached by an IND-CPA adversary or an IND-CCA adversary in the game [53]. In the Challenge phase of the IND-CPA/CCA security game, the adversary is allowed to select two plaintexts m t 0 and m t 1 , and then a challenge C * for a plaintext m t b with b { 0 , 1 } is returned. By invoking the Equality-test algorithm, the adversary is able to output the corresponding b by computing a ciphertext C ^ for plaintext m t b and checking whether C ^ matches the challenge ciphertext C * . The reason to produce such problem is that, given two ciphertexts, any one can run an Equality-test algorithm to check their matching-ability.
To provide IND-CCA security in the public key encryption with de-duplication, a trusted-third party (TTP) is introduced to execute an Equality-test algorithm by inputting its private key. Meanwhile, the adversary is not allowed to have access to TTP in the security game. Thus, the Equality-test query is not involved in the following security games. In the context of the rest of this paper, we let the de-duplicator act as the TTP.
Inspired by security models of certificateless encryption (CLE) and anonymous BE, the security model of our PMCBED schemes defines two security notations "confidentiality" and " anonymity of the receivers’ identities". For confidentiality, it indicates that an adversary is not capable of obtaining any information of the encrypted message from ciphertext. For anonymity of the receivers’ identities, it indicates that an adversary is not capable of obtaining any identity information of the other receivers from ciphertext.
In the following, we first define the IND-CCA security game for PMCBED. Let A d v I , A d v I I be Type I and Type II probabilistic polynomial time (PPT) adversaries, respectively. In the following, A d v I / A d v I I will make an interactive game with the challenger C.
Definition 1.
A PMCBED scheme is defined to be secure against adaptive-chosen-ciphertext attack (“IND-CCA security”) if there does not exist a Type I/II of adversaries having a non-ignorable superiority in the following game:
  • Setup: Let λ be a security parameter, C be a Challenger. C invokes a S e t u p ( 1 λ ) algorithm to return public parameters P P and master secret key m s k ; afterwards, C transmits P P to A d v . If A d v is the Type II adversary A d v I I , then m s k is also sent to A d v . Otherwise, m s k is secretly kept by the Challenger and then sends system public parameters P P to adversary A d v who also receives the master secret key m s k if it is of Type II. Otherwise, the master secret key m s k is kept secret.
  • Phase 1: In this phase, A d v can adaptively make a series of queries:
    Public key query oracle: Upon receiving public key query of the receiver I D , if it is the first query of the receiver, then C invokes Set public-key algorithm to produce public key P K I D and return P K I D to A d v . Otherwise, it returns the matching public key in the list.
    Extract partial-private key oracle: On receiving a partial private key query of the receiver I D , C inputs m s k to invoke the Extract partial-private key algorithm and return d I D if A d v is the Type I A d v I ; otherwise, the oracle is not required if A is of Type II.
    Extract secret-key oracle: Upon receiving the secret key query of the receiver I D from the adversary A d v , C invokes the Set secret-value algorithm to produce secret value x I D and return it to A d v .
    Decrypt oracle: On receiving the decrypting query of ( C T , I D ) from A d v , C invokes the Set secret-value algorithm and Extract partial-private key algorithm to obtain private key S K I D of the receiver I D ; then, it runs a Decryption ( C T , S K I D ) algorithm to recover the corresponding plaintext.
    Note that when A d v is the Type I A d v I , it also needs to query Public-key-replace oracle in which the receiver’s public key Y I D is replaced with a new public key Y I D when inputting a receiver’s identity I D and its corresponding public key Y I D .
  • Challenge: The adversary A d v submits two distinct equivalent-length messages m 0 and m 1 as well as a set of the receivers’ identities/public-keys S * = ( I D 1 / Y 1 , , I D k / Y k ) . It is required that A d v cannot query Extract partial-private-key oracle with the identity I D i S * . The challenger C randomly samples a bit b { 0 , 1 } to compute the challenge ciphertext C * = E n c r y p t ( m b , P P , S * ) and returns it to adversary A.
  • Phase 2: Adversary A d v can continue to adaptively issue a new sequence of queries as in Phase 1. In addition, ( I D * / Y * , C * ) is not permitted to issue Decryption query, where I D * / Y * S * .
    Meanwhile, in a Type I attack, A d v is not allowed to issue Extract partial-private-key query and Public-key-replace query on identity I D * , where I D * S * .
  • Guess: At last, a guess bit b { 0 , 1 } is returned by the adversary A d v . A d v wins this game if b = b .
Definition 2.
A PMCBED scheme is defined as ANO-CCA security if there does not exist a Type I or II of adversary A d v which has a non-ignorable superiority in the following games:
  • Setup and Phase 1: In the two phases, they are the same as those in the above IND-CCA Game.
  • Challenge: In this phase, A d v produces two challenge sets S ^ 0 and S ^ 1 , where | S ^ 1 | = | S ^ 0 | . In addition, it then submits a message m * and ( S ^ 0 , S ^ 1 ) to C. In addition, the constraint conditions are as follows: (1) A d v is not permitted to issue Extract partial-private-key queries on I D * when A d v is the Type I adversary A d v I ,(2) a A d v is not permitted to issue Extract secret-key queries on I D * when A d v is the Type II adversary A d v I I , where I D * S ^ 1 S ^ 0 and S ^ 1 S ^ 0 = S ^ 1 S ^ 0 S ^ 0 S ^ 1 . Then, C uniformly samples a bit α { 0 , 1 } to calculate the ciphertext C * = E n c r y p t ( P P , S ^ α , m * ) and returns it to A d v .
  • Phase 2. In this phase, A d v adaptively issues a new series of queries as in Phase 1 with the following constraint conditions :(1) A d v is not permitted to issue Extract partial-private-key queries on I D * , (2) Public-key-replace queries on I D * are not allowed when A d v is the Type I adversary A d v I , (3) Extract secret-key queries on I D * are not allowed when A d v is the Type II adversary A d v I I , and (4) A d v is not allowed to issue Decryption Query on ( I D * / Y * ; C * ) , where I D * S ^ 1 S ^ 0 .
  • Guess: At last, a guess bit α { 0 , 1 } is outputted by A d v . A d v wins this game if α = α .

5. Our Scheme

Setup: Let λ be a security parameter, Setup ( λ ) algorithm takes as input λ , and outputs a bilinear map e : G 1 × G 2 G T , where G 1 and G 2 are two groups satisfying G 1 = < P 1 > and G 2 = < P 2 > . In addition, they has the same order p. Note that P 1 = φ ( P 2 ) and φ : G 2 G 1 is an isomorphism. Let H : { 0 , 1 } * G 1 , H 1 : G T G 1 , H 3 : G T Z p be three cryptographical hash function. H 2 ( ) and f ( ) are two one-way functions. H 0 is a random generator of group G 2 . For the KGC, it picks a number s Z p at random to calculate its public key P K p u b = s P 2 . Let T P K = x T P 1 denote the public key of de-duplicator, x T Z p be its private key. ( E ( · ) , D ( · ) ) denotes the encryption/decryption algorithm of AES. Finally, the public parameters are P a r a m = ( P 1 , P 2 , G 1 , G 2 , G T , p , φ , T P K , P K p u b , e , H ( ) , H 1 , H 2 , H 3 , f , H 0 , ( E , D ) ) . m s k = s acts as a master secret key and is kept secretly.
Extract partial-private key: First, in all, a receiver submits its identity I D to the KGC; then, the KGC utilizes its master secret key m s k to produce partial-private key d I D of the receiver, where d I D = s H ( I D ) .
Set secret value: For a receiver with identifier I D i , it uniformly samples a number x k i Z p and returns x k i to act as its secret value.
Set private-key: For a receiver with identifier I D i , let d I D i be its partial-private key, and x k i be its secret value. Its private key S K I D i is set to be S K I D i = ( x k i , d I D i ) .
Set public-key: In this algorithm, a receiver with identifier I D i takes an input secret value x k i , and outputs its public key Y i = x k i P 1 .
Encrypt: Given a transmitted message M and a group of the receivers with public keys and identifiers { I D i , Y i } i = 1 , 2 , , n , a broadcaster computes as follows:
  • For i = 1 to n, it calculates x i = H 2 ( I D i ) , and then it produces the polynomial
    C i ( x ) = j = 1 , j i n x x j x i x j = j = 0 n 1 b i , j x j mod p .
    Obviously, we find C i ( x i ) = 1 and C i ( x j ) = 0 for i j .
  • It randomly chooses k Z p to compute C 1 = k P 2 .
  • Then, it selects Q G T and τ Z p to compute K = H 3 ( Q ) and C 3 = E ( K , M | | τ ) .
  • Next, choose a random number r 1 Z p , and then for j { 1 , 2 , , n } , it calculates
    R j = H 1 ( e ( H ( I D j ) , k · P K p u b ) ) + r 1 Y j .
  • In addition, it computes C 2 = e ( P 1 , r 1 P 2 ) k · Q .
  • In addition, for each t { 1 , 2 , , n } , it computes
    Q t = j = 1 n b j , t 1 R j .
  • Compute C 0 = ( f ( M ) + f ( τ ) ) · T P K and C 1 = e ( P 1 , P 2 ) f ( τ ) .
  • Finally, the resultant ciphertext is as below:
    C T = ( C 1 , C 0 , C 1 , C 2 , C 3 , Q 1 , , Q n ) .
Decrypt: For a given broadcast-ciphertext C T = ( C 1 , C 0 , C 1 , C 2 , C 3 , Q 1 , , Q n ) , an authorized receiver with identity I D i inputs public parameters P a r a m , system public key P K p u b and its private key S K I D i to decrypt broadcast–ciphertext C T by the following steps:
  • First, it computes x i = H ( I D i ) .
  • Then, it calculates
    R ^ i = Q 1 + j = 2 n ( x i j 1 Q j ) .
  • It computes W = x k i 1 · ( R ^ i H 1 ( e ( s H ( I D i ) , C 1 ) ) ) ;
  • In addition, it obtains the decryption key K = H 1 ( C 2 / e ( W , C 2 ) ) .
  • Finally, it obtains the plaintext M = D ( K , C 3 ) and checks C 0 = ? ( f ( M ) + f ( τ ) ) T P K . If it holds, output TRUE.
Equality-test: Given two ciphertexts C T and C T , where C T = ( C 1 , C 0 , C 1 , C 2 , C 3 , Q 1 , , Q n ) and C T = ( C 1 , C 0 , C 1 , C 2 , C 3 , Q 1 , , Q n ) , the de-duplicator makes use of its private key x T to execute as follows:
e ( C 0 C 0 , P 2 ) x T 1 = ? C 1 / C 1 .
Finally, it returns 1 if the above-mentioned Equation (1) holds; otherwise, output ⊥.

Discussion

For the above construction, we can know that, if the receiver’s identity I D is involved in the set of the designated receivers, then this receiver can decrypt the corresponding ciphertext C T since, when this receiver’s identifier satisfies I D i S , where S = { I D 1 / P K 1 , , I D n / P K n } , let x i = H ( I D t i ) , we have C j ( x i ) = 0 for j i and
R ^ i = Q 1 + x i Q 2 + x i 2 Q 3 + + x i n 1 Q n = ( b 1 , 0 R 1 + b 2 , 0 R 2 + + b n , 0 R n ) + x i ( b 1 , 1 R 1 + b 2 , 1 R 2 + + b n , 1 R n ) + + x i n ( b 1 , n 1 R 1 + b 2 , n 1 R 2 + + b n , n 1 Q n ) = ( b 1 , 0 + b 1 , 1 x i + + b 1 , n 1 x i n 1 ) R 1 + ( b 2 , 0 + b 2 , 1 x i + + b 2 , n 1 x i n 1 ) R 2 + + ( b n , 0 + b n , 1 x i + + b n , n 1 x i n 1 ) R n = C i ( x i ) R i = R i .
Thus, the receiver with identifier I D i is capable of obtaining r 1 P 1 by utilizing its partial-private key d I D i , namely,
r 1 P 1 = R ^ i H 1 ( e ( d I D i , C 1 ) ) .
It means that the receiver with identifier I D i is able to decrypt the message by the key K = H 1 ( C 2 / e ( r 1 P 1 , C 1 ) ) .

6. Security Analysis

In the following theorems, we will show that our aforementioned construction can achieve two security properties: anonymity of the receiver’s identity and confidentiality.
Theorem 1.
Let H , H 1 and H 2 denote random oracles. If the BDH-2 problem and the DDH problem in ( G 1 , G 2 ) are hard, then our proposed construction can be proven to be secure against the IND-PMCBED-CCA attack of the Type I adversary.
Proof. 
Suppose there exists a Type I of adversary A I in an IND-PMCBED-CCA game. If it can break our construction in a non-negligible probability ϵ , then we are capable of building an algorithm B which solves the BDH-2 problem and the DDH problem in ( G 1 , G 2 ). □
Let ( P 2 , a P 2 , b P 2 , c P 1 ) be a random instance of the BDH-2 problem, where a , b and c are unknown random numbers from Z p ; the target is to compute e ( P 1 , P 2 ) a b c . In addition, let ( P 1 , β 1 P 1 , β 2 P 1 , V ) be a random instance of the DDH problem, its target is to determine V = ? β 1 β 2 P 1 . Therefore, B simulates the following security game with the adversary A I .
Setup. Let P P = { P 1 , P 2 , G 1 , G 2 , e , p , H , H 1 , H 2 , H 3 , ( E , D ) } be system parameters; they are built by B. In addition, B sets P K = a P 1 = φ ( a P 2 ) and T P K = β 1 P 1 . Then, B sends public parameters P P to the adversary A I . In the following proof, H 2 acts as a one-way function. H , H 1 and H 3 are random oracles.
Phase 1. In this phase, A I is capable of adaptively issuing a series of queries.
  • H-Hash Query: When receiving the H-hash query on I D i from A I , B answers as below. If a record I D i have appeared in a tuple ( I D i , Q i , η i , q i ) in the H-list which is originally empty, it sends back Q i ; otherwise, it generates η i { 0 , 1 } , and randomly chooses q i Z p . If η i = 0 , it sets Q i = q i P 1 , else it sets Q i = q i b P 1 = q i · φ ( b P 2 ) and adds ( I D i , Q i , η i , q i ) in the H-list. It returns Q i to A I
  • H 1 -Query: On input, an identity X i , if ( X i , T i ) exists in the H 1 -list, then it returns T i to A I ; otherwise, it picks T i G 1 to return A I and adds ( I D i , T i ) into the H 1 -list. Note that H 1 -list is originally empty.
  • H 3 -Query: On input, D i , if ( D i , k i ) is in the H 3 -list which being originally empty, it sends back k i to A I ; otherwise, it picks k i Z p to return A I and adds ( D i , k i ) into the H 3 -list.
  • Public-key query: When A I makes a public key query with I D i , if the 3-tuple ( I D i , Y i , x k i ) appears in the PK-list which is initially empty. Y i is returned to A I ; otherwise, B picks x k i Z p to set Y i = x k i P 1 , and adds ( I D i , Y i , x k i ) in the PK-list. Finally, it returns Y i to A I .
  • Extract partial-private key Query: Upon receiving a Partial-private key query of the identity I D i , if the record ( I D i , Q i , η i , q i ) had appeared in the H-list and η i = 0 , then B computes d I D i = q i · a P 1 = q i · φ ( a P 2 ) . Otherwise, abort it and output .
  • Extract secret-value Query: When A i issues a query on an identity I D i , if 3-tuple ( I D i , Y i , x k i ) exists on the PK-list, then x k i is returned to A I , otherwise, B randomly selects x k i Z p to compute Y i = x k i P 1 and adds ( I D i , Y i , x k i ) in the PK-list.
  • Public-key-replace Query: When A I makes a public key replace query with ( I D i , Y i ) , the corresponding tuple ( I D i , Y i , x k i ) is replaced into a new tuple ( I D i , Y i , ) in the PK-list.
  • Decryption Queries: On input, a ciphertext C T and an identity I D i , where C T = ( C 1 , C 2 , C 3 , Q 1 , , Q n ) , B first issues a H-query with I D i to obtain the tuple ( I D i , Q i , η i , q i ) , if η i = 0 , it sets d I D i = q i · P 1 and make a Extract-secret-value query with I D i , if x k i is returned, B can make use of ( d I D i , x k i ) to decrypt C T and respond the Decryption Query. Otherwise, B does the following steps:
    • For j = 1 to q H 3 {
      it retrieves k i from H 3 -list and decrypts C T to recover M | | τ = D ( k i , C T ) with k i to parse it into M and τ which can recover τ T P K . (Note that we assume that the H 3 -query had been made before the adversary issues the decryption-query with C T ).
      if C 0 = f ( M ) · T P K + f ( τ ) T P K
      break;
      }
    • If j q H 3 , B sends back M to A I . Otherwise, it aborts it.
Challenge. In this phase [13], A I submits two equivalent-size plaintext M 0 and M 1 , as well as a challenge set of identities/public-keys S * = ( I D 1 / Y 1 , I D 2 / Y 2 , , I D l / P K l ) with the restriction conditions which A I have not issued partial-private-key Oracle with I D i S * in phase 1 and each η i = 1 in the tuple ( I D i , Q i , η i , q i ) of H 1 -list, where Y i is a public key which corresponds to the identity I D i .
Then, B computes as follows:
  • iIt sets C 1 * = c P 2 .
  • For j = 1 to l, it computes x j * = H 2 ( I D j ) .
  • Next, for j = 1 to l, it constructs the polynomial
    f j ( x ) = i = 1 , j i l x x i * x j * x i * = i = 0 l a j i x i .
  • B randomly chooses r 1 Z p .
  • For j = 1 to l, it randomly chooses T i G 1 to compute R j = T j + r 1 Y j .
  • For j = 1 , 2 , , l , B computes Q j = i = 0 l a i , j 1 R i
  • B randomly chooses Q G T and τ { 0 , 1 } t to compute C 2 * = e ( P 1 , C 1 * ) r 1 · Q and C 3 * = E ( K , M β | | τ ) , where K = H 3 ( Q ) , β { 0 , 1 } .
  • It computes C 0 * = f ( M β ) T P K + V and C 1 * = e ( α 2 P 1 , P 2 ) . Note that in fact ( T P K = α 1 P 1 , P 1 , V , α 2 P 1 ) is also an instance of DDH problem when ( P 1 , α 1 P 1 , α 2 P , V ) is an instance of DDH problem, since P 1 = α 1 1 · T P K , V = α 2 · T P K and α 2 P 1 = α 1 1 α 2 · T P K .
  • The resultant ciphertext C T * = ( C 1 * , C 0 * , C 1 * , C 2 * , C 3 * , Q 1 , , Q l ) is returned to A I .
Phase 2. A I can adaptively make a new series of queries as in Phase 1 with the constraints:
  • C T * can not be made into Decryption queries.
  • All I D i S * is not allowed to issue Extract partial-private-key queries.
Guess. Eventually, A I outputs its guess β { 0 , 1 } .
When V = β 1 β 2 P 1 , the challenge ciphertext C T * is a valid one. For the perspective of A I , the challenger’s simulation is indistinguishable from the real game. When V is a random element of G 1 , the challenge ciphertext has the same distribution as the real ciphertext. Furthermore, we assume that A I must have previously issued H 1 query with X i = e ( H ( I D i ) , P K ) c Because C 1 * = c P 1 , H ( I D i ) = q i b P 1 and P K = a P 1 , it means that B can compute e ( P 1 , P 2 ) a b c = ( X i ) q i 1 .
Therefore, it is impossible to have an IND-PMCBED-CCA adversary A I which breaks our PMCBED scheme. □
Theorem 2.
Under the DDH problem in G 1 , our proposed PMCBED scheme is provably secure against the IND-PMCBED-CCA attack of Type II adversary A I I .
Proof. 
Assume that there is a Type II of adversary A I I in the IND-PMCBED-CCA game. If it breaks our construction, then we are capable of constructing an algorithm B to solve the DDH problem. Let ( P 1 , a P 1 , b P 1 , Z ) be an instance of DDH problem in group G 1 , where a , b Z p are unknown, its goal is to determine Z = a b P 1 . □
Setup. Algorithm B randomly chooses α Z p to compute P K = α P 1 and let T P K = a P 1 . Let P P be public parameters, where P P = ( P 1 , P K , T P K , e , G 1 , G 2 , P 2 , H , H 1 , H 2 , H 3 , E , D , f ) . Then, it delivers P P and α to the adversary A I I . H , H 1 , H 3 are three random oracles which are controlled by B.
Phase 1. A I I can adaptively issue a series of queries.
H-Hash Queries. Upon receiving a receiver’s identifier I D j , B first checks that ( I D j , Q j ) has appeared in the H-list which is initially empty; if it is, then Q j is returned. Otherwise, B picks q j Z p at random to calculate Q j = q j P 1 and adds ( I D j , Q j , q j ) in the H 1 -list. Finally, Q j is returned.
H 1 -Hash Queries. It is the same as that of Theorem 1.
H 3 -Hash Queries. It is the same as that of Theorem 1.
Public-Key Queries. Upon receiving an identity I D i , if the 3-tuple ( I D i , Y i , x k i ) has existed in the PK-list that was originally empty, then Y i is returned. Otherwise, it produces η i { 0 , 1 } and randomly chooses a i Z p . If η i = 0 , it sets Y i = a i P 1 , else it sets Q i = a i b P 1 and adds ( I D i , Y i , η i , a i ) in the P K -list. It returns Y i to A I I .
Decryption Query. Upon receiving ( C T , I D i ) , if I D i had existed in the PK-list and the corresponding η i = 0 holds, then B decrypts the ciphertext C T by ( α · H ( I D i ) , a i ) and returns the decrypted message M to the adversary A I I . Otherwise, B does the following steps:
  • For j = 1 to q H 3 {
    it retrieves k i from H 3 -list and decrypts C T to recover M = D ( k i , C T ) with k i ;
    if C 0 = f ( M ) · T P K + f ( τ ) T P K
    break;
    }
  • If j q H 3 , B sends back M to A I I . If not, it aborts it.
Challenge Phase. Let S * = ( I D 1 / Y 1 , I D 2 / Y 2 , , I D l / Y l ) . In this phase, the adversary A I I outputs two equivalent length messages M 0 and M 1 , and a set of identites/public-keys S * with the restriction conditions with each η i in the tuple ( I D i , Y i , η i , a i ) , where I D i S * satisfies η i = 1 .
Then, B is computed as below:
  • It uniformly samples k Z p to compute C 1 * = k P 2 and C 0 * = f ( M β ) T P K + Z as well as C 1 * = e ( b P 1 , P 2 ) . Note that we have the relation ( D 0 = a P 1 , D 1 = P 1 = D 0 a 1 , D 2 = Z = D 0 b , D 4 = b P 1 = D 0 a 1 b ) which is the instance of the CDH problem if Z = a b P 1 .
  • For j = 1 to l, it calculates x i * = H 2 ( I D i ) ;
  • Then, for j = 1 to l, it builds the polynomial
    f j ( x ) = j i l x x i * x j * x i * = i = 0 l a j i x i .
  • For j = 1 to l, B computes
    R j = H 1 ( e ( α · H ( I D i ) , C 1 * ) ) + a i · Z .
    Note that r 1 in the original encryption is set as r 1 = a but is unknown.
  • For i { 1 , 2 , l } , it calculates
    Q i = j = 1 l a j , i 1 R j .
  • It randomly selects Q G T to compute K = H 3 ( Q ) and C 3 * = E ( K , M β | | x Z ) , x Z denotes the x-coordination of point Z.
  • It computes C 2 * = e ( a P 1 , P 2 ) k · Q .
  • The ciphertext is C T * = ( C 1 * , C 0 * , C 1 * , C 2 * , C 3 * , Q 1 , , Q l ) .
Phase 2. A I I may issue a new series of queries which is the same as what it did in Phase 1 with the restriction that C T * is not made in the Decryption query.
Guess. Finally, A I I gives its guess β . If β = β , A I I wins this game with non-ignorable advantage ε . When Z = a b P 1 , the ciphertext C T * = ( C 0 * , C 1 * , C 2 * , C 3 * , Q 1 , , Q l ) is a valid one since
R j = H 1 ( e ( α · H ( I D i ) , C 1 * ) ) + a i · Z = H 1 ( e ( α · H ( I D i ) , C 1 * ) ) + a ( a i · b ) P 1 = H 1 ( e ( α · H ( I D i ) , C 1 * ) ) + a · Y i , C 2 * = e ( a P 1 , P 2 ) k · Q = e ( P 1 , a P 2 ) k · Q , C 0 * = f ( M β ) T P K + a b P 1 = f ( M β ) T P K + b T P K , C 1 * = e ( P 1 , P 2 ) b = e ( P 1 , P 2 ) τ .
This means that r 1 = a and τ = b in the encryption. Thus, if A I I breaks our scheme, then B is able to solve the DDH problem. □
Theorem 3.
Let hash functions H , H 1 , H 3 be random oracles. If the decisional bilinear Diffie–Hellman problem (DBDH) is hard, then our construction is able to be proved to be secure against the Type I adversary in the ANON-ID-CCA attack game.
Proof. 
Let A I be an ANON-ID-CCA adversary. If it breaks the proposed AMCLE scheme in a non-ignorable advantage, then we are capable of building a new algorithm B to solve the DBDH problem. □
Setup. Firstly, let P K = a P 1 act as a master public key, and B builds the following parameters P P = ( G 1 , G 2 , G T , H , H 1 , H 2 , H 3 , e , p , f , E , D ) , and delivers P P to the adversary A I . H , H 1 , H 3 are three hash functions that act as random oracles.
Phase 1. A I is capable of adaptively making a sequence of security queries which are the same as those in Theorem 1.
Challenge. After terminating Phase 1, A I submits a challenge message M and two disparate sets of identities/public-keys S 0 * = ( I D 0 * / Y 0 * , I D 2 / Y 2 , , I D l / Y l ) and S 1 * = ( I D 1 * / Y 1 * , I D 2 / Y 2 , , I D l / Y l ) with the constraint in which A I can not issue Extract Partial-private-key queries with I D i for I D i { S 0 * , S 1 * } . B randomly selects β { 0 , 1 } to compute as follows:
  • It sets C 1 * = c P 2 .
  • B retrieves ( I D β * , Q β * , η β * , q β * ) by issuing a H-query on I D β * , if η β * = 0 holds, then it aborts it and outputs ; if η β * = 1 , then let Q β * = q β * · b P 1 and X β * = Z q β * . Next, it issues H 2 -queries with X β * to obtain T β * .
  • Compute x β * = H 2 ( I D β * ) , and for j = 2 to l, it computes x i * = H 2 ( I D i ) .
  • Next, for j { 2 , 3 , , l } , it constructs the polynomial
    f j ( x ) = i j , i = 1 l 1 x j * x i * · ( x x i * ) = i = 0 l a j i x i .
  • B randomly chooses r 1 Z p and for j { 2 , 3 , , l } , it randomly chooses T i G 1 to compute R j = T j + r 1 Y j ; and then it computes R β = T β + r 1 Y β * .
  • For j { β , 2 , 3 , , l } , B computes Q j = i = 0 l a i , j 1 R i .
  • B randomly chooses Q G T and τ Z p to compute C 2 * = e ( P 1 , C 1 * ) r 1 and C 3 * = E ( K , M β | | x τ ) , where K = H 3 ( Q ) and x τ is the x-coordination of point τ · T P K .
  • B computes C 0 * = ( f ( M β ) + τ ) T P K and C 1 * = e ( P 1 , P 2 ) τ .
  • The ciphertext is C T * = ( C 1 * , C 0 * , C 1 * , C 2 * , C 3 * , Q 1 , , Q l ) to the adversary A I .
Phase 2. A I sequentially issues a new series of queries with the following restrictions:
  • A I can not issue Extract Partial-Private-Key Queries with I D , where I D { I D 0 * , I D 1 * } .
  • A I can not issue Public-Key Replace with I D , where I D { I D 0 * , I D 1 * } .
  • A I can not issue Decryption Queries with ( I D , C T * ) , where I D { I D 0 * , I D 1 * } .
Guess. Finally, A I outputs its guess β . B outputs 1 when β = β , it means that Z = e ( P 1 , P 2 ) a b c ; if β β , outputs 0, it means Z e ( P 1 , P 2 ) a b c .
Analysis: In the above game, the simulation is indistinguishable from the scheme. If Z = e ( P 1 , P 2 ) a b c , then we let k * = c . All this time, C T * has the same distribution as the ciphertext in the real game; If Z is a random element in G T , then the ciphtertext has the uniform distribution in the ciphertext space since C 3 * = E ( K , x τ | | M β ) , where K = H 3 ( Q ) is a random element. Thus, in the adversary A I ’s view, M β is independent, and it cannot provide any information to A I . □
Theorem 4.
Let hash functions H , H 1 and H 3 be a random oracle. If the DDH assumption in groups ( G 1 , G 2 ) is difficult, then our construction is proven to be secure against the Type II of adversary A I I in the ANON-ID-CCA attack game.
Proof. 
Let A I I be an adversary. If it breaks our construction, then we are capable of constructing a novel algorithm B which solves the DDH problem. Let ( P 1 , a P 1 , b P 1 , Z ) be a random instance of DDH problem in groups ( G 1 , G 2 ) , where a , b Z p are unknown, its goal is to determine Z = a b P 1 . □
Setup. Algorithm B randomly chooses α Z p to set P K = α P 1 . Let P P = ( P 1 , P 2 , e , p , P K , f , G 1 , G 2 , H , H 1 , H 2 , H 3 , ( E , D ) ) denote public parameters that are built by B. Then, it delivers P P and α to the adversary A I I . Here H , H 1 , H 3 are three random oracles that are controlled by B.
Phase 1. A I I is capable of issuing a series of the same queries as those of Theorem 2.
Challenge. A I I outputs a challenge plaintext M * and two different sets S 0 * and S 1 * of identities/public-keys, where S 0 * = ( I D 0 * / Y 0 * , I D 2 / Y 2 , , I D l / Y l ) and S 1 * = ( I D 1 * / Y 1 * , I D 2 / Y 2 , , I D l / Y l ) . In addition, the following constraints need to be satisfied: A I I cannot issue Extract partial-private-key queries on I D i in Phase 1, where I D i { I D 0 * , I D 1 * } . In addition, then B randomly selects β { 0 , 1 } to compute as below:
  • First, it makes a Public-key Query on I D β * to obtain ( I D β * , Y β * , η β * , a β * ) . If η β * = 0 , output and abort it. If η β * = 1 , it means that Y β * = a β * · b P 1 .
  • For j { η , 2 , 3 , , l } , it calculates x i * = H 2 ( I D i ) ;
  • Then, for j { β , 2 , 3 , , l } , it builds the polynomial
    f j ( x ) = i i l x x i * x j * x i * = i = 0 l a j i x i .
  • For j { β , 2 , 3 , , l } , B issues Public-key Queries with I D j to obtain ( I D j , Y j , η j , a j ) . If η β * = 0 , B computes
    R j = H 1 ( e ( α · H ( I D j ) , C 1 * ) ) + a j · a P 1 .
    If η β * = 1 , it computes R j = H 1 ( e ( α · H ( I D j ) , C 1 * ) ) + a j · Z .
  • For j { β , 2 , 3 , , l } , it computes Q i = j = 1 l a j , i 1 R j .
  • It randomly selects Q G T and τ Z p to compute K = H 3 ( Q ) and C 3 * = E ( K , x τ | | M β ) .
  • It randomly chooses k Z p to compute C 1 * = k P 2 and C 0 * = f ( M β ) + τ · T P K as well as C 1 * = e ( P 1 , P 2 ) τ .
  • It computes C 2 * = e ( a P 1 , P 2 ) k · Q .
  • The resultant ciphertext is C T * = ( C 1 * , C 0 * , C 1 * , C 2 * , C 3 * , Q 1 , , Q l ) .
Phase 2. A I I can still adaptively issue the queries with the following constraints.
  • A I I is not capable of issuing Public-key Query with I D , where I D { I D 0 * , I D 1 * } .
  • A I I is not capable of issuing Decryption Query with ( C T * , I D ) , where I D { I D 0 * , I D 1 * } .
Guess. Finally, A I I returns its guess bit β . B outputs 1 if β = β ; it means that Z = a b P 1 ; otherwise, outputs 0 meaning Z a b P 1 .
Analysis: In the above game, the simulation is indistinguishable from the scheme. When Z = a b P 1 , assume r 1 = a . The challenge ciphertext has the same distribution as that in the real game, in addition to when Z is a random element of G 1 , C 2 * and C 3 * in the ciphtertext has the form C 2 * = e ( a P 1 , P 2 ) k · Q and C 3 * = E ( K , x τ | | M β ) , where K = H 3 ( Q ) and Q are uniform and random. Thus, from the adversary A I I ’s view, M β is independent; it provides no information to A I I . □

7. Performance Analysis

To evaluate the efficiency of the proposed scheme, we give the corresponding computational cost of the main algorithm by comparing with the Hung et al. scheme [37] and Islam et al. scheme [45]. For convenience, we define the following notations. Let T p , T m , T e and T h denote the time of executing a pairing operation, a scalar multiplication operation and an exponentiation operation as well as a map-to-point hash function, respectively. The computation cost of the main algorithms for the three schemes are shown in Table 1.
From Table 1, we find that our proposed scheme has more computational costs than the other two schemes. However, our proposed scheme has better security and functionality.

8. Conclusions

The users are increasingly concerned about anonymity. To protect the identity anonymity of the receiver, we construct a privacy-preserving Multi-receiver Certificateless Broadcast Encryption Scheme with De-duplication scheme in this work. It can not only simultaneously achieve confidentiality and the receiver’s identity anonymity, but also achieve duplicate detection to determine whether two different ciphertexts are from the identical message. Thus, our proposal can efficiently reduce the cloud server’s storage burden. It is very significant for cloud storage. Nevertheless, the ciphertext size is linear to the number of the receivers. A very important challenge will be how to construct a PMCBED scheme with constant-size ciphertext.

Author Contributions

All the authors contributed to the research and wrote the article. J.Z. proposed the idea, designed, security analysis and performed the evaluation. P.O. suggested directions for the detailed designs and evaluation, as well as coordinating the research.

Funding

This research was supported by the Open Fund of National Engineering Laboratory for Big Data Collaborative Security Technology, the Guangxi Key Laboratory of Cryptography and Information Security (No. GCIS 201710), Beijing Natural Science Foundation—Haidian Original Innovation Joint Fund Project Task Book (Key Research Topic) (Nos. L182039), and Beijing Municipal Natural Science Foundation (Nos. 4162020).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Fiat, A.; Naor, M. Broadcast encryption. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 22–26 August 1993; pp. 480–491. [Google Scholar]
  2. Fan, L.; Lei, X.; Yang, N.; Duong, T.Q.; Karagiannidis, G.K. Secure multiple amplify-and-forward relaying with cochannel interference. IEEE J. Sel. Top. Signal Process. 2016, 10, 1494–1505. [Google Scholar] [CrossRef]
  3. Fan, L.; Lei, X.; Yang, N.; Duong, T.Q.; Karagiannidis, G.K. Secrecy cooperative networks with outdated relay selection over correlated fading channels. IEEE Trans. Veh. Technol. 2017, 66, 7599–7603. [Google Scholar] [CrossRef]
  4. Shen, J.; Zhou, T.; Chen, X.; Li, J.; Susilo, W. Anonymous and traceable group data sharing in cloud computing. IEEE Trans. Inf. Forensics Secur. 2017, 13, 912–925. [Google Scholar] [CrossRef]
  5. D’Orazio, C.J.; Choo, K.K.R.; Yang, L.T. Data exfiltration from Internet of Things devices: iOS devices as case studies. IEEE Internet Things J. 2016, 4, 524–535. [Google Scholar] [CrossRef]
  6. Do, Q.; Martini, B.; Choo, K.K.R. Cyber-physical systems information gathering: A smart home case study. Comput. Netw. 2018, 138, 1–12. [Google Scholar] [CrossRef]
  7. Zhang, J. Improvement of ID-based proxy re-signature scheme with pairing-free. Wireless Netw. 2019. [Google Scholar] [CrossRef]
  8. Bellare, M.; Boldyreva, A.; Desai, A.; Pointcheval, D. Key-privacy in public-key encryption. In International Conference on the Theory and Application of Cryptology and Information Security; Springer: Berlin/Heidelberg, Germany, 2001; pp. 566–582. [Google Scholar]
  9. Li, X.; Gu, D.; Ren, Y.; Ding, N.; Yuan, K. Efficient ciphertext-policy attribute based encryption with hidden policy. In Proceedings of the International Conference on Internet and Distributed Computing Systems, Wu Yi Shan, China, 21–23 November 2012; pp. 146–159. [Google Scholar]
  10. Camenisch, J.; Kohlweiss, M.; Rial, A.; Sheedy, C. Blind and anonymous identity-based encryption and authorised private searches on public key encrypted data. In Proceedings of the International Conference on Practice and Theory in Public Key Cryptography—PKC, Irvine, CA, USA, 18–20 March 2009; pp. 96–214. [Google Scholar]
  11. Barth, A.; Boneh, D.; Waters, B. Privacy in encrypted content distribution using private broadcast encryption. In International Conference on Financial Cryptography and Data Security; Springer: Berlin/Heidelberg, Germany, 2006; pp. 52–64. [Google Scholar]
  12. Fan, C.I.; Tseng, Y.F. Anonymous multi-receiver identity-based authenticated encryption with CCA security. Symmetry 2015, 7, 1856–1881. [Google Scholar] [CrossRef]
  13. Lai, J.; Mu, Y.; Guo, F.; Chen, R. Fully privacy-preserving ID-based broadcast encryption with authorization. Comput. J. 2017, 60, 1809–1821. [Google Scholar] [CrossRef]
  14. Fan, C.I.; Tsai, P.J.; Huang, J.J.; Chen, W.T. Anonymous multi-receiver certificate-based encryption. In Proceedings of the 2013 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery, CyberC, Beijing, China, 10–12 October 2013; pp. 19–26. [Google Scholar]
  15. Katz, J.; Sahai, A.; Waters, B. Predicate encryption supporting disjunctions, polynomial equations, and inner products. In Proceedings of the Theory and Applications of Cryptographic Techniques International Conference on Advances in Cryptology, Istanbul, Turkey; 2008; pp. 146–162. [Google Scholar]
  16. Liu, Q.; Guo, Y.; Wu, J.; Wang, G. Effective query grouping strategy in clouds. J. Comput. Sci. Technol. 2017, 32, 1231–1249. [Google Scholar] [CrossRef]
  17. Liu, Z.; Huang, Y.; Li, J.; Cheng, X.; Shen, C. Divoram: Towards a practical oblivious ram with variable block size. Inf. Sci. 2018, 447, 1–11. [Google Scholar] [CrossRef]
  18. Jhaveri, R.H.; Patel, N.M.; Zhong, Y.; Sangaiah, A.K. Sensitivity analysis of an attack-pattern discovery based trusted routing scheme for mobile ad-hoc networks in industrial iot. IEEE Access 2018, 6, 23344–23355. [Google Scholar] [CrossRef]
  19. Cai, Z.; Yan, H.; Li, P.; Huang, Z.A.; Gao, C. Towards secure and flexible ehr sharing in mobile health cloud under static assumptions. Clust. Comput. 2017, 20, 2415–2422. [Google Scholar] [CrossRef]
  20. Li, J.; Chen, X.; Chow, S.S.; Huang, Q.; Wong, D.S.; Liu, Z. Multi-authority fine-grained access control with accountability and its application in cloud. J. Netw. Comput. Appl. 2018, 112, 89–96. [Google Scholar] [CrossRef]
  21. Wang, H.; Zheng, Z.; Wu, L.; Li, P. New directly revocable attribute-based encryption scheme and its application in cloud storage environment. Clust. Comput. 2017, 20, 2385–2392. [Google Scholar] [CrossRef]
  22. Li, J.; Li, J.; Chen, X.; Jia, C.; Lou, W. Identitybased encryption with outsourced revocation in cloud computing. IEEE Trans. Comput. 2015, 64, 425–437. [Google Scholar] [CrossRef]
  23. Yang, L.; Han, Z.; Huang, Z.; Ma, J. A remotely keyed file encryption scheme under mobile cloud computing. J. Netw. Comput. Appl. 2018, 106, 90–99. [Google Scholar] [CrossRef]
  24. Wu, Z.; Tian, L.; Li, P.; Wu, T.; Jiang, M.; Wu, C. Generating stable biometric keys for flexible cloud computing authentication using finger vein. Inf. Sci. 2016, 433, 431–447. [Google Scholar] [CrossRef]
  25. Zhang, J.; Bai, W.; Wang, Y. Non-Interactive ID-Based Proxy Re-Signature Scheme for IoT Based on Mobile Edge Computing. IEEE Access 2019, 7, 37865–37875. [Google Scholar] [CrossRef]
  26. Quick, D.; Kwang Raymond Choo, K. Pervasive social networking forensics: Intelligence and evidence from mobile device extracts. J. Netw. Comput. Appl. 2016, 86, 24–33. [Google Scholar] [CrossRef]
  27. Bakas, A.; Michalas, A. Modern family: A revocable hybrid encryption scheme based on attribute-based encryption, symmetric searchable encryption and SGX. In Proceedings of the 15th EAI International Conference on Security and Privacy in Communication Networks (SecureComm ’19), Orlando, FL, USA, 23–25 October 2019. [Google Scholar]
  28. Michalas, A. The lord of the shares: Combining attribute-based encryption and searchable encryption for flexible data sharing. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing (SAC), Limassol, Cyprus, 8–12 April 2019. [Google Scholar]
  29. Li, J.; Chen, X.; Li, M.; Li, J.; Lee, P.P.C.; Lou, W. Secure de-duplication with efficient and reliable convergent key management. IEEE Trans. Parallel Distrib. Syst. 2014, 25, 1615–1625. [Google Scholar] [CrossRef]
  30. Libert, B.; Paterson, K.G.; Quaglia, E.A. Anonymous broadcast encryption: Adaptive security and efficient constructions in the standard model. In International Workshop on Public Key Cryptography LNCS; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7293, pp. 206–224. [Google Scholar]
  31. Fazio, N.; Perera, I.M. Outsider-anonymous broadcast encryption with sublinear ciphertexts. In International Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2012; pp. 225–242. [Google Scholar]
  32. Delerablee, C. Identity-based broadcast encryption with constant size ciphertexts and private keys. In International Conference on the Theory and Application of Cryptology and Information Security. ASIACRYPT 2007, Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4833, pp. 200–215. [Google Scholar]
  33. Galindo, D. Boneh-Franklin identity based encryption revisited. In International Colloquium on Automata, Languages, and Programming; ICALP 2005, LNCS 3580; Springer: Berlin/Heidelberg, Germany, 2005; pp. 791–802. [Google Scholar]
  34. Wang, H.; Zhang, Y.; Xiong, H.; Qin, B. Cryptanalysis and improvements of an anonymous multi-receiver identity-based encryption scheme. Inf. Secur. IET 2012, 6, 20–27. [Google Scholar] [CrossRef] [Green Version]
  35. Chien, H.Y. Improved Anonymous Multi-Receiver Identity-Based Encryption; Oxford University Press: Oxford, UK, 2012; Volume 55. [Google Scholar]
  36. Zhang, J.; Xu, Y.; Zou, J. Comment on Wang et al.’s anonymous multi-receiver id-based encryption scheme and its improved schemes. Int. J. Intell. Inf. Database Syst. 2013, 7, 400–413. [Google Scholar] [CrossRef]
  37. Hung, Y.H.; Huang, S.S.; Tseng, Y.M.; Tsai, T.T. Efficient anonymous multireceiver certificateless encryption. IEEE Syst. J. 2017, 11, 1–12. [Google Scholar] [CrossRef]
  38. Xu, P.; Li, J.; Wang, W.; Jin, H. Anonymous identity-based broadcast encryption with constant decryption complexity and strong security. In Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security, Xi’an, China, 30 May–3 June 2016; pp. 223–233. [Google Scholar]
  39. Liang, K.; Chu, C.K.; Tan, X.; Wong, D.S.; Tang, C.; Zhou, J. Chosen-ciphertext secure multi-hop identity-based conditional proxy re-encryption with constant-size ciphertexts. Theor. Comput. Sci. 2014, 539, 87–105. [Google Scholar] [CrossRef]
  40. Boyen, X.; Haines, T. Forward-secure linkable ring signatures. In Australasian Conference on Information Security and Privacy; Springer: Cham, Switzerland, 2018; pp. 245–264. [Google Scholar]
  41. He, K.; Weng, J.; Liu, J.N.; Liu, J.K.; Liu, W.; Deng, R.H. Anonymous identity-based broadcast encryption with chosen-ciphertext security. In Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security, Xi’an, China, 30 May–3 June 2016; pp. 247–255. [Google Scholar]
  42. Al-Riyami, S.S.; Paterson, K.G. Certificateless Public Key Cryptography. In Advances in Cryptology—ASIACRYPT 2003. Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2894, pp. 452–473. [Google Scholar]
  43. Yum, D.H.; Lee, P.J. Generic construction of certificateless encryption. In International Conference on Computational Science and Its Applications; Springer: Berlin/Heidelberg, Germany, 2004; pp. 802–811. [Google Scholar]
  44. Libert, B.; Quisquater, J.J. On constructing certificateless cryptosystems from identity based encryption. In International Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2006; pp. 474–490. [Google Scholar]
  45. Islam, S.H.; Khan, M.K.; Al-Khouri, A.M. Anonymous and provably secure certificateless multireceiver encryption without bilinear pairing. Secur. Commun. Netw. 2015, 8, 2214–2231. [Google Scholar] [CrossRef]
  46. Douceur, J.R.; Adya, A.; Bolosky, W.J.; Simon, P.; Theimer, M. Reclaiming space from duplicate files in a serverless distributed file system. In Proceedings of the 22nd International Conference on Distributed Computing Systems, Vienna, Austria, 2–5 July 2002; pp. 617–624. [Google Scholar]
  47. Bellare, M.; Keelveedhi, S.; Ristenpart, T. Message-locked encryption and secure de-duplication. In Annual International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 2013; pp. 296–312. [Google Scholar]
  48. Bellare, M.; Keelveedhi, S. Interactive message-locked encryption and secure de-duplication. In IACR International Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2015; pp. 516–538. [Google Scholar]
  49. Li, J.; Li, Y.; Chen, X.; Lee, P.; Lou, W. A hybrid cloud approach for secure authorized de-duplication. IEEE Trans. Parallel Distrib. Syst. 2015, 26, 1206–1216. [Google Scholar] [CrossRef]
  50. Li, J.; Chen, X.; Huang, X.; Tang, S.; Xiang, Y.; Hassan, M.M.; Alelaiwi, A. Secure distributed de-duplication systems with improved reliability. IEEE Trans. Comput. 2015, 64, 3569–3579. [Google Scholar] [CrossRef]
  51. Li, X.; Li, J.; Huang, F. A secure cloud storage system supporting privacy-preserving fuzzy de-duplication. Soft Comput. 2016, 20, 1437–1448. [Google Scholar] [CrossRef]
  52. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public key encryption with keyword search. In Proceedings of the International Conference on the Theoryand Applications of Cryptographic Techniques, EUROCRYPT 2004, Interlaken, Switzerland, 2–6 May 2004; pp. 506–522. [Google Scholar]
  53. Cui, H.; Deng, R.H.; Li, Y.; Wu, G. Attribute-based storage supporting secure de-duplication of encrypted data in cloud. IEEE Trans. Big Data 2017. [Google Scholar] [CrossRef]
Figure 1. The system model of the PMCBED scheme.
Figure 1. The system model of the PMCBED scheme.
Sensors 19 03370 g001
Table 1. Comparison of computation costs in the three schemes.
Table 1. Comparison of computation costs in the three schemes.
Islam et al. Scheme [45]Hung et al. Scheme [37]Our Scheme
Computational cost of encryption for n receivers ( 2 n + 1 ) T p + ( n 2 + n ) T m n T p + n T e + ( n + 1 ) T m + n T h ( n + 1 ) T p + ( n + 2 ) T m + 2 T e + n T h
Complexity of encryption O ( n 2 ) O ( n ) O ( n 2 )
Computational cost of decryption for each receiver T m + n T h T p + 1 T M 3 T p + ( n + 3 ) T M + T e
Complexity of decryption O ( n ) O ( 1 ) O ( n )
De-duplicationNoNoYes
Securityselective-CCA securityselective-CCA securityCCA-security

Share and Cite

MDPI and ACS Style

Zhang, J.; Ou, P. Privacy-Preserving Multi-Receiver Certificateless Broadcast Encryption Scheme with De-Duplication. Sensors 2019, 19, 3370. https://doi.org/10.3390/s19153370

AMA Style

Zhang J, Ou P. Privacy-Preserving Multi-Receiver Certificateless Broadcast Encryption Scheme with De-Duplication. Sensors. 2019; 19(15):3370. https://doi.org/10.3390/s19153370

Chicago/Turabian Style

Zhang, Jianhong, and Peirong Ou. 2019. "Privacy-Preserving Multi-Receiver Certificateless Broadcast Encryption Scheme with De-Duplication" Sensors 19, no. 15: 3370. https://doi.org/10.3390/s19153370

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