Next Article in Journal
Hierarchical Amplitude-Aware Permutation Entropy-Based Fault Feature Extraction Method for Rolling Bearings
Next Article in Special Issue
Retrieval and Ranking of Combining Ontology and Content Attributes for Scientific Document
Previous Article in Journal
Event-by-Event Investigation of the Two-Particle Source Function in Heavy-Ion Collisions with EPOS
Previous Article in Special Issue
Missing Value Imputation Method for Multiclass Matrix Data Based on Closed Itemset
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Traceable Scheme of Public Key Encryption with Equality Test

1
School of Digital Media and Art Design, Nanyang Institute of Technology, Nanyang 473004, China
2
State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China
3
Graphic Image and Intelligent Processing in Henan Province, International Joint Laboratory, Nanyang Institute of Technology, Nanyang 473000, China
4
School of Computer and Information, Anhui Normal University, Wuhu 241002, China
*
Author to whom correspondence should be addressed.
Entropy 2022, 24(3), 309; https://doi.org/10.3390/e24030309
Submission received: 11 February 2022 / Revised: 15 February 2022 / Accepted: 15 February 2022 / Published: 22 February 2022
(This article belongs to the Special Issue Advances in Information Sciences and Applications)

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 s k . 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 S picks a , b , c , z Z p * and flips coin c o i n { 0 , 1 } randomly.
  • If c o i n = 0 , S outputs ( g , g a , g b , g c , e ( g , g ) z ) .
  • Otherwise, S outputs ( g , g a , g b , g c , e ( g , g ) a b c ) .
Then, the adversary A gives a guess of c o i n .

2.2. Definition of PKEwET

