Abstract
Public key encryption supporting equality test (PKEwET) schemes, because of their special function, have good applications in many fields, such as in cloud computing services, blockchain, and the Internet of Things. The original PKEwET has no authorization function. Subsequently, many PKEwET schemes have been proposed with the ability to perform authorization against various application scenarios. However, these schemes are incapable of traceability to the ciphertexts. In this paper, the ability of tracing to the ciphertexts is introduced into a PKEwET scheme. For the ciphertexts, the presented scheme supports not only the equality test, but also has the function of traceability. Meanwhile, the security of the proposed scheme is revealed by a game between an adversary and a simulator, and it achieves a desirable level of security. Depending on the attacker’s privileges, it can resist OW-CCA security against an adversary with a trapdoor, and can resist IND-CCA security against an adversary without a trapdoor. Finally, the performance of the presented scheme is discussed.
1. Introduction
With the continuous development of the Internet of Things (IoT), the security of data has gotten more attention. In order to ensure the security of data, data are stored on a server by encryption. However, it is inconvenient for effective application when the data are encrypted, making it impossible to search within encrypted data. Therefore, searchable encryption (SE) is presented [1]. The aim of SE is to produce a tag related to ciphertext, and to classify the ciphertexts. Since this primitive approach was proposed, many cryptographers have studied it extensively and deeply [2,3,4,5,6]. However, the same ciphertext cannot be classified and stored by SE schemes. A new cryptographic primitive approach emerged as the times required, namely the public key encryption supporting equality test (PKEwET) [7]. In this paper, traceability is introduced into the PKEwET scheme.
1.1. Related Work
The PKEwET scheme resolves the problem of data matching in many application environments, such as in cloud computing, health service systems, and IoT. It can compare the consistency of the ciphertexts without the secret key. Recently, the research scope of PKEwET has focused on the three aspects of authorization, security scheme, and efficiency of the PKEwET scheme. Some progress in PKEwET is reviewed as follows:
For the authorization, Tang et al. and Huang et al. proposed PKEwET schemes supporting authorization from the user and ciphertext, respectively [8,9,10,11,12,13]. Then, Ma et al. extended the authorization mechanism to multi-user environments [14]. For more convenient application, Ma et al. proposed four types of authorization policies, namely user level, ciphertext level, user-specific ciphertext level, and ciphertext-to-user level authorization [15]. To simplify the maintenance of public key certificates, Ma et al. introduced the equality test algorithm into an identity-based encryption scheme [16]. For more convenient application to smart cities, Yang et al. proposed a filtered equality test scheme [17]. Later, Wang et al. combined signcryption and an equality test [18]. Recently, Duong et al. presented new lattice-based PKEwET schemes [19].
For the security, in 2016, Lee et al. improved the scheme of Ma, and proposed a new scheme that achieved IND-CCA security [20], and presented an equality test scheme based on the standard model for the first time [21]. In 2017, Wang et al. and Huang et al. proposed a PKEwET scheme from the ciphertext level, and presented the proof of security under the standard model [22,23]. Subsequently, some other PKEwET schemes based on the standard model have been proposed [24,25].
For the efficiency of the PKEwET schemes, Lin et al. and Zhu et al. proposed pairing-free equality test schemes [26,27]. The scheme of Tang was improved upon by Wu et al. [28,29], where the efficiency of computing increased by 36.7% in encryption and by 39.24% in the test algorithm. In 2018, Qu et al. introduced a certificate-less PKEwET scheme [30]. This scheme was improved upon by Elhabob et al. [31,32]. In 2019, Wu et al. combined Zhu et al.’s and Ma et al.’s schemes, and proposed the pairing-free scheme based identity [33]. In the same year, Lee et al. proposed a new PKEwET scheme, from generic assumptions in the random oracle model [34]. To reduce the cost of computing and communication, Ling et al. introduced the group mechanism into a PKEwET algorithm [35].
For convenience in cloud computing of the PKEwET scheme, key-policy attribute-based encryption was introduced by Zhu et al. [36]. In 2018, ciphertext-policy attribute-based encryption was introduced into a PKEwET scheme by Wang et al. [37]. Subsequently, some improvement schemes were put forward [38,39,40,41].
Driven by interests, some users may disclose their own secret keys to non-group users intentionally or unintentionally. However, it is difficult for the malicious user to be tracked down by the system. The problem of key abuse brings great security risks to PKEwET systems. To solve this problem, we introduce a tracking function into a PKEwET system.
1.2. Contributions
In this paper, traceability is introduced into a group ID-based encryption (GIBE) scheme. The motivation is to make a GIBE supporting traceability and an equality test function to the ciphertexts. The key contributions can be listed as follows:
- We show that the GIBE algorithm is unable to compare ciphertexts, and has no equality test function without the secret key . To overcome these limitations, we combine the GIBE and PKEwET algorithms. Additionally, all of PKEwET algorithms are untraceable to the encrypted ciphertexts, the idea of traceability is introduced into the PKEwET algorithm, and we propose the traceable GIBE with an equality test scheme (T-GIBEwET).
- Two types of adversaries are described, and the security of the proposed scheme is proved in details from two types of adversaries. The presented scheme achieves a desirable security. With a trapdoor, the T-GIBEwET scheme can resist OW-CCA security. Without a trapdoor, the T-GIBEwET scheme can resist IND-CCA security.
- The performance of the T-GIBEwET scheme is discussed. Compared to existing equality test schemes, it is more efficient and more practical in many scenarios.
1.3. Outline of This Paper
The rest of the proposal is organized as follows: some preliminaries, some basic definitions, assumptions and the security model are presented in Section 2. The details of the T-GIBEwET scheme are presented in Section 3. The security of the T-GIBEwET scheme is discussed in Section 4. In Section 5, the performance analysis of the T-GIBEwET scheme is represented. Finally, the concluding remarks of this paper are summarized in Section 6.
2. Preliminaries
In this section, we present the safety objectives, cryptographic assumptions and security models used in this paper.
2.1. Decisional Bilinear Diffie–Hellman Assumption
The proposed scheme is secure under the decisional bilinear Diffie–Hellman assumption.
In this algorithm, the challenger picks and flips coin randomly.
- If , outputs .
- Otherwise, outputs .
Then, the adversary gives a guess of .
2.2. Definition of PKEwET
The PKEwET scheme contains four algorithms [7]:
- (1)
- KeyGen (): This procedure randomly selects , and outputs the public/secret key pair , where g is a generator of G.
- (2)
- Encrypt (): This procedure selects the numbers randomly. Then, it outputs the ciphertext as follows:Use r to compute:Output the ciphertext .
- (3)
- Decrypt(): Given and a ciphertext , the procedure runs as follows:If and , output M; otherwise, return ⊥.
- (4)
- Test(): Given the procedure runs as follows:Then, check whether holds. If yes, it means that and output 1. Otherwise, it means that and output 0.
2.3. Group ID-Based Encryption
A group ID-based encryption scheme consists of the following six algorithms [42]:
- (1)
- Setup (l): With the security parameter l, this procedure exports system public parameters and .
- (2)
- KeyGengroup (): With system public parameters , this procedure exports the public key and secret key of group users.
- (3)
- Extract (): With a user’s identity , this procedure outputs the public key and secret key of users.
- (4)
- Join (): This algorithm is an interactive protocol between the group manager and the prospective user; it takes the group user’s as inputs, and outputs the group public key .
- (5)
- Encrypt (): This algorithm takes the public keys , of the group manager, of the user i, and the receiver’s public key and the message M as inputs, and outputs a ciphertext .
- (6)
- Decrypt (): This algorithm is run by the receiver; it takes the group public key , the receiver’s secret key , and the ciphertext as inputs, and outputs the message M or an error symbol ⊥.
2.4. System Models
Figure 1 illustrates the system model of T-GIBEwET. The system has four roles: the group manger, the users, the tester, and a trusted third party. The trusted third party generates the private key for users. The group manger generates the group public key and group secret key for the group users. The group users encrypt and send the private data to the tester. The tester is authorized and gains a trapdoor .
Figure 1.
System Model.
An integrated T-GIBEwET scheme consists of nine algorithms: Setup, KeyGengroup, Extract, Join, Encrypt, Decrypt, Trace, Auth, and Test.
- (1)
- Setup (l): With the security parameter l, this procedure exports the system public parameters and .
- (2)
- KeyGengroup (): With system public parameters , this procedure exports the public key and secret key of group users.
- (3)
- Extract (): With a user’s identity , this procedure outputs the public key and secret key of users.
- (4)
- Join (): This algorithm is an interactive protocol between the group manager and the prospective user; it takes the group user’s as inputs, and outputs the group public key .
- (5)
- Encrypt (): This algorithm takes the public keys and of the group manager, of the user i, the receiver’s public key , and the message M as inputs, and outputs a ciphertext .
- (6)
- Decrypt (): This algorithm is run by the receiver, it takes the group public key , the receiver’s secret key , and the ciphertext as inputs, and outputs the message M or an error symbol ⊥.
- (7)
- Trace (): This algorithm is run by the group manger; it takes group secret key , , , and a ciphertext as inputs, and outputs the user’s .
- (8)
- Auth (): This algorithm is run by the group manger, and outputs the group trapdoor .
- (9)
- Test (): This algorithm is run by the tester; it takes the two ciphertexts and as inputs, and outputs 1 or 0.
2.5. Security Models
According to different permissions, we show two kinds of adversaries in our proposal.
- adversary: With a trapdoor, the adversary cannot recover the plaintext after receiving the challenge ciphertext.
- adversary: Without a trapdoor, the adversary cannot tell by which message is encrypted.
OW-CCA security in T-GIBEwET.
adversary and simulator ’s game is played as in Figure 2.
Figure 2.
OW-CCA security model.
The advantage of in the aforementioned game is defined as follows:
As described in Figure 2, enjoys , , , , and queries in Phase 1, and answers all queries truthfully. When decides to discontinue queries, selects a challenge message M and generates the challenge ciphertext . Then, enjoys , , , , and queries as Phase 1, but the condition is that does not appear in . When decides to discontinue queries, guesses to .
Definition 1.
The T-GIBEwET scheme is OW-CCA security, if all polynomial time and the advantage of ( Pr) is negligible in the above game.
IND-CCA security in T-GIBEwET.
adversary and simulator ’s game is played as in Figure 3.
Figure 3.
IND-CCA Security Model.
The advantage of in the aforementioned game is defined as follows:
As described in Figure 3, enjoys , , , and queries in Phase 1, and answers all queries truthfully. When decides to discontinue queries, selects the two challenge messages , . Given and , outputs based on a random selection of and . Then, enjoys , , , and queries as Phase 1, but the condition is that does not appear in . When decides to discontinue queries, guesses to .
Definition 2.
The T-GIBEwET scheme is IND-CCA security, if all polynomial time and the advantage of ( Pr is negligible in the above game.
Definition 3
(Correctness). If a scheme is correct, for any , , , , , and , the following conditions must be satisfied:
- (1)
- For any , Decrypt(Encrypt always holds.
- (2)
- For any ciphertexts and , if , it holds that
- (3)
- For any ciphertexts and , if , it holds that
2.6. Symbols
In this paragraph, we summarize some symbols used in the proposed scheme. These symbols will assist readers to read and understand the following sections. These symbols are listed in Table 1.
Table 1.
Symbols used in the proposed scheme.
3. Our Constructions
This section provides the proposed T-GIBEwET scheme as follows.
- (1)
- Setup(l): With the security parameter l, this procedure exports the system public parameters . Choose hash functions: , , , ; here means the length of elements in . The master key is s.
- (2)
- KeyGengroup(): This procedure randomly selects , and outputs the group secret key .
- (3)
- Extract(): With a string , this procedure outputs the public key and secret key as follows:
- Outputs a public key .
- Outputs a secret key .
- (4)
- Join(): This procedure outputs the group public key for user .
- (5)
- Encrypt(): This procedure selects numbers randomly. Then, it outputs the ciphertext as follows:Use to compute:Output the ciphertext ,where:
- (6)
- Decrypt(): Given and a ciphertext , the procedure runs as follows:If and , output M; otherwise, return ⊥.
- (7)
- Trace(): Given , and a ciphertext , the procedure runs as follows:Then, check whether and holds. If yes, it means that is encrypted by .
- (8)
- The algorithm from the authorization function and test function:Suppose (resp. ) is a ciphertext of (resp. ).
- Auth(): Outputs the group trapdoor .
- Test():This procedure takes the inputs and and exports as follows:Use and to decide whether . If yes, output 1, which means . Otherwise, export 0, which means .
Theorem 1.
According to Definition 3, the above T- scheme is correct.
Proof.
We show in turn that the three conditions of Definition 3 are all satisfied.
- (1)
- The first condition is easy to verify.
- (2)
- Considering the second condition, for any , , , , , , the following equalities hold.Given a group trapdoor and two ciphertexts and , we can compute as follows:Use to compute .Use to compute . If , then , which means
- (3)
- As for the third condition, we have the following fact:As in the above calculation, for any message , if , which means . Then, holds.
□
4. Security Analysis
This section analyzes the security of the scheme and authorization.
Theorem 2.
For a type-1 adversary, under the random oracle model, the presented T-GIBEwET scheme is OW-CCA secure.
Proof.
Let be Type-1 adversary breaking the T-GIBEwET scheme in polynomial time. makes at most -queries, -queries, -queries, -queries, -queries, key retrieve queries, encryption queries, and decryption queries. We give to the simulator . The aim of is to recover the plaintext of with a non-negligible advantage.
The game between and is described as follows:
Game
Setup: runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create a group public key for user , and runs Auth() to create a group trapdoor . Then, randomly selects as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to .
Moreover, the challenger prepares the five hash lists to record all hash queries and answer the random oracle queries, where all hash lists are empty at the beginning. If the same input is asked multiple times, the same answer will be returned.
Phase 1: responds to the queries made by in the following ways:
- -query: maintains a list of 3-tuples in . When , ask for queries, and runs as follows:
- -
- If the query already in the list in the form of , outputs to .
- -
- Otherwise, generates randomly. Then, it outputs as follows:
- ∗
- If , chooses a random number and computes to .
- ∗
- Otherwise, computes to .
- -
- adds the tuple into the list.
- -query: maintains a list of 2-tuples in . chooses randomly, returns to , and adds the tuple to the list.
- -query: maintains a list of 2-tuples in . chooses randomly, returns to , and adds the tuple to the list.
- -query: maintains a list of 2-tuples in . chooses randomly, returns to , and adds the tuple to the list.
- -query: maintains a list of 2-tuples in . chooses randomly, returns to , and adds the tuple to the list.
- Extract Query(): When inputting , sends to . If , it means that . Then, sends ⊥ to .
- Encryption Query: runs an encryption algorithm and outputs .
- Decryption queries: With the to the decryption query, returns to as follows:
- -
- If , uses the private key and outputs the decryption query to .
- -
- Otherwise, outputs ⊥ to .
- Authorization Query: outputs the group trapdoor to .
Challenge: chooses and . It then outputs as follows:
The ciphertext is output, where:
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1; the constraint is that does not appear in the decryption queries.
Guess: outputs .
Let be the event that in Game . Then, the advantage is:
Game
Setup: runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create group public key for user , and runs Auth() to create the group trapdoor . Then, randomly selects as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to .
Moreover, the challenger prepares the five hash lists to record all hash queries and answer the random oracle queries, where all hash lists are empty at the beginning. If the same input is asked multiple times, the same answer will be returned.
Phase 1: responds to the queries made by in the following ways:
- -query (), -query (), -query (), -query (), and -query () are the same as in Game .
- Extract Query(): Same as in Game .
- Encryption Query: outputs to as follows: chooses randomly, and performs the -query(), -query() to obtain , , the -query() to obtain , the -query() to obtain , the -query() to obtain . and the -query() to obtain .adds to the list, adds to the list, adds () to the list, and adds () to the list.
- Decryption queries: With the to the decryption query, returns to as follows: performs the to obtain answer , and performs the -query() to obtain answer . Then, performsThen, it verifies and . If the verification fails, it returns ⊥. Otherwise, outputs M to .
- Authorization Query: Same as in Game .
Challenge: chooses , and . Then, it outputs as follows:
where . It outputs the ciphertext , and adds into .
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1, where the constraint is that does not appear in the decryption queries.
Guess: outputs .
Let be the event that in Game . Then, the advantage is:
Game
Setup: runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create the group public key for user , and runs Auth() to create the group trapdoor . Then, randomly select as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to .
Moreover, the challenger prepares the five hash lists to record all hash queries and answer the random oracle queries, where all hash lists are empty at the beginning. If the same input is asked multiple times, the same answer will be returned.
Phase 1: responds to the queries made by in the following ways:
- The -query(), -query(), -query(), and -query() are the same as in Game .
- The -query() is the same as in Game , except that asks .
- Extract Query(): Same as in Game .
- Encryption Query: Same as in Game .
- Decryption Queries: Same as in Game .
- Authorization Query: Same as in Game .
Challenge: chooses , and . Then, it outputs as follows:
where . It outputs the ciphertext , and adds into .
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1, whereqthe constraint is that does not appear in the decryption Queries, and if asks for the decryption of , where , outputs ⊥.
Guess: outputs . □
Let be the event that in Game .
Because is a random value in Game and Game , the challenge ciphertexts generated in Game and Game follow the same distribution. Therefore, if the event does not occur, Game is identical to Game , and we can figure out
Next, we show that the probability of event occurring in Game is negligible.
Lemma 1.
When the C-BDH problem is intractable, there is a negligible probability that the event happens in Game.
Proof.
Suppose that is non-negligible; we can construct a simulator to break the C-BDH assumption by using ’s attacks. With the tuple , the aim is to obtain .
Setup: randomly selects as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to . runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create the group public key for user , and runs Auth() to create the group trapdoor .
Phase 1: responds to the queries made by in the following ways:
- -query(), -query(), -query(), and -query() are same as in Game .
- -query() is same as in Game , except that asks
- Extract Query(): Same as in Game .
- Encryption Query: Same as in Game , except that for the query , selects randomly and outputs a ciphertext as follows:performs the -query() and -query() to obtain and , respectively, the -query() to obtain , the -query() to obtain , the -query() to obtain , and the -query() to obtain .adds to the list, adds to the list, and adds () to the list.
- Decryption queries: Same as in Game .
- Authorization Query: Same as in Game .
Challenge: chooses , and . Then, it outputs as follows:
where . It outputs the ciphertext , and adds into .
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1; the constraint is that does not appear in the decryption queries, and if asks for the decryption of , where , outputs ⊥.
Guess: outputs . □
Theorem 3.
Under the random oracle model, the proposed T-GIBEwET scheme is IND-CCA secure against a type-2 adversary.
Proof.
Let be a type-2 adversary breaking the T-GIBEwET scheme in polynomial time. makes at most -queries, -queries, -queries, -queries, -queries, key retrieve queries, encryption queries, and decryption queries. We give to the simulator . The aim of is to recover the plaintext of with a non-negligible advantage.
The game between and is described as follows:
Game
Setup: runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create the group public key for user , and runs Auth() to create the group trapdoor . Then, randomly selects as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to .
Moreover, the challenger prepares the five hash lists to record all hash queries and answer the random oracle queries, where all hash lists are empty at the beginning. If the same input is asked multiple times, the same answer will be returned.
Phase 1: responds to the queries made by in the following ways:
- -query: maintains a list of 3-tuples in . When asks for queries, runs as follows:
- -
- If the query is already in the list in the form of , outputs to .
- -
- Otherwise, generates randomly. Then, it outputs as follows:
- ∗
- If , chooses a random number and computes to .
- ∗
- Otherwise, computes to .
- -
- adds the tuple into the list.
- -query: maintains a list of 2-tuples in . chooses randomly, puts out to and adds the tuple to the list.
- -query: maintains a list of 2-tuples in . chooses randomly, puts out to and adds the tuple to the list.
- -query: maintains a list of 2-tuples in . chooses randomly, puts out to and adds the tuple to the list.
- -query: maintains a list of 2-tuples in . chooses randomly, returns to and adds the tuple to the list.
- Extract Query(): On input of the , sends to . If , which means , then sends ⊥ to .
- Encryption Query: runs the encryption algorithm and outputs .
- Decryption queries: With the in the decryption query, returns to as follows:
- -
- If , uses the private key and outputs the decryption query to .
- -
- Otherwise, outputs ⊥ to .
- Authorization Query: It is not allowed.
Challenge: chooses randomly and sends them to . Then, takes and . It then outputs as follows:
Output the ciphertext ,
where:
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1, where the constraint are as follows:
- does not appear in the decryption queries.
- In the authorization query, all of the group users cannot be authorized.
Guess: outputs .
Let be the event that in Game . Then, the advantage is:
Game
Setup: runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create the group public key for user , and runs Auth() to create the group trapdoor . Then, randomly selects as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to .
Moreover, the challenger prepares the four hash lists to record all hash queries and answer the random oracle queries, where all hash list are empty at the beginning. If the same input is asked multiple times, the same answer will be returned.
Phase 1: responds to the queries made by in the following ways:
- -query(), -query(), -query(), -query(), and -query() are the same as in Game .
- Extract Query(): Same as in Game .
- Encryption Query: outputs to as follows:chooses randomly, and performs the -query() and -query() to obtain and , respectively, the -query() to obtain , the - query() to obtain , the -query() to obtain , and the -query() to obtain .adds to the list, adds to the list, adds () to the list, and adds () to the list.
- Decryption queries: With the to the decryption query, returns to as follows: performs the to obtain answer , and performs the -query() to obtain answer . Then, performsThen, and are verified. If the verification fails, it returns ⊥. Otherwise, outputs M to .
- Authorization Query: It is not allowed.
Challenge: chooses randomly and sends them to . Then, takes , and . It then outputs as follows:
where . It outputs the ciphertext , and adds into .
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1; the constraint are as follows:
- does not appear in the decryption queries.
- In the authorization query, all of the group users cannot be authorized.
Guess: outputs .
Let be the event that in Game . Then, the advantage is
Game
Setup: runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create the group public key for user , and runs Auth() to create the group trapdoor . Then, randomly selects as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to .
Moreover, the challenger prepares the five hash lists to record all hash queries and answers the random oracle queries, where all hash list are empty at the beginning. If the same input is asked multiple times, the same answer will be returned.
Phase 1: responds to the queries made by in the following ways:
- -query(), -query(), -query(), and -query() are the same as in Game .
- -query() is the same as in Game , except that asks .
- Extract Query(): Same as in Game .
- Encryption Query: Same as in Game .
- Decryption Queries: Same as in Game .
- Authorization Query: Same as in Game .
Challenge: chooses randomly and sends them to . Then, takes , and . It then outputs as follows:
where . It outputs the ciphertext , and adds into .
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1, where the constraint is that does not appear in the decryption queries, and if asks for the decryption of , where , outputs ⊥.
Guess: outputs . □
Let be the event that in Game .
Because is a random value in Game and Game , the challenge ciphertexts generated in Game and Game follow the same distribution. Therefore, if the event does not occur, Game is identical to Game . And we can figure out that
Next, we show that the probability of event occurring in Game is negligible.
Lemma 2.
When the C-BDH problem is intractable, there is negligible probability that the event will happen inGame.
Proof.
Suppose that is non-negligible; we can construct a simulator to break the C-BDH assumption by using the ’s attacks. With the tuple , the aim is to obtain .
Setup: randomly select as a challenger sender and a challenger receiver, respectively. Then, gives the public key and to . runs the algorithm Setup() to create the system parameters , runs the algorithm KeyGengroup() to create a group private key , runs the algorithm Join() to create the group public key for user , and runs Auth() to create the group trapdoor .
Phase 1: responds to the queries made by in the following ways:
- -query(), -query(), -query(), and -query() are the same as in Game .
- -query() is the same as in Game , except that asks for .
- Extract Query(): Same as in Game .
- Encryption Query: Same as in Game , except that for the query , selects randomly and outputs a ciphertext as follows:performs the -query() and -query() to obtain and , respectively, the -query() to obtain , the -query() to obtain , the -query() to obtain , and the -query() to obtain .adds to the list, adds to the list, adds () to the list, and adds () to the list.
- Decryption Queries: Same as in Game .
Challenge: chooses randomly and sends them to . Then, takes , , and . Then, it outputs as follows:
where . It outputs the ciphertext , and adds into .
Finally, it sends to as the challenge ciphertext.
Phase 2: performs the same queries as in Phase 1, where the constraint is that does not appear in the decryption queries, and if asks for the decryption of , where , outputs ⊥.
Guess: outputs . □
5. Performance Comparison
In this section, a performance comparison between the presented T-GIBEwET scheme and other related schemes is discussed. As illustrated in Table 2, our proposal supports the traceability function and others do not. In Table 3, the comparison of efficiency with PKEwET variants is shown. The second to sixth columns reveal the computational efficiency for the algorithms of encryption, decryption, authorization, testing, and tracing. Compared to [7,16,17,35], the proposed T-GIBEwET scheme is more efficient than [7,16,17] in the decryption algorithm and more efficient than [17] in the authorization algorithm. Both authorization and tracking are supported in this paper.
Table 2.
Comparison with other schemes.
Table 3.
Comparison of efficiency with other schemes.
6. Conclusions
In this paper we analyzed the PKEwET scheme, pointed out that the PKEwET algorithm is unable to keep track of ciphertexts in the cloud sever, and proposed the a traceable group ID-based encryption with an equality test scheme (T-GIBEwET). The T-GIBEwET algorithm is endowed with a special function: the users who are authorized by a trapdoor can test the ciphertexts in the cloud sever. Moreover, the proposed scheme supports the traceability function.
To simplify the public key management mechanism, the proposed scheme was designed with ID-based encryption. According to the competence of different users, the proposal can resist OW-CCA and IND-CCA security. Additionally, the T-GIBEwET scheme can resist a plaintext space attack.
Compared with other existing works, our proposal is more practical for use in cloud computing services.
Author Contributions
H.Z. provided the method. Q.X. verified the correctness of the method. H.Z. and D.X. wrote the first draft of the manuscript. H.Z. and D.X. provided the funding acquisition and T.L. provided the experiments. All authors contributed equally to this work and approved the submission. All authors have read and agreed to the published version of the manuscript.
Funding
This work was supported by the National Natural Science Foundation of China (no. 61801004), the National Natural Science Foundation of China (NSFC) (no. 61972050), the Projects of Henan Provincial Department of Science and Technology (no.212102310297), the Shandong Provincial Key Research and Development Program of China (2018CXGC0701), the Open Foundation of State Key Laboratory of Networking and Switching Technology (Beijing University of Posts and Telecommunications) (SKLNST-2019-2-17).
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.
Abbreviations
The following abbreviations are used in this manuscript:
| IoT | Internet of Things |
| SE | Searchable Encryption |
| IBEwET | ID-Based Encryption with Equality Test |
| GIBE | Group ID-Based Encryption |
| T-GIBEwET | Traceable GIBE with Equality Test Scheme |
References
- Boneh, D.; Crescenzo, G.D.; Ostrovsky, R.; Persiano, G. Public key encryption with keyword search. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 13–17 April 2004; pp. 506–522. [Google Scholar]
- Curtmola, R.; Garay, J.A.; Kamara, S.; Ostrovsky, R. Searchable symmetric encryption: Improved definitions and efficient constructions. J. Comput. Secur. 2011, 19, 895–934. [Google Scholar] [CrossRef] [Green Version]
- Wang, C.; Cao, N.; Li, J.; Ren, K.; Lou, W. Secure ranked keyword search over encrypted cloud data. In Proceedings of the 2010 IEEE 30th International Conference on Distributed Computing Systems, Genova, Italy, 21–25 June 2010. [Google Scholar]
- Benaloh, J.; Chase, M.; Horvitz, E. Patient controlled encryption: Ensuring privacy of electronic medical records. In Proceedings of the 2009 ACM Workshop on Cloud Computing Security, Chicago, CA, USA, 9–13 November 2009; pp. 103–114. [Google Scholar]
- Ma, M.; He, D.; Kumar, N. Certificateless Searchable Public Key Encryption Scheme for Industrial Internet of Things. IEEE Trans. Ind. Inform. 2018, 14, 759–767. [Google Scholar] [CrossRef]
- Wang, Y.; Sun, S.F.; Wang, J. Achieving Searchable Encryption Scheme with Search Pattern Hidden. IEEE Trans. Serv. Comput. 2020. [Google Scholar] [CrossRef]
- Yang, G.; Tan, C.H.; Huang, Q. Probabilistic public key encryption with equality test. In Proceedings of the Cryptographers Track at the RSA Conference, San Francisco, CA, USA, 1–5 March 2010; Springer: Berlin, Germany, 2010; pp. 119–131. [Google Scholar]
- Tang, Q. Towards public key encryption scheme supporting equality test with fine-grained authorization. In Proceedings of the Australasian Conference on Information Security and Privacy, Melbourne, VIC, Australia, 11–13 July 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 389–406. [Google Scholar]
- Tang, Q. Public key encryption schemes supporting equality test with authorisation of different granularity. Int. J. Appl. Cryptogr. 2012, 2, 304–321. [Google Scholar] [CrossRef]
- Tang, Q. Public key encryption supporting plaintext equality test and user-specified authorization. Secur. Commun. Netw. 2012, 5, 1351–1362. [Google Scholar] [CrossRef] [Green Version]
- Huang, K.; Tso, R.; Chen, Y. A New Public Key Encryption with Equality Test. In Proceedings of the International Conference on Network and System Security, New York, NY, USA, 3–5 November 2015; pp. 550–557. [Google Scholar]
- Huang, K.; Tso, R.; Chen, Y. PKE-AET: Public Key Encryption with Authorized Equality Test. Br. Comput. Soc. 2015, 2686–2697. [Google Scholar] [CrossRef]
- Huang, K.; Yu-Chi, C. Semantic Secure Public Key Encryption with Filtered Equality Test. In Proceedings of the 2015 12th International Joint Conference on e-Business and Telecommunications (ICETE), Alsace, France, 20–22 July 2015; pp. 327–334. [Google Scholar]
- Ma, S.; Zhang, M.; Huang, Q.; Yang, B. Public key encryption with delegated equality test in a multi-user setting. Comput. J. 2015, 58, 986–1002. [Google Scholar] [CrossRef] [Green Version]
- Huang, S.M.Q.; Zhang, M.; Yang, B. Efficient Public Key Encryption With Equality Test Supporting Flexible Authorization. IEEE Trans. Inf. Forensics Secur. 2015, 10, 458–470. [Google Scholar]
- Ma, S. Identity-based encryption with outsourced equality test in cloud computing. Inform. Sci. 2016, 328, 389–402. [Google Scholar] [CrossRef]
- Yang, M.; Wang, E. Identity-Based Encryption with Filtered Equality Test for Smart City Applications. Sensors 2019, 19, 3046. [Google Scholar]
- Wang, Y.; Pang, H.; Deng, R. Securing messaging services through efficient signcryption with designated equality test. Inf. Sci. 2019, 490, 146–165. [Google Scholar] [CrossRef]
- Duong, D.H.; Fukushima, K.; Kiyomoto, S.; Roy, P.S.; Susilo, W. Lattice-based public key encryption with equality test in standard model, revisited. arXiv 2020, arXiv:2005.03178. [Google Scholar]
- Lee, T.; San, L.; Seo, J.H.; Huaxiong, W. Semi-generic construction of public key encryption and identity-based encryption with equality test. Inf. Sci. 2016, 373, 419–440. [Google Scholar] [CrossRef]
- Lee, H.T.; Ling, S.; Seo, J.H.; Wang, H.; Youn, T.Y. Public Key Encryption with Equality Test in the Standard Model. Inf. Sci. 2020, 516, 89–108. [Google Scholar] [CrossRef]
- Huang, K.; Tso, R.; Chen, Y.C. Somewhat semantic secure public key encryption with filtered-equality-test in the standard model and its extension to searchable encryption. J. Comput. Syst. Sci. 2017, 89, 400–409. [Google Scholar] [CrossRef]
- Wang, Y.; Pang, H.; Tran, N.H. CCA Secure encryption supporting authorized equality test on ciphertexts in standard model and its applications. Inf. Sci. 2017, 414, 289–305. [Google Scholar] [CrossRef]
- Zhang, K.; Chen, J.; Lee, H. Efficient Public Key Encryption with Equality Test in The Standard Model. Theor. Comput. Sci. 2019, 755, 65–80. [Google Scholar] [CrossRef]
- Elhabob, R.; Zhao, Y.; Sella, I.; Xiong, H. Public Key Encryption with Equality Test for Heterogeneous Systems in Cloud Computing. KSII Trans. Internet Inf. Syst. 2019, 13, 4742–4770. [Google Scholar]
- Lin, X.J.; Qu, H.; Zhang, X. Public Key Encryption Supporting Equality Test and Flexible Authorization without Bilinear Pairings. Comput. Commun. 2021, 170, 190–199. [Google Scholar] [CrossRef]
- Zhu, H.; Wang, L.; Ahmad, H.; Niu, X. Pairing-free equality test over short ciphertexts. Int. J. Distrib. Sens. Netw. 2017, 13, 1550147717715605. [Google Scholar] [CrossRef]
- Wu, L.; Zhang, Y.; Choo, K. Efficient and secure identity-based encryption scheme with equality test in cloud computing. Future Gener. Comput. Syst. 2017, 73, 22–31. [Google Scholar] [CrossRef]
- Wu, L.; Zhang, Y.; Choo, K. Efficient Identity-Based Encryption Scheme with Equality Test in Smart City. IEEE Trans. Sustain. Comput. 2018, 3, 44–55. [Google Scholar] [CrossRef]
- Qu, H.; Zhen, Y.; Lin, X. Certificateless Public Key Encryption with Equality Test. Inf. Sci. 2018, 462, 76–92. [Google Scholar] [CrossRef]
- Elhabob, R.; Zhao, Y.; Hassan, A.; Xiong, H. PKE-ET-HS: Public Key Encryption with Equality Test for Heterogeneous Systems in IoT. Wirel. Pers. Commun. 2020, 113, 313–335. [Google Scholar] [CrossRef]
- Elhabob, R.; Zhao, Y.; Sella, I.; Xiong, H. An efficient certificateless public key cryptography with authorized equality test in IIoT. J. Ambient. Intell. Humaniz. Comput. 2020, 11, 1065–1083. [Google Scholar] [CrossRef]
- Wu, L.; Zhang, Y.; Choo, K.R.; He, D. Pairing-Free Identity-Based Encryption with Authorized Equality Test in Online Social Networks. Int. J. Found. Comput. Sci. 2019, 30, 647–664. [Google Scholar] [CrossRef]
- Lee, H.T.; Ling, S.; Seo, J.H.; Wang, H. Public Key Encryption with Equality Test from Generic Assumptions in the Random Oracle Model. Inf. Sci. 2019, 500, 15–33. [Google Scholar] [CrossRef]
- Ling, Y.; Ma, S.; Huang, Q. Group Public Key Encryption with Equality Test Against Offline Message Recovery Attack. Inf. Sci. 2020, 510, 16–32. [Google Scholar] [CrossRef]
- Zhu, H.; Wang, L.; Ahmad, H. Key-policy attribute-based encryption with equality test in cloud computing. IEEE Access 2017, 5, 20428–20439. [Google Scholar] [CrossRef]
- Wang, Q.; Peng, L.; Hu, X. Ciphertext-Policy Attribute-Based Encryption With Delegated Equality Test in Cloud Computing. IEEE Access 2018, 6, 760–771. [Google Scholar] [CrossRef]
- Eltayieb, N.; Elhabob, R.; Hassan, A. Fine-grained attribute-based encryption scheme supporting equality test. In Proceedings of the International Conference on Algorithms and Architectures for Parallel Processing, Guangzhou, China, 15–17 November 2018; Springer: Berlin, Germany, 2018; pp. 220–233. [Google Scholar]
- Sun, J.; Bao, Y.; Nie, X. Attribute-hiding predicate encryption with equality test in cloud computing. IEEE Access 2018, 6, 31621–31629. [Google Scholar] [CrossRef]
- Cui, Y.; Huang, Q.H.Q.J. Ciphertext-policy attribute-based encrypted data equality test and classification. Comput. J. 2019, 62, 1166–1177. [Google Scholar] [CrossRef]
- Lin, X.J.; Wang, Q.; Sun, L. Identity-based encryption with equality test and datestamp-based authorization mechanism. Theor. Comput. Sci. 2021, 117–132. [Google Scholar] [CrossRef]
- Luo, X.; Ren, Y.; Liu, J. Identity-based group encryption. In Proceedings of the Australasian Conference on Information Security and Privacy, Melbourne, Australia, 4–6 July 2016; Springer: Berlin, Germany, 2016; pp. 87–102. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).