The PKEwET scheme contains four algorithms [7]:
(1)
KeyGen ( 1 l ): This procedure randomly selects x Z q * , and outputs the public/secret key pair ( p k = g x , s k = x ) , where g is a generator of G.
(2)
Encrypt ( M , p k ): This procedure selects the numbers r Z q * randomly. Then, it outputs the ciphertext C T as follows:
Use r to compute:
C 1 = g r
C 2 = M r
C 3 = H a s h ( C 1 , C 2 , g x r ) ( M r )
Output the ciphertext C T = ( C 1 , C 2 , C 3 ) .
(3)
Decrypt( C T , s k ): Given s k and a ciphertext C T , the procedure runs as follows:
M r = C 3 H a s h ( C 1 , C 2 , C 1 x )
If C 1 = g r and C 2 = M r , output M; otherwise, return ⊥.
(4)
Test( C T i , C T j ): Given C T i = ( C i , 1 , C i , 2 , C i , 3 ) , C T j = ( C j , 1 , C j , 2 , C j , 3 the procedure runs as follows:
T 1 = e ( C i , 1 , C j , 2 )
T 2 = e ( C j , 1 , C i , 2 )
Then, check whether T 1 = T 2 holds. If yes, it means that M i = M j and output 1. Otherwise, it means that M i M j 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 s p and m s k .
(2)
KeyGengroup ( s p ): With system public parameters s p , this procedure exports the public key and secret key g s k of group users.
(3)
Extract ( m s k , s p , I D ): With a user’s identity I D { 0 , 1 } * , this procedure outputs the public key and secret key d k of users.
(4)
Join ( g s k , h I D ): This algorithm is an interactive protocol between the group manager and the prospective user; it takes the group user’s I D as inputs, and outputs the group public key g p k .
(5)
Encrypt ( M , s p , g p k i , d k I D i , I D j ): This algorithm takes the public keys s p , g p k i of the group manager, d k I D i of the user i, and the receiver’s public key I D j and the message M as inputs, and outputs a ciphertext C T .
(6)
Decrypt ( C T , g p k , d k I D j ): This algorithm is run by the receiver; it takes the group public key g p k , the receiver’s secret key d k I D j , and the ciphertext C T 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 d k 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 g t d .
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 s p and m s k .
(2)
KeyGengroup ( s p ): With system public parameters s p , this procedure exports the public key and secret key g s k of group users.
(3)
Extract ( m s k , s p , I D ): With a user’s identity I D { 0 , 1 } * , this procedure outputs the public key and secret key d k of users.
(4)
Join ( g s k , h I D ): This algorithm is an interactive protocol between the group manager and the prospective user; it takes the group user’s I D as inputs, and outputs the group public key g p k .
(5)
Encrypt ( M , s p , g p k i , d k I D i , I D j ): This algorithm takes the public keys s p and g p k i of the group manager, d k I D i of the user i, the receiver’s public key I D j , and the message M as inputs, and outputs a ciphertext C T .
(6)
Decrypt ( C T , g p k , d k I D j ): This algorithm is run by the receiver, it takes the group public key g p k , the receiver’s secret key d k I D j , and the ciphertext C T as inputs, and outputs the message M or an error symbol ⊥.
(7)
Trace ( C T , g s k , h I D i , g p k ): This algorithm is run by the group manger; it takes group secret key g s k , h I D i , g p k , and a ciphertext C T as inputs, and outputs the user’s I D .
(8)
Auth ( g s k ): This algorithm is run by the group manger, and outputs the group trapdoor g t d .
(9)
Test ( C T i , C T j , g t d ): This algorithm is run by the tester; it takes the two ciphertexts C T i , C T j and g t d as inputs, and outputs 1 or 0.

2.5. Security Models

According to different permissions, we show two kinds of adversaries in our proposal.
  • T y p e α 1 adversary: With a trapdoor, the adversary cannot recover the plaintext after receiving the challenge ciphertext.
  • T y p e α 2 adversary: Without a trapdoor, the adversary cannot tell by which message is C T * encrypted.
OW-CCA security in T-GIBEwET.
T y p e α 1 adversary A 1 and simulator S ’s game is played as in Figure 2.
In Figure 2, O 1 represents the H 1 , H 2 , H 3 , H 4 , and H 5 queries. O 2 ( I D ) = Extract ( m s k , I D ) , O 3 ( M , I D j , g p k , s p , d k I D i ) = Encrypt ( M , I D j , g p k , s p , d k I D i ) , O 4 ( I D , C T ) = Decrypt ( d k I D , C T ) , O 5 ( g t d , · ) = Auth ( g t d , · ) , O 6 = O 1 , O 8 ( M , I D j , g p k , s p , d k I D i ) = O 3 ( M , I D j , g p k , s p , d k I D i ) = Encrypt ( M , I D j , g p k , s p , d k I D i ) , O 10 ( g t d , · ) = O 5 ( g t d , · ) = Auth ( g t d , · ) , but
O 7 ( i ) = O 2 ( i ) i t o t h e r w i s e
and
O 9 ( i , C T i ) = O 4 ( i , C T i ) C T i C T * o t h e r w i s e
The advantage of A 1 in the aforementioned game is defined as follows:
A d v P K E w E T F A , A 1 O W C C A ( k ) = Pr [ M t = M t * ]
As described in Figure 2, A 1 enjoys O 1 , O 2 , O 3 , O 4 , and O 5 queries in Phase 1, and S answers all queries truthfully. When A 1 decides to discontinue queries, S selects a challenge message M and generates the challenge ciphertext C T * . Then, A 1 enjoys O 6 , O 7 , O 8 , O 9 , and O 10 queries as Phase 1, but the condition is that C T * does not appear in O 9 . When A 1 decides to discontinue queries, A 1 guesses M to S .
Definition 1.
The T-GIBEwET scheme is OW-CCA security, if all polynomial time and the advantage of A 1 ( A d v T G I B E w E T , A 1 O W C C A ( l ) = Pr [ M = M ] ) is negligible in the above game.
IND-CCA security in T-GIBEwET.
T y p e α 2 adversary A 2 and simulator S ’s game is played as in Figure 3.
In Figure 3, O 1 represents H 1 , H 2 , H 3 , H 4 , and H 5 queries. O 2 ( I D ) = Extract ( m s k , I D ) , O 3 ( M , I D j , g p k , s p , d k I D i ) = Encrypt ( M , I D j , g p k , s p , d k I D i ) , O 4 ( I D , C T ) = Decrypt ( d k I D , C T ) , O 5 = O 1 , O 7 ( M , I D j , g p k , s p , d k I D i ) = O 3 ( M , I D j , g p k , s p , d k I D i ) = Encrypt ( M , I D j , g p k , s p , d k I D i ) , but
O 6 ( i ) = O 2 ( i ) i t o t h e r w i s e
and
O 8 ( i , C T i ) = O 4 ( i , C T i ) C T i C T * o t h e r w i s e
The advantage of A 2 in the aforementioned game is defined as follows:
A d v P K E w E T F A , A 2 I N D C C A ( k ) = | Pr [ b = b * ] 1 / 2 | )
As described in Figure 3, A 2 enjoys O 1 , O 2 , O 3 , and O 4 queries in Phase 1, and S answers all queries truthfully. When A 2 decides to discontinue queries, A 2 selects the two challenge messages M 0 , M 1 . Given M 0 and M 1 , S outputs C T * based on a random selection of M 0 and M 1 . Then, A 2 enjoys O 5 , O 6 , O 7 , and O 8 queries as Phase 1, but the condition is that C T * does not appear in O 8 . When A 2 decides to discontinue queries, A 2 guesses b to S .
Definition 2.
The T-GIBEwET scheme is IND-CCA security, if all polynomial time and the advantage of A 2 ( A d v T G I B E w E T , A 2 I N D C C A ( l ) = | Pr [ b = b ] 1 / 2 | ) is negligible in the above game.
Definition 3
(Correctness). If a T G I B E w E T scheme is correct, for any s p Setup ( l ) , g s k KeyGengroup ( s p ) , d k Extract ( m s k , s p , I D ) , g p k Join ( g s k , h I D ) , C T j Encrypt ( M , s p , g p k i , d k I D i , I D j ) , C T i Encrypt ( M , s p , g p k j , d k I D j , I D i ) and g t d Auth ( g s k ) , the following conditions must be satisfied:
(1) 
For any M M , Decrypt(Encrypt ( M , s p , g p k j , d k I D j , I D i ) , d k I D i ) = M always holds.
(2) 
For any ciphertexts C T i and C T j , if D e c r y p t ( C T i , d k I D i ) = D e c r y p t ( C T j , d k I D j ) , it holds that
T e s t ( C T i , C T j , g t d ) = 1 .
(3) 
For any ciphertexts C T i and C T j , if D e c r y p t ( C T i , d k I D i ) D e c r y p t ( C T j , d k I D j ) , it holds that
T e s t ( C T i , C T j , g t d ) = 0 .

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.

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 s p = ( g , G , G T , e , g s , H 1 , H 2 , H 3 , H 4 , H 5 ) . Choose hash functions: H 1 : { 0 , 1 } * G * , H 2 : G T G , H 3 : G T { 0 , 1 } l + l 1 , H 4 , H 5 : { 0 , 1 } * { 0 , 1 } l ; here l 1 means the length of elements in Z q . The master key m s k is s.
(2)
KeyGengroup( s p ): This procedure randomly selects s 1 , s 2 Z q * , and outputs the group secret key g s k = ( s 1 , s 2 ) .
(3)
Extract( m s k , s p ): With a string I D { 0 , 1 } * , this procedure outputs the public key and secret key as follows:
  • Outputs a public key h I D = H 1 ( I D ) G * .
  • Outputs a secret key d k I D = h I D s .
(4)
Join( g s k , h I D ): This procedure outputs the group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D .
(5)
Encrypt( M , s p , g p k i , d k I D i , I D j ): This procedure selects numbers r 1 , r 2 Z q * randomly. Then, it outputs the ciphertext C T as follows:
Use r 1 , r 2 to compute:
C 1 = h I D i s 1 r 1
C 2 = M r 2 H 2 ( U 1 r 1 )
C 3 = g r 1
C 4 = g s r 2
C 5 = h I D i s r 1
C 6 = H 3 ( U 2 r 1 ) ( M r 1 )
C 7 = H 5 ( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s )
C 8 = H 4 ( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) .
Output the ciphertext C T = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 , C 7 , C 8 ) ,where:
U 1 = e ( h I D i s , g s 1 s 2 )
U 2 = e ( h I D j , g s )
(6)
Decrypt( C T , d k I D j ): Given d k I D j and a ciphertext C T , the procedure runs as follows:
M r 1 = C 6 H 3 ( e ( C 3 , h I D j s ) )
If C 1 = h I D i s 1 r 1 and C 8 = H 4 ( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) , output M; otherwise, return ⊥.
(7)
Trace( C T , d k I D i , s p ): Given d k I D i , s p and a ciphertext C T , the procedure runs as follows:
D 1 = e ( g , C 5 )
D 2 = e ( h I D i s , C 3 )
Then, check whether C 7 = H 5 ( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s ) and D 1 = D 2 holds. If yes, it means that C T is encrypted by I D i .
(8)
The algorithm from the authorization function and test function:
Suppose C T i (resp. C T j ) is a ciphertext of I D i (resp. I D j ).
  • Auth( g s k ): Outputs the group trapdoor g t d = s 2 .
  • Test( C T i , C T j , g t d ):
    This procedure takes the inputs C T i , C T j and g t d and exports as follows:
    M i r i , 2 = C i , 2 / e ( C i , 1 , g s ) s 2
    M j r j , 2 = C j , 2 / e ( C j , 1 , g s ) s 2
    Use M i r i , 2 and M j r j , 2 to decide whether e ( M i r i , 2 , C j , 4 ) = e ( M j r j , 2 , C i , 4 ) . If yes, output 1, which means M i = M j . Otherwise, export 0, which means M i M j .
Theorem 1.
According to Definition 3, the above T- G I B E w E 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 s p Setup ( l ) , g s k KeyGengroup ( s p ) , d k Extract ( m s k , s p , I D ) , g p k Join ( g s k , h I D ) , C T j Encrypt ( M , s p , g p k i , d k I D i , I D j ) , C T i Encrypt ( M , s p , g p k j , d k I D j , I D i ) , the following equalities hold.
Given a group trapdoor g t d = s 2 and two ciphertexts C T i = Encrypt ( M i , s p , g p k j , d k I D j , I D i ) and C T j = Encrypt ( M j , s p , g p k i , d k I D i , I D j ) , we can compute as follows:
C i , 2 / e ( C i , 1 , g s ) s 2 = M i r i , 2 H 2 ( e ( h I D i s , g s 1 s 2 ) r i , 1 ) / e ( h I D i s 1 r i , 1 , g s ) s 2
= M i r i , 2 H 2 ( e ( h I D i , g ) s s 1 s 2 r i , 1 ) / e ( h I D i , g ) s s 1 s 2 r i , 1 = M i r i , 2
C j , 2 / e ( C j , 1 , g s ) s 2 = M j r j , 2 H 2 ( e ( h I D j s , g s 1 s 2 ) r j , 1 ) / e ( h I D j s 1 r j , 1 , g s ) s 2
= M j r j , 2 H 2 ( e ( h I D j , g ) s s 1 s 2 r j , 1 ) / e ( h I D j , g ) s s 1 s 2 r j , 1 = M j r j , 2
Use M i r i , 2 to compute e ( M i r i , 2 , C j , 4 ) = e ( M i r i , 2 , g s r j , 2 ) = e ( M i , g ) s r j , 2 r i , 2 .
Use M j r j , 2 to compute e ( M j r j , 2 , C i , 4 ) = e ( M j r j , 2 , g s r i , 2 ) = e ( M j , g ) s r i , 2 r j , 2 . If M i = M j , then e ( M i r i , 2 , C j , 4 ) = e ( M j r j , 2 , C i , 4 ) , which means T e s t ( C T i , C T j , g t d ) = 1 .
(3)
As for the third condition, we have the following fact:
As in the above calculation, for any message M i ( r e s p . M j ) , if M i M j , which means e ( M i , g ) s r j , 2 r i , 2 e ( M j , g ) s r i , 2 r j , 2 . Then, T e s t ( C T i , C T j , g t d ) = 0 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 A 1 be Type-1 adversary breaking the T-GIBEwET scheme in polynomial time. A 1 makes at most q H 1 > 0 H 1 -queries, q H 2 > 0 H 2 -queries, q H 3 > 0 H 3 -queries, q H 4 > 0 H 4 -queries, q H 5 > 0 H 5 -queries, q K e y > 0 key retrieve queries, q E n c > 0 encryption queries, and q D e c > 0 decryption queries. We give C T * to the simulator S . The aim of S is to recover the plaintext of C T * with a non-negligible advantage.
The game between A 1 and S is described as follows:
Game G 1.0
Setup: S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 , H 5 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create a group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create a group trapdoor g t d = s 2 . Then, S randomly selects I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 1 .
Moreover, the challenger S prepares the five hash lists H 1 , H 2 , H 3 , H 4 , H 5 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: S responds to the queries made by A 1 in the following ways:
  • H 1 -query: S maintains a list of 3-tuples ( I D i , α i , x i , c o i n i ) in H 1 . When A 1 , ask for I D i queries, and S runs as follows:
    -
    If the query I D i already in the H 1 list in the form of ( I D i , α i , x i , c o i n i ) , S outputs H 1 ( I D i ) = α i G * to A 1 .
    -
    Otherwise, S generates c o i n i { 0 , 1 } randomly. Then, it outputs as follows:
    If c o i n i = 0 , S chooses a random number x i Z q * and computes α i = g x i to A 1 .
    Otherwise, S computes α i = h I D 2 x i to A 1 .
    -
    S adds the tuple ( I D i , α i , x i , c o i n i ) into the H 1 list.
  • H 2 -query: S maintains a list of 2-tuples ( θ i , ϑ i ) in H 2 . S chooses ϑ i G randomly, returns ϑ i to A 1 , and adds the tuple ( θ i , ϑ i ) to the H 2 list.
  • H 3 -query: S maintains a list of 2-tuples ( μ i , ν i ) in H 3 . S chooses ν i { 0 , 1 } l + l 1 randomly, returns μ i to A 1 , and adds the tuple ( μ i , ν i ) to the H 3 list.
  • H 4 -query: S maintains a list of 2-tuples ( ρ i , ξ i ) in H 4 . S chooses ξ i { 0 , 1 } l randomly, returns ρ i to A 1 , and adds the tuple ( ρ i , ξ i ) to the H 4 list.
  • H 5 -query: S maintains a list of 2-tuples ( ϕ i , φ i ) in H 4 . S chooses φ i { 0 , 1 } l randomly, returns ϕ i to A 1 , and adds the tuple ( ϕ i , φ i ) to the H 5 list.
  • Extract Query( I D ): When inputting I D i , S sends d k I D i = α i to A 1 . If c o i n i = 1 , it means that I D I D 2 . Then, S sends ⊥ to A 1 .
  • Encryption Query: S runs an encryption algorithm and outputs C T = Encrypt ( M , I D , g p k , s p , d k ) .
  • Decryption queries: With the C T to the decryption query, S returns M = Decrypt ( C T , d k j ) to A 1 as follows:
    -
    If c o i n i = 0 , S uses the private key and outputs the decryption query to A 1 .
    -
    Otherwise, S outputs ⊥ to A 1 .
  • Authorization Query: S outputs the group trapdoor s 2 to A 1 .
Challenge: S chooses M * M and r 1 * , r 2 * { 0 , 1 } l 1 . It then outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M * r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 1
C 6 * = H 3 ( U 2 r 1 ) ( M * r 1 )
C 7 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D 1 s )
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M * r 1 ) .
The ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) is output, where:
U 1 = e ( h I D 1 s , g s 1 s 2 )
U 2 = e ( h I D 2 , g s )
Finally, it sends C T * to A 1 as the challenge ciphertext.
Phase 2: A 1 performs the same queries as in Phase 1; the constraint is that C T * does not appear in the decryption queries.
Guess: A 1 outputs M M .
Let E 1.0 be the event that M = M * in Game G 1.0 . Then, the advantage is:
A d v T G P K E E T , A 1 O W C C A ( q H 1 , q H 2 , q H 3 , q H 4 , q H 5 , q E x t r , q E n c , q D e c ) = P r [ E 1.0 ]
Game G 1.1
Setup: S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 , H 5 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create the group trapdoor g t d = s 2 . Then, S randomly selects I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 1 .
Moreover, the challenger S prepares the five hash lists H 1 , H 2 , H 3 , H 4 , H 5 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: S responds to the queries made by A 1 in the following ways:
  • H 1 -query ( I D ), H 2 -query ( θ i ), H 3 -query ( μ i ), H 4 -query ( ρ i ), and H 5 -query ( ϕ i ) are the same as in Game G 1.0 .
  • Extract Query( I D ): Same as in Game G 1.0 .
  • Encryption Query: S outputs C T to A 1 as follows: S chooses r 1 , r 2 { 0 , 1 } l 1 randomly, and performs the H 1 -query( I D i ), H 1 -query( I D j ) to obtain α i , α j , the H 2 -query( e ( C 1 , g s ) s 2 ) to obtain ϑ i , the H 3 -query( e ( α j , g s ) r 1 ) to obtain ν i , the H 5 -query( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s ) to obtain φ i . and the H 4 -query( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) to obtain ξ i .
    C 1 = α i s 1 r 1
    C 2 = M r 2 ϑ i
    C 3 = g r 2
    C 4 = g s r 2
    C 5 = α j s r 1
    C 6 = ν i ( M r 1 )
    C 7 = φ i .
    C 8 = ξ i .
    S adds ( e ( C 1 , g s ) s 2 , ϑ i ) to the H 2 list, adds ( e ( α j , g s ) r 1 , ν i ) to the H 3 list, adds ( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 , ξ i ) to the H 4 list, and adds ( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s , φ i ) to the H 5 list.
  • Decryption queries: With the C T to the decryption query, S returns M = Decrypt ( C T , d k j ) to A 1 as follows: S performs the H 3 ( e ( α j , g s ) r 1 ) to obtain answer ν i , and performs the H 4 -query( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) to obtain answer ξ i . Then, S performs
    M r 1 = C 6 ν i .
    Then, it verifies C 1 = α i s 1 r 1 and C 8 = ξ i . If the verification fails, it returns ⊥. Otherwise, S outputs M to A 1 .
  • Authorization Query: Same as in Game G 1.0 .
Challenge: S chooses M * M , W { 0 , 1 } l + l 1 and r 1 , r 2 { 0 , 1 } l 1 . Then, it outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M * r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 1
C 6 * = W ( M * r 1 )
C 7 * = H 5 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D i s )
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M * r 1 )
where U 1 = e ( h I D 1 s , g s 1 s 2 ) . It outputs the ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) , and adds ( e ( h I D 2 , g s ) r 1 , W ) into H 3 .
Finally, it sends C T * to A 1 as the challenge ciphertext.
Phase 2: A 1 performs the same queries as in Phase 1, where the constraint is that C T * does not appear in the decryption queries.
Guess: A 1 outputs M M .
Let E 1.1 be the event that M = M * in Game G 1.1 . Then, the advantage is:
P r [ E 1.1 ] = P r [ E 1.0 ] .
Game G 1.2
Setup: S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 , H 5 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create the group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create the group trapdoor g t d = s 2 . Then, S randomly select I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 1 .
Moreover, the challenger S prepares the five hash lists H 1 , H 2 , H 3 , H 4 , , H 5 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: S responds to the queries made by A 1 in the following ways:
  • The H 1 -query( I D ), H 2 -query( θ i ), H 5 -query( ϕ i ), and H 4 -query( ρ i ) are the same as in Game G 1.1 .
  • The H 3 -query( μ i ) is the same as in Game G 1.1 , except that A 1 asks e ( C 3 , h I D 2 s ) .
  • Extract Query( I D ): Same as in Game G 1.1 .
  • Encryption Query: Same as in Game G 1.1 .
  • Decryption Queries: Same as in Game G 1.1 .
  • Authorization Query: Same as in Game G 1.1 .
Challenge: S chooses M * M , W * { 0 , 1 } l + l 1 and r 1 , r 2 { 0 , 1 } l 1 . Then, it outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M * r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 1
C 6 * = W *
C 7 * = H 5 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D i s ) .
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M * r 1 ) .
where U 1 = e ( h I D 1 s , g s 1 s 2 ) . It outputs the ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) , and adds ( e ( h I D 2 , g s ) r 1 , W * ( M * r 1 ) ) into H 3 .
Finally, it sends C T * to A 1 as the challenge ciphertext.
Phase 2: A 1 performs the same queries as in Phase 1, whereqthe constraint is that C T * does not appear in the decryption Queries, and if A 1 asks for the decryption of C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 , C 7 * , C 8 * ) , where C 6 C 6 * , S outputs ⊥.
Guess: A 1 outputs M M . □
Let E 1.2 be the event that M = M * in Game G 1.2 .
Because C 6 is a random value in Game G 1.1 and Game G 1.2 , the challenge ciphertexts generated in Game G 1.1 and Game G 1.2 follow the same distribution. Therefore, if the event E 1 does not occur, Game G 1.2 is identical to Game G 1.1 , and we can figure out
| P r [ E 1.2 ] P r [ E 1.1 ] | P r [ E 1 ] .
Next, we show that the probability of event E 1 occurring in Game G 1.2 is negligible.
Lemma 1.
When the C-BDH problem is intractable, there is a negligible probability that the event E 1 happens in Game G 1.2 .
Proof. 
Suppose that P r [ E 1 ] is non-negligible; we can construct a simulator S to break the C-BDH assumption by using A 1 ’s attacks. With the tuple ( e , G , G T , g , g a , g c , g d ) , the aim is to obtain e ( g , g ) a c d .
Setup: S randomly selects I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 1 . S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 , H 5 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create the group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create the group trapdoor g t d = s 2 .
Phase 1: S responds to the queries made by A 1 in the following ways:
  • H 1 -query( I D ), H 2 -query( θ i ), H 5 -query( ϕ i ), and H 4 -query( ρ i ) are same as in Game G 1.1 .
  • H 3 -query( μ i ) is same as in Game G 1.1 , except that A 1 asks e ( C 3 , h I D 2 s )
  • Extract Query( I D ): Same as in Game G 1.1 .
  • Encryption Query: Same as in Game G 1.1 , except that for the query ( I D 2 , , ) , S selects r 1 , r 2 { 0 , 1 } l 1 randomly and outputs a ciphertext C T = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 , C 7 , C 8 ) as follows:
    S performs the H 1 -query( I D i ) and H 1 -query( I D j ) to obtain α i and α j , respectively, the H 2 -query( e ( C 1 , g s ) s 2 ) to obtain ϑ i , the H 3 -query( e ( α j , g s ) r 1 ) to obtain ν i , the H 5 -query( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s ) to obtain φ i , and the H 4 -query( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) to obtain ξ i .
    C 1 = α i s 1 r 1
    C 2 = M r 2 ϑ i
    C 3 = g r 2
    C 4 = g s r 2
    C 5 = α j s r 2
    C 6 = ν i ( M r 1 )
    C 7 = φ i .
    C 8 = ξ i .
    S adds ( e ( C 1 , g s ) s 2 , ϑ i ) to the H 2 list, adds ( e ( α j , g s ) r 1 , ν i ) to the H 3 list, and adds ( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 , ξ i ) to the H 4 list.
  • Decryption queries: Same as in Game G 1.1 .
  • Authorization Query: Same as in Game G 1.1 .
Challenge: S chooses M * M , W * { 0 , 1 } l + l 1 and r 1 , r 2 { 0 , 1 } l 1 . Then, it outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M * r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 1
C 6 * = W *
C 7 * = H 5 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D 1 s ) .
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M * r 1 ) .
where U 1 = e ( h I D 1 s , g s 1 s 2 ) . It outputs the ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) , and adds ( e ( h I D 2 , g s ) r 1 , W * ( M * r 1 ) ) into H 3 .
Finally, it sends C T * to A 1 as the challenge ciphertext.
Phase 2: A 1 performs the same queries as in Phase 1; the constraint is that C T * does not appear in the decryption queries, and if A 1 asks for the decryption of C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 , C 7 * , C 8 * ) , where C 6 C 6 * , S outputs ⊥.
Guess: A 1 outputs M M . □
Theorem 3.
Under the random oracle model, the proposed T-GIBEwET scheme is IND-CCA secure against a type-2 adversary.
Proof. 
Let A 2 be a type-2 adversary breaking the T-GIBEwET scheme in polynomial time. A 2 makes at most q H 1 > 0 H 1 -queries, q H 2 > 0 H 2 -queries, q H 3 > 0 H 3 -queries, q H 4 > 0 H 4 -queries, q H 5 > 0 H 5 -queries, q K e y > 0 key retrieve queries, q E n c > 0 encryption queries, and q D e c > 0 decryption queries. We give C T * to the simulator S . The aim of S is to recover the plaintext of C T * with a non-negligible advantage.
The game between A 2 and S is described as follows:
Game G 2.0
Setup: S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 , H 5 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create the group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create the group trapdoor g t d = s 2 . Then, S randomly selects I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 2 .
Moreover, the challenger S prepares the five hash lists H 1 , H 2 , H 3 , H 4 , H 5 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: S responds to the queries made by A 2 in the following ways:
  • H 1 -query: S maintains a list of 3-tuples ( I D i , α i , x i , c o i n i ) in H 1 . When A 2 asks for I D i queries, S runs as follows:
    -
    If the query I D i is already in the H 1 list in the form of ( I D i , α i , x i , c o i n i ) , S outputs H 1 ( I D i ) = α i G * to A 2 .
    -
    Otherwise, S generates c o i n i { 0 , 1 } randomly. Then, it outputs as follows:
    If c o i n i = 0 , S chooses a random number x i Z q * and computes α i = g x i to A 2 .
    Otherwise, S computes α i = h I D 2 x i to A 2 .
    -
    S adds the tuple ( I D i , α i , x i , c o i n i ) into the H 1 list.
  • H 2 -query: S maintains a list of 2-tuples ( θ i , ϑ i ) in H 2 . S chooses ϑ i G randomly, puts out ϑ i to A 2 and adds the tuple ( θ i , ϑ i ) to the H 2 list.
  • H 3 -query: S maintains a list of 2-tuples ( μ i , ν i ) in H 3 . S chooses ν i { 0 , 1 } l + l 1 randomly, puts out μ i to A 2 and adds the tuple ( μ i , ν i ) to the H 3 list.
  • H 4 -query: S maintains a list of 2-tuples ( ρ i , ξ i ) in H 4 . S chooses ξ i { 0 , 1 } l randomly, puts out ρ i to A 2 and adds the tuple ( ρ i , ξ i ) to the H 4 list.
  • H 5 -query: S maintains a list of 2-tuples ( ϕ i , φ i ) in H 4 . S chooses φ i { 0 , 1 } l randomly, returns ϕ i to A 1 and adds the tuple ( ϕ i , φ i ) to the H 5 list.
  • Extract Query( I D ): On input of the I D i , S sends d k I D i = α i to A 2 . If c o i n i = 1 , which means I D I D 2 , then S sends ⊥ to A 2 .
  • Encryption Query: S runs the encryption algorithm and outputs C T = Encrypt ( M , g p k , d k , s p ) .
  • Decryption queries: With the C T in the decryption query, S returns M = Decrypt ( C T , d k j ) to A 2 as follows:
    -
    If c o i n i = 0 , S uses the private key and outputs the decryption query to A 2 .
    -
    Otherwise, S outputs ⊥ to A 2 .
  • Authorization Query: It is not allowed.
Challenge: A 2 chooses M 0 , M 1 M randomly and sends them to S . Then, S takes b { 0 , 1 } and r 1 * , r 2 * { 0 , 1 } l 1 . It then outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M b r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 1
C 6 * = H 3 ( U 2 r 1 ) ( M b r 1 )
C 7 * = H 5 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D 1 s ) .
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M b r 1 ) .
Output the ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) , where:
U 1 = e ( h I D 1 s , g s 1 s 2 )
U 2 = e ( h I D 2 , g s )
Finally, it sends C T * to A 2 as the challenge ciphertext.
Phase 2: A 2 performs the same queries as in Phase 1, where the constraint are as follows:
  • C T * does not appear in the decryption queries.
  • In the authorization query, all of the group users cannot be authorized.
Guess: A 2 outputs b * { 0 , 1 } .
Let E 2.0 be the event that b = b * in Game G 2.0 . Then, the advantage is:
A d v T G P K E E T , A 2 O W C C A ( q H 1 , q H 2 , q H 3 , q H 4 , q H 5 , q E x t r , q E n c , q D e c ) = P r [ E 2.0 ]
Game G 2.1
Setup: S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create the group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create the group trapdoor g t d = s 2 . Then, S randomly selects I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 2 .
Moreover, the challenger S prepares the four hash lists H 1 , H 2 , H 3 , H 4 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: S responds to the queries made by A 2 in the following ways:
  • H 1 -query( I D ), H 2 -query( θ i ), H 3 -query( μ i ), H 5 -query( ϕ i ), and H 4 -query( ρ i ) are the same as in Game G 2.0 .
  • Extract Query( I D ): Same as in Game G 2.0 .
  • Encryption Query: S outputs C T to A 2 as follows:
    S chooses r 1 , r 2 { 0 , 1 } l 1 randomly, and performs the H 1 -query( I D i ) and H 1 -query( I D j ) to obtain α i and α j , respectively, the H 2 -query( e ( C 1 , g s ) s 2 ) to obtain ϑ i , the H 3 - query( e ( α j , g s ) r 1 ) to obtain ν i , the H 5 -query( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s ) to obtain φ i , and the H 4 -query( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) to obtain ξ i .
    C 1 = α i s 1 r 1
    C 2 = M r 2 ϑ i
    C 3 = g r 2
    C 4 = g s r 2
    C 5 = α j s r 1
    C 6 = ν i ( M r 1 )
    C 7 = φ i
    C 8 = ξ i .
    S adds ( e ( C 1 , g s ) s 2 , ϑ i ) to the H 2 list, adds ( e ( α j , g s ) r 1 , ν i ) to the H 3 list, adds ( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 , ξ i ) to the H 4 list, and adds ( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s , φ i ) to the H 5 list.
  • Decryption queries: With the C T to the decryption query, S returns M = Decrypt ( C T , s k j ) to A 2 as follows: S performs the H 3 ( e ( α j , g s ) r 1 ) to obtain answer ν i , and performs the H 4 -query( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) to obtain answer ξ i . Then, S performs
    M r 1 = C 6 ν i .
    Then, C 1 = α i s 1 r 1 and C 8 = ξ i are verified. If the verification fails, it returns ⊥. Otherwise, S outputs M to A 2 .
  • Authorization Query: It is not allowed.
Challenge: A 2 chooses M 0 , M 1 M randomly and sends them to S . Then, S takes b { 0 , 1 } , W { 0 , 1 } l + l 1 and r 1 * , r 2 * { 0 , 1 } l 1 . It then outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M b r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 1
C 6 * = W ( M b r 1 )
C 7 * = H 5 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D 1 s )
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M b r 1 )
where U 1 = e ( h I D 1 s , g s 1 s 2 ) . It outputs the ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) , and adds ( e ( h I D 2 , g s ) r 1 , W ) into H 3 .
Finally, it sends C T * to A 2 as the challenge ciphertext.
Phase 2: A 2 performs the same queries as in Phase 1; the constraint are as follows:
  • C T * does not appear in the decryption queries.
  • In the authorization query, all of the group users cannot be authorized.
Guess: A 2 outputs b * { 0 , 1 } .
Let E 2.1 be the event that b = b * in Game G 2.1 . Then, the advantage is
P r [ E 2.1 ] = P r [ E 2.0 ] .
Game G 2.2
Setup: S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 , H 5 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create the group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create the group trapdoor g t d = s 2 . Then, S randomly selects I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 2 .
Moreover, the challenger S prepares the five hash lists H 1 , H 2 , H 3 , H 4 , H 5 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: S responds to the queries made by A 2 in the following ways:
  • H 1 -query( I D ), H 2 -query( θ i ), H 5 -query( ϕ i ), and H 4 -query( ρ i ) are the same as in Game G 2.1 .
  • H 3 -query( μ i ) is the same as in Game G 2.1 , except that A 2 asks e ( C 3 , h I D 2 s ) .
  • Extract Query( I D ): Same as in Game G 2.1 .
  • Encryption Query: Same as in Game G 2.1 .
  • Decryption Queries: Same as in Game G 2.1 .
  • Authorization Query: Same as in Game G 2.1 .
Challenge: A 2 chooses M 0 , M 1 M randomly and sends them to S . Then, S takes b { 0 , 1 } , W * { 0 , 1 } l + l 1 and r 1 , r 2 { 0 , 1 } l 1 . It then outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M b r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 2
C 6 * = W *
C 7 * = H 5 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D 1 s ) .
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M b r 1 )
where U 1 = e ( h I D 1 s , g s 1 s 2 ) . It outputs the ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) , and adds ( e ( h I D 2 , g s ) r 1 , W * ( M * r 1 ) ) into H 3 .
Finally, it sends C T * to A 2 as the challenge ciphertext.
Phase 2: A 2 performs the same queries as in Phase 1, where the constraint is that C T * does not appear in the decryption queries, and if A 2 asks for the decryption of C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 , C 7 * , C 8 * ) , where C 6 C 6 * , S outputs ⊥.
Guess: A 2 outputs b * { 0 , 1 } . □
Let E 2.2 be the event that b = b * in Game G 2.2 .
Because C 6 is a random value in Game G 2.1 and Game G 2.2 , the challenge ciphertexts generated in Game G 2.1 and Game G 2.2 follow the same distribution. Therefore, if the event E 2 does not occur, Game G 2.2 is identical to Game G 2.1 . And we can figure out that
| P r [ E 2.2 ] P r [ E 2.1 ] | P r [ E 2 ] .
Next, we show that the probability of event E 2 occurring in Game G 2.2 is negligible.
Lemma 2.
When the C-BDH problem is intractable, there is negligible probability that the event E 2 will happen inGame G 2.2 .
Proof. 
Suppose that P r [ E 2 ] is non-negligible; we can construct a simulator S to break the C-BDH assumption by using the A 2 ’s attacks. With the tuple ( e , G , G T , g , g a , g c , g d ) , the aim is to obtain e ( g , g ) a c d .
Setup: S randomly select I D 1 , I D 2 as a challenger sender and a challenger receiver, respectively. Then, S gives the public key and I D 1 , I D 2 to A 2 . S runs the algorithm Setup( 1 l ) to create the system parameters s p = ( g , G , G T , g s , e , H 1 , H 2 ,   H 3 , H 4 , H 5 ) , runs the algorithm KeyGengroup( s p ) to create a group private key g s k = ( s 1 , s 2 ) , runs the algorithm Join( g s k , h I D ) to create the group public key g p k = ( h I D s 1 , g s 1 , g s 1 s 2 ) for user I D , and runs Auth( g s k ) to create the group trapdoor g t d = s 2 .
Phase 1: S responds to the queries made by A 2 in the following ways:
  • H 1 -query( I D ), H 2 -query( θ i ), H 5 -query( ϕ i ), and H 4 -query( ρ i ) are the same as in Game G 2.1 .
  • H 3 -query( μ i ) is the same as in Game G 2.1 , except that A 2 asks for e ( C 3 , h I D 2 s ) .
  • Extract Query( I D ): Same as in Game G 2.1 .
  • Encryption Query: Same as in Game G 2.1 , except that for the query ( I D 2 , , ) , S selects r 1 , r 2 { 0 , 1 } l 1 randomly and outputs a ciphertext C T = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 , C 7 , C 8 ) as follows:
    S performs the H 1 -query( I D i ) and H 1 -query( I D j ) to obtain α i and α j , respectively, the H 2 -query( e ( C 1 , g s ) s 2 ) to obtain ϑ i , the H 3 -query( e ( α j , g s ) r 1 ) to obtain ν i , the H 5 -query( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s ) to obtain φ i , and the H 4 -query( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 ) to obtain ξ i .
    C 1 = α i s 1 r 1
    C 2 = M r 2 ϑ i
    C 3 = g r 2
    C 4 = g s r 2
    C 5 = α j s r 1
    C 6 = ν i ( M r 1 )
    C 7 = φ i
    C 8 = ξ i .
    S adds ( e ( C 1 , g s ) s 2 , ϑ i ) to the H 2 list, adds ( e ( α j , g s ) r 1 , ν i ) to the H 3 list, adds ( C 1 C 2 C 3 C 4 C 5 C 6 C 7 M r 1 , ξ i ) to the H 4 list, and adds ( C 1 C 2 C 3 C 4 C 5 C 6 h I D i s , φ i ) to the H 5 list.
  • Decryption Queries: Same as in Game G 2.1 .
Challenge: A 2 chooses M 0 , M 1 M randomly and sends them to S . Then, S takes b { 0 , 1 } , W * { 0 , 1 } l + l 1 , and r 1 , r 2 { 0 , 1 } l 1 . Then, it outputs C T * as follows:
C 1 * = h I D 1 s 1 r 1
C 2 * = M b r 2 H 2 ( U 1 r 1 )
C 3 * = g r 1
C 4 * = g s r 2
C 5 * = h I D 1 s r 1
C 6 * = W *
C 7 * = H 5 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * h I D 1 s ) .
C 8 * = H 4 ( C 1 * C 2 * C 3 * C 4 * C 5 * C 6 * C 7 * M b r 1 )
where U 1 = e ( h I D 1 s , g s 1 s 2 ) . It outputs the ciphertext C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 * , C 7 * , C 8 * ) , and adds ( e ( h I D 2 , g s ) r 1 , W * ( M b r 1 ) ) into H 3 .
Finally, it sends C T * to A 2 as the challenge ciphertext.
Phase 2: A 2 performs the same queries as in Phase 1, where the constraint is that C T * does not appear in the decryption queries, and if A 2 asks for the decryption of C T * = ( C 1 * , C 2 * , C 3 * , C 4 * , C 5 * , C 6 , C 7 * , C 8 * ) , where C 6 C 6 * , S outputs ⊥.
Guess: A 2 outputs b * { 0 , 1 } . □

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.

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:
IoTInternet of Things
SESearchable Encryption
IBEwETID-Based Encryption with Equality Test
GIBEGroup ID-Based Encryption
T-GIBEwETTraceable GIBE with Equality Test Scheme

References

  1. 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]
  2. 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]
  3. 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]
  4. 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]
  5. 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]
  6. Wang, Y.; Sun, S.F.; Wang, J. Achieving Searchable Encryption Scheme with Search Pattern Hidden. IEEE Trans. Serv. Comput. 2020. [Google Scholar] [CrossRef]
  7. 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]
  8. 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]
  9. 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]
  10. 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]
  11. 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]
  12. Huang, K.; Tso, R.; Chen, Y. PKE-AET: Public Key Encryption with Authorized Equality Test. Br. Comput. Soc. 2015, 2686–2697. [Google Scholar] [CrossRef]
  13. 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]
  14. 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]
  15. 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]
  16. Ma, S. Identity-based encryption with outsourced equality test in cloud computing. Inform. Sci. 2016, 328, 389–402. [Google Scholar] [CrossRef]
  17. Yang, M.; Wang, E. Identity-Based Encryption with Filtered Equality Test for Smart City Applications. Sensors 2019, 19, 3046. [Google Scholar]
  18. 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]
  19. 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]
  20. 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]
  21. 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]
  22. 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]
  23. 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]
  24. 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]
  25. 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]
  26. 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]
  27. 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]
  28. 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]
  29. 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]
  30. Qu, H.; Zhen, Y.; Lin, X. Certificateless Public Key Encryption with Equality Test. Inf. Sci. 2018, 462, 76–92. [Google Scholar] [CrossRef]
  31. 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]
  32. 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]
  33. 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]
  34. 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]
  35. 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]
  36. 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]
  37. 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]
  38. 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]
  39. 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]
  40. 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]
  41. 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]
  42. 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]
Figure 1. System Model.
Figure 1. System Model.
Entropy 24 00309 g001
Figure 2. OW-CCA security model.
Figure 2. OW-CCA security model.
Entropy 24 00309 g002
Figure 3. IND-CCA Security Model.
Figure 3. IND-CCA Security Model.
Entropy 24 00309 g003
Table 1. Symbols used in the proposed scheme.
Table 1. Symbols used in the proposed scheme.
SymbolDescription
lA security parameter
GA cyclic group
gThe generator of G
MThe plaintext
C T The ciphertext
C T * The challenge ciphertext
M The message space
ZSet of integers
HA hash function
sThe master key (keep it as a secret)
I D A user’s identity
g s k The group secret key (kept as a secret by group manager)
g p k The group public key (share to all users in the group)
d k I D A user’s secret key (keep it as a secret)
A The adversary
S The simulator
Table 2. Comparison with other schemes.
Table 2. Comparison with other schemes.
SchemeAuthorizedCiphertext TestTraceable
[7]--
[16]-
[17]-
[35]-
T-GIBEwET
Table 3. Comparison of efficiency with other schemes.
Table 3. Comparison of efficiency with other schemes.
Scheme C Enc C Dec C Auth C Test C Trac
[7]3E3E-2P-
[16]5E+2P2E+2P04P-
[17](n+2)E+2P(n+1)P+EnEnP-
[35]5E2E02E+2P-
[34]4E2E02E-
T-GIBEwET7E+2PE+P02E+4P2P
E and P are the exponentiation operation and the the pairing operation, respectively, in group G.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhu, H.; Xue, Q.; Li, T.; Xie, D. Traceable Scheme of Public Key Encryption with Equality Test. Entropy 2022, 24, 309. https://doi.org/10.3390/e24030309

AMA Style

Zhu H, Xue Q, Li T, Xie D. Traceable Scheme of Public Key Encryption with Equality Test. Entropy. 2022; 24(3):309. https://doi.org/10.3390/e24030309

Chicago/Turabian Style

Zhu, Huijun, Qingji Xue, Tianfeng Li, and Dong Xie. 2022. "Traceable Scheme of Public Key Encryption with Equality Test" Entropy 24, no. 3: 309. https://doi.org/10.3390/e24030309

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