Next Article in Journal
Arrayable TDC with Voltage-Controlled Ring Oscillator for dToF Image Sensors
Previous Article in Journal
UAV-DETR: An Enhanced RT-DETR Architecture for Efficient Small Object Detection in UAV Imagery
Previous Article in Special Issue
A Fuzzy-Based Relay Security Algorithm for Wireless Sensor Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Revocable Identity-Based Matchmaking Encryption with Equality Test for Smart Healthcare

1
College of Computer, Qinghai Normal University, Xining 810008, China
2
National Engineering Research Center for Secured Wireless, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(15), 4588; https://doi.org/10.3390/s25154588
Submission received: 13 June 2025 / Revised: 17 July 2025 / Accepted: 22 July 2025 / Published: 24 July 2025

Abstract

Smart healthcare establishes a safe, reliable, and efficient medical information system for the public with the help of the Internet of Things, cloud storage, and other Internet technologies. To enable secure data sharing and case-matching functions in smart healthcare, we construct a revocable identity-based matchmaking encryption with an equality test (RIBME-ET) scheme for smart healthcare. Our scheme not only ensures the confidentiality and authenticity of messages and protects the privacy of users, but also enables a cloud server to perform equality tests on encrypted ciphertexts from different identities to determine whether they contain the same plaintext and protects the confidentiality of data in the system through a user revocation mechanism. Compared with the existing identity-based encryption with equality test (IBEET) and identity-based matchmaking encryption with equality test (IBME-ET) schemes, we have improved the efficiency of the scheme and reduced communication overhead. In addition, the scheme’s security is proven in the random oracle model under the computational bilinear Diffie–Hellman (CBDH) assumption. Finally, the feasibility and effectiveness of the proposed scheme are verified by performance analysis.

1. Introduction

Smart healthcare [1,2,3] is a new medical model that uses cloud storage, cloud computing, big data, and other information technologies to improve people’s health. It provides complete data support for patients and doctors and enables telemedicine, intelligent monitoring, data analysis, and other medical services. The purpose of smart healthcare is to use the user’s medical data to complete relevant medical operations and to provide more intelligent services.
Smart healthcare can effectively achieve optimal allocation of resources and can improve the medical level of local hospitals, but under the smart healthcare system, sensitive medical data transmission is involved. This poses a challenge to how smart healthcare can be used to store and manage data more effectively. Smart healthcare systems face several security issues, such as data origin and integrity verification; data confidentiality and user privacy protection; and key leakage issues. The complexity of security issues facing smart healthcare makes it crucial to design a secure and efficient data encryption scheme. Especially in systems where there may be users who do not want sensitive medical data to be leaked to other unrelated personnel, there is a need to achieve user privacy protection while securing medical data.
The most common method for securing data is encryption, which ensures the confidentiality of the data. We aim to achieve secure sharing of medical data and matching of patient cases to help patients communicate better. Lin et al. provided a diversified butterfly attractors of memristive Hopfield neural network (HNN) with two memristive systems, which can successfully realize the privacy protection of medical data [4]. Ding et al. proposed a novel chaotic memristive neural network (MNN) that integrates two memristors into a traditional Hopfield neural network [5]; the secure algorithm was then successfully applied in a remote sensing system to protect image data privacy. Although chaotic encryption protects data privacy, public key encryption is more suitable for implementing fine-grained access control, data sharing, and case matching of users in smart healthcare. Yang et al. [6] proposed public key encryption with equality test (PKEET) for use in Internet-based systems for private health records (PHRs) [7,8,9], which enables the cloud server to perform an equality test of two encrypted ciphertexts to confirm whether they contain the same plaintext, and the cloud server helps the patient to match the their data with that of others. When uploading data in a smart healthcare system, it is important to ensure the authenticity of the user’s data during data uploading to prevent other malicious users from posting malicious or false medical information.
In recent years, several scholars have shifted their research focus to identity-based encryption with equality test schemes (IBEET). IBEET eliminates certificate management issues in the PKEET, and IBEET is used in several applications, such as in smart healthcare and Internet of Vehicles (IoV) road monitoring. However, there are some security issues with IBEET, since the current IBEET [10,11] does not consider the anonymity of both the sender and the receiver, which may lead to the disclosure of identity information. The identity-based matchmaking encryption (IBME) scheme investigated by Ateniese et al. [12] provides an enhanced privacy protection mechanism for user matching in smart healthcare. IBME provides a bilateral access control function, which allows the sender and receiver to specify each other’s respective identities at the same time. The IBME scheme prevents the leakage of identity privacy, and when there is a mismatch, except for decryption failures, the receiver cannot access arbitrary information. In addition, user revocation [13,14,15] is also an issue that needs to be considered in intelligent medical systems; when the user’s key is leaked or lost, an attacker can obtain the user’s key and decrypt the ciphertext sent by the sender to obtain the corresponding medical information, leading to the leakage of the user’s private information.
In smart healthcare, the user can issue a query request to the server to help contact other users with the same disease, for example, two patients with different doctors but the same symptoms wanting to seek each other’s experience and help. One question here is how bilateral access control can be realized [16] to better protect the privacy of both parties. The doctor and patient designate each other; the doctor encrypts the data for a patient, and only the patient can successfully decrypt it. When the two parties do not match, there is no information leakage except for decryption failure. However, the traditional IBEET scheme does not solve this problem.
To address the challenges of protecting sender and receiver privacy, enabling bilateral access control, preserving data authenticity, and mitigating key loss and disclosure risks, we propose a revocable identity-based matchmaking encryption with equality test (RIBME-ET) scheme. This solution integrates identity-based matchmaking encryption (IBME) with an equality test mechanism. Our scheme achieves user revocation and uses less time in the decryption, trapdoor generation, and equality test phases compared to the existing identity-based matchmaking encryption with equality test scheme (IBME-ET) [17]. Compared to the existing IBEET [10,18] scheme, our scheme enables user revocation, achieves finer-grained access control, and further enhances user privacy. The main contributions of this paper are as follows:
  • We establish the first formal definition and security model for RIBME-ET, along with its concrete construction. The scheme implements a privacy-enhanced bilateral access control mechanism tailored to user matching in smart healthcare systems, ensuring both medical data authenticity and user privacy preservation.
  • Cloud servers leverage the equality test functionality to compare ciphertexts in smart healthcare scenarios, enabling patients to seek mutual assistance and share experiences securely. Our design incorporates user revocation, safeguarding encrypted medical data from decryption even if keys are compromised or lost. Comprehensive security proofs and performance evaluations validate the scheme’s robustness and efficiency.
Organization of the paper: Here, we outline the structure of the rest of the paper. Section 2 introduces some related works. Preliminaries and definitions are described in Section 3 and Section 4, and we propose a security model for our scheme. In Section 5, we construct a RIBME-ET scheme. In Section 6, we prove the security of our scheme. Performance evaluations are presented in Section 7. Finally, we conclude this paper in Section 8.

2. Related Work

In smart healthcare, to ensure data confidentiality, patients encrypt their medical data and store it in an encrypted form on cloud servers. When one of these patients, Alice, wants to find other patients with the same condition as her to share their experiences, Alice will commission a third party to help her find such patients. At the same time, considering privacy, Alice will not directly disclose her disease information to the third party but will encrypt her disease information and send it to the third party. When another patient, Bob, also wants the third party to help him find other patients with the same condition, Bob similarly encrypts his medical information and sends it to the third party. Subsequently, the third party performs equivalence testing on the encrypted disease information without decrypting it. If Alice’s encrypted message and Bob’s encrypted message are both encrypted from the same disease information, the third party will notify Alice and Bob. It is important to note that the third party does not obtain this disease information. Traditional identity-based encryption and searchable encryption cannot meet the specific requirements of this application scenario. Encryption schemes encrypt information, and without the decryption key, it is impossible to perform computational processing on the ciphertext and therefore impossible to distinguish the relationships between these ciphertexts. In searchable encryption schemes, the ciphertext used for retrieval and the trapdoor sent by the user must be generated using the same public–private key pair. If the ciphertext and trapdoor used for retrieval are encrypted using different public–private key pairs, the ciphertext cannot be identified.
Yang et al. proposed a public key encryption scheme supporting equality testing (PKEET), which allows anyone to determine whether two ciphertexts generated under different public keys contain the same message [6]. This scheme provided a solution for case matching and user classification in smart healthcare. Tang et al. proposed a fine-grained authorization PKEET scheme that allows an authorized equality test to be conducted on ciphertexts by two users [19]. The scheme effectively improves PKEET authorization. Then Tang proposed the all-or-nothing PKEET scheme (AON-PKEET) [20], which specifies who can perform an equality test on ciphertexts. Moreover, Tang proposed the PKEET scheme with authorization of different granularity (ADG-PKEET) [21]. This scheme is an extension of FG-PKEET, which protects against offline message recovery attacks (OMRAs) through the dual-server mechanism.
Ma et al. proposed an equality test scheme with flexible authorization (PKEET-FA). This cryptographic scheme provides authorization based on four different scenarios [22], and the security of these cryptosystems is based on the difficult assumption of bilinear pairs. Huang et al. proposed public key encryption with an authorized equality test (PKE-AET), which employs cipher-level authorization and user-level authorization to enhance privacy protection [23], and this scheme allows for a comparison of specific users’ ciphertexts or all ciphertexts. Hassan et al. proposed an efficient certificateless public key encryption scheme with authorized equality tests in healthcare environments [24]. Susilo et al. proposed public key encryption with a multi-ciphertext equality test in cloud computing [25]. Ma et al. proposed efficient public key encryption with an outsourced equality test for cloud-based IoT environments [26].
An increase in users in the cloud environment may lead to an increase in certificate management burden. To better enable PKEET to be better applied to the cloud environment, Ma et al. combined identity-based encryption and an equality test [18] and proposed, for the first time, an identity-based encryption scheme with an equality test function (IBEET). Lee et al. proposed a semi-generic construction of public key encryption and identity-based encryption with equality test [10]. Xiong et al. constructed the notion of identity-based signcryption with equality test (IBSC-ET) by combining signcryption and an equality test scheme [27]. Yang et al. proposed an efficient identity-based encryption with an equality test in cloud computing [28].
Ateniese et al. proposed a new encryption scheme termed identity-based matchmaking encryption (IBME) [12]. This scheme enables both senders and receivers to specify the identity conditions that the other party must satisfy to decrypt the message. The main security guarantee is privacy-preserving identity matching: during the decryption process, when the sender and receiver do not match each other, no information will be revealed. IBME opens up new ways of secretly communicating and enables several new applications. IBME ensures message confidentiality and authenticity in a non-interactive manner and provides the functionality required for bilateral access control of identities. Therefore, IBME offers users a more convenient and secure communication approach.
Chen et al. proposed an IBME from standard assumptions in the standard model [29]. Jiang et al. proposed a revocable IBME in the standard model, whose security is reduced to the hardness of the decisional bilinear Diffie–Hellman problem and computational Diffie–Hellman problem [30]. Wu et al. proposed a fuzzy IBME and implemented it [31]. Yan et al. proposed an IBME-ET and proved its security under the random oracle [17].
As shown in Table 1, except for the IBME scheme, all other schemes achieved CCA security. The traditional PKEET [6] scheme implements a ciphertext equality test but does not consider user revocation and finer-grained access control features. The IBEET [10] scheme accomplishes identity substitution via public keys as opposed to the PKEET scheme but does not consider user revocation and bilateral access control. Recent IBME [12] schemes have achieved finer-grained access control from the sender to the receiver but have not implemented the ciphertext equality test. In contrast, the IBME-ET [17] scheme implements the ciphertext equality test and bilateral access control and does not consider key revocation. Compared with the above schemes, our scheme not only improves the efficiency of decryption and trap generation but also considers user revocation, so it is better able to protect data in smart healthcare.

3. Preliminaries

In this section, we review preliminaries including notations, bilinear maps, and the computational bilinear Diffie–Hellman (CBDH) assumption.

3.1. Bilinear Map

Given two cyclic groups G 1 and G 2 of prime order p, let g be a generator of G 1 and an admissible bilinear mapping e: G 1 × G 1 G 2 is expected to satisfy the following properties:
  • Bilinearity: e ( g 1 x , g 2 y ) = e ( g 1 , g 2 ) x y for ∀ g 1 , g 2 G 1 , and x , y Z p * .
  • Non-degeneracy: e ( g , g ) 1 .
We say that G 1 is a bilinear group if the group operation in G 1 and the bilinear map e: G 1 × G 1 G 2 are both efficiently computable.

3.2. Computational Bilinear Diffie–Hellman Assumption

Given a random tuple ( g , g a , g b , g c ) of a CBDH problem, where g is the generator of group G 1 and a , b , and c are randomly chosen from Z p * , its solution is e ( g , g ) a b c . Formally, the CBDH problem is hard in ( G 1 , G 2 , e ) if, for every PPT adversary A,
P r [ A ( q , G 1 , G 2 , e , g , g a , g b , g c ) = e ( g , g ) a b c ] n e g l ( λ ) .
We say that the CBDH assumption holds in ( g , G 1 , G 2 , e ) if no PPT algorithm can compute e ( g , g ) a b c with a non-negligible advantage.

4. Definition

In this section, we formalize the syntax and security of the RIBME-ET scheme.

4.1. System Model

The system model is shown in Figure 1. The system model consists of the following four entities, namely the sender, receiver, key generation center (KGC), and cloud server, as listed below:
  • Sender: The sender encrypts the messages with the encryption key and the specified receiver’s identity and then sends the resulting ciphertexts to the receiver.
  • Receiver: The receiver can decrypt the ciphertexts, generate trapdoors, and upload both the ciphertexts and computed trapdoors to the cloud server.
  • KGC: KGC is responsible for managing users in the system and generating encryption and decryption keys for senders and receivers. For user revocation, the KGC manages the distribution of the key; if the KGC stops sending the decryption key to the receiver, it means that the user has been revoked. Decryption algorithms and trapdoor algorithms require a decryption key that is related to the time period t.
  • Cloud server: This entity is responsible for storing ciphertexts and providing equality tests.

4.2. Syntax of RIBME-ET

RIBME-ET is composed of the following polynomial algorithm:
  • Setup ( 1 λ ) ( m p k , m s k ) : Input the security parameter λ , and the algorithm outputs a time period t as input to produce the system’s master public key m p k and master secret key m s k . Then the m p k is used as an implicit input for the following algorithms.
  • SKGen ( m s k , I D S n d ) e k I D S n d : After inputting the master secret key m s k and the sender’s identity I D S n d , the algorithm outputs the encryption key e k I D S n d .
  • RKGen ( m s k , t , I D R e v ) e k I D R e v : After inputting the master secret key m s k and the receiver identity I D R e v , during time period t, the algorithm outputs the decryption key d k I D R e v , which is associated with the time.
  • Enc ( e k I D S n d , t , I D R e v , m ) C : Given m p k , the encryption key e k I D S n d , a period time t, a receiver identity I D R e v , and the message m, the algorithm outputs the ciphertext C.
  • Dec ( d k I D R e c , I D S n d , C ) m : Given m p k , the decryption key d k I D R e v , a sender identity I D S n d , and the ciphertext C, the algorithm outputs m.
  • Trap ( d k I D R e v ) t d I D : It takes as input a portion of the receiver’s private key to compute the trapdoor corresponding to the ciphertext.
  • Test ( C I D i , t d I D i , C I D j , t d I D j ) r e s u l t : This algorithm takes a receiver’s ciphertext with trapdoor t d I D i and another receiver’s ciphertext with trapdoor t d I D j as inputs and outputs a result of 0 or 1.
Correctness of RIBME-ET scheme: RIBME-ET Π = (Setup, SKGen, RKGen, Enc, Dec, Trap, Test) is correct if λ N , ( m p k , m s k ) Setup( 1 λ ) , Pr[Dec ( d k I D R e v , s n d , Enc ( e k I D S n d , t , r c v , m ) ) = m ] 1 n e g l ( λ ), and Test ( C I D i , t d I D i , C I D j , t d I D j ) = 0 or 1, where e k I D S n d , d k I D R e v , and t d I D are generated by SKGen( m s k , I D S n d ), RKGen( m s k , t , I D R e v ), and Trap ( d k I D R e v ) .

4.3. Security Definitions of RIBME-ET

We analyze the security model of the RIBME-ET scheme and define three types of adversaries under our system model:
  • Type-I adversary: A Type-I adversary A 1 , who possesses a trapdoor, attempts to recover the plaintext m from a ciphertext. Security against A 1 is defined as one-wayness under chosen identity and chosen ciphertext attacks (OW-ID-CCA).
  • Type-II adversary: A Type-II adversary A 2 , who has no trapdoor, attempts to determine which plaintext corresponds to a given ciphertext. Security against A 2 requires indistinguishability under chosen identity and chosen ciphertext attacks (IND-ID-CCA).
  • Type-III adversary: A Type-III adversary A 3 tries to forge a ciphertext C corresponding to the sender’s identity. The forgery ( C , R e v , S n d ) is considered valid if for all encryption keys e k I D S n d obtained by the adversary A 3 it holds that I D S n d = S n d and the identity R e v is not held by the adversary A 3 . Security against Type-III adversary is existential unforgeability against identity under chosen message attacks (EU-ID-CMA).
Definition 1
(OW-ID-CCA). Regarding A 1 , the RIBME-ET scheme meets OW-ID-CCA security when no PPT A 1 is winning the game below with a non-negligible advantage.
  • Setup: Challenger C takes the security parameter λ as input, runs RIBME-ET.Setup( 1 λ ) m p k , and sends the master public key m p k to A 1 .
  • Phase 1: A 1 may query the following oracles polynomially many times adaptively and in any order: O S K G e n , O R K G e n , O D e c , and O T r a p .
    • O S K G e n : Given the identity of the sender S n d is received, A 1 answers the encryption key e k S n d .
    • O R K G e n : Given the identity of the receiver R e v is received, A 1 answers the decryption key d k R e v .
    • O D e c : Given the identity of the receiver R e v , the identity of the target sender s n d , and the ciphertext C are received, C answers the result of D e c ( m p k , d k R e v , S n d , C ) .
    • O T r a p : Given the identity of the target sender S n d and the identity of the receiver R e v are received, C answers the corresponding trapdoor t d ( S n d , R e v ) .
  • Challenge: A 1 sends identities S n d * and R e v * to C. Subsequently, C randomly chooses a message m * { 0 , 1 } n in answer to A 1 with the challenge ciphertext C = E n c ( m p k , e k S n d * , R e v * , t * , m * ) .
  • Phase 2: A 1 makes queries like in Phase 1.
  • Guess: A 1 answers a guess m .
We say that the adversary A 1 wins if m = m * in the above game, and the advantage of A 1 is defined as a d v R I B M E E T , A 1 O W I D C C A ( λ ) = P r ( m = m * ) .
In the above game, A 1 cannot ask the following queries:
O R K G e n ( R e v * ) and O D e c ( R e v * , S n d * , C * ) .
Definition 2
(IND-ID-CCA). We say that a RIBME-ET scheme is IND-ID-CCA-secure against Type-II adversaries if for any PPT adversary A 2 , the advantage of A 2 in the following game with the challenger C is negligible in terms of the security parameter λ.
  • Setup: This step is the same as that of the OW-ID-CCA security game in Definition 1.
  • Phase 1: This step is the same as that of the OW-ID-CCA security game in Definition 1 except for O T r a p .
  • Challenge: A 2 sends s n d * and r c v * and selected messages m 0 * , m 1 * { 0 , 1 } n of the same length to C. C selects a random bit b { 0 , 1 } , runs R I B M E E T . E n c ( e k I D S n d , t , I D R e v , m b ) C b , and sends C b to A 2 .
  • Phase 2: C responds to A 2 ’s queries as in Phase 1.
  • Guess: A 2 outputs b { 0 , 1 } .
We say that the adversary A 2 wins if b = b in the above game, and the advantage of A 2 is defined as a d v R I B M E E T , A 2 I N D I D C C A ( λ ) = | P r ( b = b ) 1 2 | .
In the above game, A 2 cannot ask the following queries: O R K G e n ( R e v * ) , O T r a p ( S n d * ,
R e v * ) , and O D e c ( R e v * , S n d * , C * ) .
Definition 3
(EU-ID-CMA). We say that a RIBME-ET scheme is EU-ID-CMA-secure against Type-III adversaries if for any PPT adversary A 3 , the advantage of A 3 in the following game with the challenger C is negligible in terms of the security parameter λ.
  • Setup: This step is the same as that of the OW-ID-CCA security game in Definition 1.
  • Phase 1: This step is the same as that of the OW-ID-CCA security game in Definition 1 except for O D e c and O T r a p .
  • Forgery: A 3 outputs a forged ciphertext C = ( C , I D R e v , I D S n d ) to C, C runs the ReceiverKey generation to obtain d k R e v , C uses d k R e v to decrypt ciphertext C, and C outputs m. If S n d Q O S K G e n , S n d I D S n d R e v Q O R K G e n m , the adversary A 3 wins and C returns 1. Else, if the adversary A 3 fails, C returns 0.
We say that the adversary A 3 wins if C outputs m and returns 1 in the above game; the advantage of A 3 is defined as a d v R I B M E E T , A 3 E U I D C M A ( λ ) = P r [ A 3 w i n s ] .

5. Construction of RIBME-ET

In this section, we provide a RIBME-ET construction, and the scheme coincides with our system model. The concrete scheme is as follows:
  • Setup: When the security parameter λ is input, the algorithm outputs a time period t { 0 , 1 } * and a bilinear group ( p , e , G 1 , G 2 ) with a generator g G 1 , where the order of G 1 and G 2 is p. Then it randomly selects seven cryptographic hash functions H 0 : { 0 , 1 } * × { 0 , 1 } * G 1 , H 1 : { 0 , 1 } * G 1 , H 2 : G 2 { 0 , 1 } l , H 3 : { 0 , 1 } n + γ Z p * , H 4 : G 2 G 1 , H 5 : { 0 , 1 } n G 1 , and H 6 : G 1 { 0 , 1 } l , modeled as random oracles, and a polynomial-time computable padding function φ : { 0 , 1 } n { 0 , 1 } l . We require that for all m { 0 , 1 } n , one can verify in polynomial time if m has been padded correctly and that φ ( m ) is efficiently invertible. In addition, it also selects two random numbers r, s Z p * and computes g 0 = g r . Finally, the master public key and master secret key are m p k = ( g , g 0 , p , e , G 1 , G 2 , H 0 , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , φ ) and m s k = ( r , s ) .
  • Sender Key generation: Given the master key pair ( m p k , m s k ) and a sender’s identity I D s n d { 0 , 1 } * , the algorithm outputs the sender’s encryption key e k I D S n d = H 1 ( I D S n d ) s .
  • Receiver Key generation: Given the master key pair ( m p k , m s k ) and a receiver’s identity I D R e v { 0 , 1 } * , with a period of time t, the algorithm outputs the receiver’s decryption key d k I D R e v = ( d k I D R e v 1 , d k I D R e v 2 , d k I D R e v 3 )=( H 0 ( I D R e v , t ) r , H 0 ( I D R e v , t ) s , H 0 ( I D R e v , t ) ).
  • Encryption: Given the master public key m p k , the encryption key e k I D S n d , a time period t, the receiver’s identity I D R e v , and a message m { 0 , 1 } n , the algorithm proceeds as follows:
    • Sample random a, b Z p * , and z { 0 , 1 } γ .
    • Compute C 0 = g b and C 1 = g a .
    • Compute k 1 = e ( H 0 ( I D R e v , t ) , g 0 a ) and k 2 = e ( H 0 ( I D R e v , t ) , C 0 · e k I D S n d ) .
    • Compute C 2 = g H 3 ( m , z ) and C 3 = φ ( m ) H 2 ( k 1 ) H 2 ( k 2 ) H 6 ( C 2 ) .
    • Compute C 4 = H 5 ( m ) H 3 ( m , z ) · H 4 ( e ( g , H 1 ( I D S n d ) · H 0 ( I D R e v , t ) ) ) .
    • Output ciphertext C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) .
  • Decryption: Given the master public key m p k , a decryption key d k I D R e v , a target identity I D S n d = S n d , and ciphertext C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) , the algorithm proceeds as follows:
    • Parse C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) .
    • Compute k 1 = e ( d k I D R e v 1 , C 1 ) and k 2 = e ( d k I D R e v 2 , H 1 ( I D S n d ) ) · e ( d k I D R e v 3 , C 0 ) .
    • Compute φ ( m ) = C 3 H 2 ( k 1 ) H 2 ( k 2 ) H 6 ( C 2 ) .
    • If the padding is valid, return m. Otherwise, return ⊥.
  • Trapdoor: The algorithm is performed by a receiver who takes H 1 ( I D S n d ) and d k I D R e v as input to produce the trapdoor. t d R e v = H 1 ( I D S n d ) · d k I D R e v 3 = H 1 ( I D S n d ) · H 0 ( I D R e v , t ) . The scheme uses the decryption key of the receiver in the trapdoor generation phase, and the decryption key is divided into three components. The trapdoor generation phase uses one of the components to generate the trapdoor, which is not associated with the m s k . Even if d k I D R e v 3 is leaked, it is not possible to compute the decryption key as a whole, and thus the use of a part of the decryption key has no effect on the security of the scheme.
  • Test: This algorithm is performed by the cloud server, which takes two ciphertext–trapdoor pairs ( C A , t d A ) and ( C B , t d B ) .
    C A = ( C 0 A , C 1 A , C 2 A , C 3 A , C 4 A ) ,
    C B = ( C 0 B , C 1 B , C 2 B , C 3 B , C 4 B ) .
    • Compute η A and η B as follows:
      η A = C 4 A H 4 ( e ( g , t d A ) ) ,
      η B = C 4 B H 4 ( e ( g , t d B ) ) .
    • Compute e ( C 2 A , η B ) and e ( C 2 B , η A ) as follows:
    Check whether e ( C 2 A , η B ) = e ( C 2 B , η A ) holds. If it holds, output 1; otherwise, output 0.
Correctness:
  • For decryption, if I D S n d = S n d , I D R e v = R e v , and S n d matches R e v , the receiver will be able to decrypt the ciphertext. For a ciphertext C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) under an encryption of a message m, let k 1 and k 2 be the keys computed by the decryption algorithm.
    Compute k 1 = e ( d k I D R e v 1 , C 1 ) = e ( H 0 ( I D R e v , t ) r , g a ) = e ( H 0 ( I D R e v , t ) , g r a ) = e ( H 0 ( I D R e v , t ) , g 0 a ) = k 1 .
    Compute k 2 = e ( d k I D R e v 2 , H 1 ( I D S n d ) ) · e ( d k I D R e v 3 , C 0 ) = e ( H 0 ( I D R e v , t ) s , H 1 ( I D S n d ) ) · e ( H 0 ( I D R e v , t ) , g b ) = e ( H 0 ( I D R e v , t ) , g b · H 1 ( I D S n d ) s ) = k 2 .
    φ ( m ) = C 3 H 2 ( k 1 ) H 2 ( k 2 ) H 6 ( C 2 ) . Then return m.
  • For the equality test, if I D S n d = S n d A I D R e v = R e v A I D S n d = S n d B I D R e v = R e v B , S n d A matches R e v A , and S n d B matches R e v B , only receivers A and B can compute their respective trapdoors. For the ciphertext C A encrypted by message m A and the ciphertext C B encrypted by message m B , we check the following:
    η A = C 4 A H 4 ( e ( g , t d A ) ) = H 5 ( m A ) H 3 ( m A , z A ) ,
    η B = C 4 B H 4 ( e ( g , t d B ) ) = H 5 ( m B ) H 3 ( m B , z B ) ,
    e ( C 2 A , η B ) = e ( g H 3 ( m A , z A ) , H 5 ( m B ) H 3 ( m B , z B ) ) = e ( g , H 5 ( m B ) ) H 3 ( m A , z A ) H 3 ( m B , z B ) ,
    e ( C 2 B , η A ) = e ( g H 3 ( m B , z B ) , H 5 ( m A ) H 3 ( m A , z A ) ) = e ( g , H 5 ( m A ) ) H 3 ( m B , z B ) H 3 ( m A , z A ) .
    If m A = m B , then e ( C 2 A , η B ) = e ( C 2 B , η A ) , and it outputs 1; otherwise, it outputs 0.

6. Security Analysis of RIBME-ET

In this section, we demonstrate that our RIBME-ET construction is OW-ID-CCA-secure against a PPT Type-I adversary, IND-ID-CCA-secure against a PPT Type-II adversary, and EU-ID-CMA-secure against a PPT Type-III adversary.

6.1. OW-ID-CCA Security Against Type-I Adversary

As for confidentiality, we first look into the OW-ID-CCA security of our construction against a Type-I adversary. We change the Boneh–Franklin CCA-secure IBE’s proof method; our method of proof is similar to that of the IBME scheme. We prove that RIBME-ET is OW-ID-CCA-secure under the CBDH assumption. First, we define BPub+, a variant of BasicPub that is more suitable for our needs. BPub+ is composed of the following algorithms:
  • Setup( 1 λ ): Generate a symmetric pairing e: G 1 × G 1 G 2 , with G 1 and G 2 of an order p that depends on λ . Choose a random generator g of G 1 . Sample a random s Z q * and set g 0 = g s . Choose three hash functions: H 0 : G 2 { 0 , 1 } n , H 1 : { 0 , 1 } n × { 0 , 1 } n Z p * , and H 2 : { 0 , 1 } n { 0 , 1 } n , with m p k = ( p , e , n , g , g 0 , G 1 , G 2 , H 0 , H 1 , H 2 ) and m s k = s .
  • KGen( m p k , m s k ): Choose a random G G 1 . The public key is p k = G . The private key is s k = G s .
  • Enc( m p k , p k , m ): To encrypt a message m under the public key p k = G , choose a random μ { 0 , 1 } n , set y = H 1 ( μ , m ) , and output C = ( C 0 , C 1 , C 2 ) = ( g y , μ H 0 ( e ( G , g 0 ) y ) ) , m H 2 ( μ ) ) .
  • Dec( m p k , s k , C ): Let C = ( C 0 , C 1 , C 2 ) be a ciphertext for the public key p k . To decrypt C using the private key s k , compute the following:
    • C 1 H 0 ( e ( s k , C 0 ) ) = μ .
    • C 2 H 2 ( μ ) = m .
    • Set y = H 1 ( μ , m ) . Test that C 0 = g y . If not, reject the ciphertext.
    • Output m as the decryption of C.
We show that if BPub+ is OW-CCA-secure, then our scheme is OW-ID-CCA-secure.
Theorem 1.
Let the hash functions H i ( i = 0 , 1 , 2 , 3 , 4 , 5 , 6 ) be random oracles. Our construction is OW-ID-CCA-secure against a PPT Type-I adversary under the basis of the BDH assumption. More precisely, if A 1 can break our proposal with the advantage ε, suppose that A 1 makes at most q S sender key extraction queries, at most q R receiver key queries, at most q D decryption key queries, and at most q T trapdoor queries. We can conceive of a PPT algorithm A 1 to address the CBDH assumption with the advantage ε 512 ε / e 4 ( q R + q S + q D + q T + 4 ) 4 q H 2 .
Proof of Theorem 1.
Given a CBDH assumption instance ( g , g a , g b , g c ) , where a , b , c Z p * , the task of A 1 is to calculate D = e ( g , g ) a b c by interacting with A 1 as shown below:
  • Setup: A 1 first performs the setup algorithm to generate m p k = ( g , g 0 , p , e , G 1 , G 2 , H 0 , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , φ ) , randomly selects x , y Z p * , and gives the m p k to A 1 . A 1 then implicitly sets m s k = ( x , y ) , g 0 = g x , and A 1 has no knowledge about x and y. A 1 preserves the L H i ( i = 0 , 1 , 2 , 3 , 4 , 5 , 6 ) lists to simulate the oracle H i -query.
  • Phase 1: A 1 answers A 1 ’s queries.
    • H 0 -query: On receiving this query with identity I D R e v , if the query I D R e v is in a tuple ( I D R e v , Q , β , b ) L H 0 , then Q is returned. Otherwise, A 1 randomly picks β Z p * and inserts the new tuple ( I D R e v , Q , β , b ) into L H 0 , with a random coin b { 0 , 1 } , so that P r [ b = 0 ] = ξ . If b = 0 , A 1 sets Q = g β ; otherwise, A 1 sets Q = g c β . Finally, ( I D R e v , Q , β , b ) is added to L H 0 , and A 1 sends Q to A 1 .
    • H 1 -query: On receiving this query with identity I D S n d , if the query I D S n d is in a tuple ( I D S n d , Q , β , b ) L H 1 , then Q is returned. Otherwise, A 1 randomly picks β Z p * and inserts the new tuple ( I D S n d , Q , β , b ) into L H 1 , with a random coin b { 0 , 1 } , so that P r [ b = 0 ] = ξ . If b = 0 , A 1 sets Q = g β ; otherwise, A 1 sets Q = g a β . Finally, ( I D S n d , Q , β , b ) is added to L H 0 , and A 1 sends Q to A 1 .
    • H 2 -query: A 1 maintains a list L H 2 that stores tuples of the form ( X , h 2 ) with the history of calls to L H 2 . If the query X has already been completed, the challenger returns the value h 2 . If not, it samples a random h 2 { 0 , 1 } n , adds ( X , h 2 ) to the list L H 2 , and returns h 2 .
    • H 3 -query: A 1 maintains a list L H 3 that stores tuples of the form ( m , u , h 3 ) with the history of calls to L H 3 . If the queries m and u have already been completed, the challenger returns the value h 3 . If not, it randomly picks m { 0 , 1 } n , u { 0 , 1 } n , and h 3 { 0 , 1 } γ and inserts the new tuple ( m , u , h 3 ) into L H 3 . Subsequently, A 1 sends h 3 to A 1 .
    • H 4 -query: A 1 maintains a list L H 4 that stores tuples of the form ( g h 4 , h 4 ) with the history of calls to L H 4 . If the query g h 4 has already been completed, the challenger returns the value g H 4 . If not, it randomly picks g h 4 G 2 and h 4 G 1 and inserts the new tuple ( g h 4 , h 4 ) into L H 4 . Subsequently, A 1 sends h 4 to A 1 .
    • H 5 -query: A 1 maintains a list L H 5 that stores tuples of the form ( m , h 5 ) with the history of calls to L H 5 . If the query m has already been completed, the challenger returns the value h 5 . If not, it randomly picks m { 0 , 1 } n and h 5 G 1 and inserts the new tuple ( m , h 5 ) into L H 5 . Finally, A 1 sends h 5 to A 1 .
    • H 6 -query: A 1 maintains a list L H 6 that stores tuples of the form ( g H 6 , h 6 ) with the history of calls to L H 6 . If the query g H 6 has already been completed, the challenger returns the value h 6 . If not, it randomly picks g H 6 G 1 and h 6 { 0 , 1 } l and inserts the new tuple ( g H 6 , h 6 ) into L H 6 . Finally, A 1 sends h 6 to A 1 .
    • O S K G e n : A 1 performs a simulation algorithm with the H 1 -query. Let I D S n d be the input of O S K G e n . A 1 obtains H 1 ( S n d ) = Q . There is a tuple ( I D S n d , Q , β , b ) in L H 1 . If b = 1 , A 1 aborts; otherwise, it returns e k S n d = g y β .
    • O R K G e n : A 1 performs a simulation algorithm with the H 0 -query. Let I D R e v be the input of O R K G e n . A 1 obtains H 0 ( R e v , t ) = Q . There is a tuple ( I D R e v , Q , β , b ) in L H 0 . If b = 1 , A 1 aborts; otherwise, it returns d k R e v = ( g x β , g y β , Q = g β ) .
    • O D e c : Let I D S n d = S n d . A 1 performs a simulation algorithm to query the H 0 -query and H 1 -query. A 1 obtains the ciphertexts C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) . A 1 sends the output of D e c ( m p k , d k R e v , S n d , C ) to A 1 .
      When r e v R e v * , A 1 can query O R K G e n to obtain d k R e v and returns the outcome D e c ( m p k , d k R e v , s n d , C ) .
      Otherwise, A 1 can query O S K G e n to obtain e k S n d and compute k 2 = e ( Q , C 0 · e k S n d ) . For each tuple ( X , h 2 ) in L H 2 and ( g H 6 , h 6 ) in L H 6 , A 1 computes φ ( m ) = C 3 h 2 h 6 and H 3 ( m , u ) . If C 2 = g H 3 ( m , u ) and there exists a tuple ( g h 4 , h 4 ) in L H 4 such that C 4 = H 5 ( m ) H 3 ( m , u ) · h 4 is valid, it returns m . When L H 4 has no such tuple, it returns ⊥.
    • O T r a p : Let s n d = S n d i . A 1 performs a simulation algorithm to query H 0 and H 1 . A 1 runs the receiver key queries on the ID to obtain d k R e v = ( d k R e v 1 , d k R e v 2 , d k R e v 3 ) = ( g x β , g y β , Q = g β ) and responds to A 1 with t d i d . When S n d = S n d * or R e v = R e v * , A 1 fails. Otherwise, A 1 sends t d i d to A 1 .
  • Challenge: Algorithm A 1 outputs a pair of sender and receiver identities ( S n d * , R e v * ) to A 1 . A 1 randomly select a message m * { 0 , 1 } n and utilizes a simulation algorithm to query oracles H 0 and H 1 . The challenge pair of sender and receiver identities do not appear in the receiver key queries of Phase 1. Now A 1 performs the following steps:
    (1)
    Compute H 0 ( r e v , t ) = Q and H 1 ( s n d ) = Q . If both the tuples ( R e v , Q , β , b ) L H 0 and ( S n d , Q , β , b ) L H 1 do not have coins b and b equal to 1, A 1 aborts. If not, we know that d k R e v 2 = g c y β and H 1 ( S n d ) = g x β . Hence, H 2 ( k 2 ) = H 2 ( e ( d k I D R e v 2 , H 1 ( I D S n d ) ) · e ( d k I D R e v 3 , C 0 ) ) , where e ( d k I D R e v 2 , H 1 ( I D S n d ) ) = e ( g c y β , g x β ) = D β β , and Q = d k R e v 3 .
    (2)
    Parse C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) , compute L = 1 / ( β β ) , and take a random tuple ( X , h 2 ) . Return D = ( X · e ( Q , C 0 ) 1 ) L .
  • Phase 2: A 1 makes queries like in Phase 1.
  • Guess: A 1 answers with a guess m for m * . A 1 answers with a CBDH solution D .
Analysis: First of all, note that the simulation is perfect since in the above game we require that the challenge ( C , R e v , S n d ) satisfies the condition that R e v disappears in O R K G e n , R n d disappears in O S K G e n , and the challenge C disappears in O D e c . Assuming that the adversary makes at most q R , q S , q D , and q T queries for O R K G e n , O S K G e n , O D e c , and O T r a p , the probability that A 1 does not abort for any of these calls is δ q R + q S + q D + q T . Similarly, the probability that A 1 does not abort overall is δ q R + q S + q D + q T ( 1 δ ) 4 , which is maximized at δ o p t = ( q R + q S + q D + q T ) / ( q R + q S + q D + q T + 4 ) . If we use δ o p t as the probability of obtaining coins b = 0 in the H 0 and H 1 queries, we have that the probability of A 1 not aborting is at least 256 / e 4 ( q R + q S + q D + q T + 4 ) 4 .
If A 1 does not abort, it outputs the correct solution D with a probability of at least 2 ε / q H 2 . Hence, A 1 solves the CBDH problem with an advantage of 512 ε / e 4 ( q R + q S + q D + q T + 4 ) 4 q H 2 . □

6.2. IND-ID-CCA Security Against Type-II Adversary

As for privacy, we look into the IND-ID-CCA security of our construction against a Type-II adversary.
Theorem 2.
Let the hash functions H i ( i = 0 , 1 , 2 , 3 , 4 , 5 , 6 ) be random oracles. Our construction is IND-ID-CCA-secure against a PPT Type-II adversary under the basis of the CBDH assumption. More precisely, if A 2 can break our proposal with the advantage ε, suppose that A 2 makes at most q S sender key extraction queries, at most q R receiver key queries, and at most q D decryption key queries. We can conceive of a PPT algorithm A 2 to address the CBDH assumption with the advantage ε 54 ε / e 3 ( q R + q S + q D + 3 ) 3 q H 2 .
Proof of Theorem 2.
Given a CBDH assumption instance ( g , g a , g b , g c ) , where a , b , c Z p * , the task of A 2 is to calculate D = e ( g , g ) a b c by interacting with A 2 as shown below:
  • Setup: A 2 first performs the setup algorithm to generate m p k = ( g , g 0 , p , e , G 1 , G 2 , H 0 , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , φ ) , randomly selects x , r Z p * , and sends the m p k to A 2 . A 2 implicitly sets m s k = x and g 0 = g x , and A 2 has no knowledge about x. A 2 preserves the L H i ( i = 0 , 1 , 2 , 3 , 4 , 5 , 6 ) lists to simulate the oracle H i -query.
  • Phase 1: A 2 answers A 2 ’s queries.
    • H 0 -query: On receiving this query with identity I D R e v , if query I D R e v is in a tuple ( I D R e v , Q , β , b ) L H 0 , then Q is returned. Otherwise, A 2 randomly picks β Z p * and inserts the new tuple ( I D R e v , Q , β , b ) into L H 0 , with a random coin b { 0 , 1 } , so that P r [ b = 0 ] = ξ . If b = 0 , A 2 sets Q = g β ; otherwise, A 2 sets Q = g c β . Finally, ( I D R e v , Q , β , b ) is added to L H 0 , and A 2 sends Q to A 2 .
    • H 1 -query: A 2 maintains a list L H 2 that stores tuples of the form ( S n d i , Y i ) with the history of calls to L H 2 . If the query S n d i has already been completed, the challenger returns the value Y i . If not, it samples a random Y i G 1 , adds ( S n d i , Y i ) to the list, and returns Y i .
    • H 2 -query: A 2 maintains a list L H 2 that stores tuples of the form ( X , h 2 ) with the history of calls to L H 2 . If the query X has already been completed, the challenger returns the value h 2 . If not, it samples a random h 2 { 0 , 1 } n , adds ( X , h 2 ) to the list L H 2 , and returns h 2 .
    • H 3 -query: A 2 maintains a list L H 3 that stores tuples of the form ( m , u , h 3 ) with the history of calls to L H 3 . If the queries m and u have already been, the challenger returns the value h 3 . If not, it randomly picks m { 0 , 1 } n , u { 0 , 1 } n , and h 3 { 0 , 1 } γ and inserts the new tuple ( m , u , h 3 ) into L H 3 . Subsequently, A 2 sends h 3 to A 2 .
    • H 4 -query: A 2 maintains a list L H 4 that stores tuples of the form ( g h 4 , h 4 ) with the history of calls to L H 4 . If the query g h 4 has already been completed, the challenger returns the value g H 4 . If not, it randomly picks g h 4 G 2 and h 4 G 1 and inserts the new tuple ( g h 4 , h 4 ) into L H 4 . Subsequently, A 2 sends h 4 to A 2 .
    • H 5 -query: A 2 maintains a list L H 5 that stores tuples of the form ( m , h 5 ) with the history of calls to L H 5 . If the query m has already been completed, the challenger returns the value h 5 . If not, it randomly picks m { 0 , 1 } n and h 5 G 1 and inserts the new tuple ( m , h 5 ) into L H 5 . Finally, A 2 sends h 5 to A 2 .
    • H 6 -query: A 2 maintains a list L H 6 that stores tuples of the form ( g H 6 , h 6 ) with the history of calls to L H 6 . If the query g H 6 has already been completed, the challenger returns the value h 6 . If not, it randomly picks g H 6 G 1 and h 6 { 0 , 1 } l and inserts the new tuple ( g H 6 , h 6 ) into L H 6 , finally, A 2 sends h 6 to A 2 .
    • O S K G e n : A 2 performs a simulation algorithm with the H 1 -query. Let I D S n d be the input of O S K G e n . A 2 obtains H 1 ( S n d ) = Y . There is a tuple ( S n d i , Y i ) in L H 1 , and it returns Y i r .
    • O R K G e n : A 2 performs a simulation algorithm with the H 0 -query. Let I D R e v be the input of O R K G e n . A 2 obtains H 0 ( R e v , t ) = Q . There is a tuple ( I D R e v , Q , β , b ) in L H 0 . If b = 1, A 2 aborts; otherwise, it returns d k R e v = ( g 0 β , Q r , Q = g β ) .
    • O D e c : Let I D S n d = S n d . A 2 performs a simulation algorithm to query the H 0 -query and H 1 -query. A 2 obtains the ciphertexts C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) . A 2 sends the output of D e c ( m p k , d k R e v , S n d , C ) to A 2 .
      When R e v R e v * , A 1 can query O R K G e n to obtain d k R e v and returns the outcome D e c ( m p k , d k R e v , S n d , C ) .
      Otherwise, A 2 can query O S K G e n to obtain e k S n d and compute k 2 = e ( Q , C 0 · e k S n d ) . For each tuple ( X , h 2 ) in L H 2 and ( g H 6 , h 6 ) in L H 6 , A 2 computes φ ( m ) = C 3 h 2 h 6 and H 3 ( m , u ) . If C 2 = g H 3 ( m , u ) and there exists a tuple ( g h 4 , h 4 ) in L H 4 such that C 4 = H 5 ( m ) H 3 ( m , u ) · h 4 is valid, m is returned. When L H 4 has no such tuple, ⊥ is returned.
  • Challenge: Algorithm A 2 outputs equal-length messages m 0 , m 1 { 0 , 1 } n along with the two pairs of sender and receiver identities ( S n d 0 , R e v 0 , S n d 1 , R e v 0 ) to A 2 . The pairs of sender and receiver identities do not appear in the receiver key queries of Phase 1. Afterwards, A 2 utilizes a simulation algorithm to query the oracles H 0 and H 1 . A 2 performs the following steps:
    (1)
    After selecting R e v 0 and R e v 1 , A 2 queries H 0 ( R e v 0 ) = Q 0 and H 0 ( R e v 1 ) = Q 1 . If the tuples ( I D R e v 0 , Q 0 , β 0 , 1 ) and ( I D R e v 1 , Q 1 , β 1 , 1 ) do not belong to L H 0 , A 2 aborts. Otherwise, we know that b 0 = 0 and b 1 = 1, which means that Q 0 = e k 0 and Q 1 = e k 1 .
    (2)
    A 2 computes C 0 = g d for a random d Z p * and queries H 1 ( S n d 0 ) = Y 0 and H 1 ( S n d 1 ) = Y 1 . It uses them to obtain φ ( m 0 ) = C 3 H 2 ( Q 0 , C 0 · Y 1 r ) H 6 ( g H 6 ) and φ ( m 1 ) = C 3 H 2 ( Q 1 , C 0 · Y 1 r ) H 6 ( g H 6 ) . Note that e k S n d = Y i r .
    (3)
    A 2 sends m 0 , m 1 , Q 0 , and Q 1 to its challenger and receives C = ( C 1 , C 2 , C 3 , C 4 ) as a response.
    (4)
    A 2 computes C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) and sends it to A 2 . This is a proper encryption of m b under the condition I D R e v b = R e v b and sender’s identity S n d b .
  • Phase 2: A 2 makes queries like in Phase 1.
  • Guess: A 2 answers with a guess b { 0 , 1 } . A 2 responds to its challenger with the same guess.
Analysis: Note that the simulation is perfect since in the above game we require that the challenge ( m 0 , m 1 , R e v 0 , S n d 0 , R e v 1 , S n d 1 ) satisfies the condition that R e v b disappears in O R K G e n and S n d b disappears in O S K G e n ; meanwhile, the encrypted challenge ciphertext cannot access O D e c . Assuming that the adversary makes at most q R , q S , and q D queries for O R K G e n , O S K G e n , and O D e c , the probability that A 2 does not abort for any of these calls is δ q R + q S + q D . Similarly, the probability that A 2 does not abort overall is δ q R + q S + q D ( 1 δ ) 3 , which is maximized at δ o p t = ( q R + q S + q D ) / ( q R + q S + q D + 3 ) . If we use δ o p t as the probability of obtaining coins b = 0 in the H 0 and H 1 queries, we have that the probability of A 2 not aborting is at least 27 / e 3 ( q R + q S + q D + 3 ) 3 .
If A 2 does not abort, it outputs the correct solution D with a probability of at least 2 ε / q H 2 . Hence, A 2 solves the CBDH problem with an advantage of 54 ε / e 3 ( q R + q S + q D + 3 ) 3 q H 2 . □

6.3. EU-ID-CMA Security Against Type-III Adversary

As for the authenticity, we look into the EU-ID-CMA security of our construction against a Type-III adversary.
Theorem 3.
Let the hash functions H i ( i = 0 , 1 , 2 , 3 , 4 , 5 , 6 ) be random oracles. Our construction is EU-ID-CMA-secure against a PPT Type-III adversary on the basis of the CBDH assumption. More precisely, if A 3 can break our proposal with the advantage ε, suppose that A 3 makes at most q S sender key extraction queries and at most q R receiver key queries. We can conceive of a PPT algorithm A 3 to address the CBDH assumption with the advantage ε 8 ε / e 2 ( q R + q S + 2 ) 2 q H 2 .
The proof of this theorem is very similar with that of Theorem 1, which demonstrates the OW-ID-CCA security of our RIBME-ET scheme. Similarly to the proof of Theorem 1, we can prove the EU-ID-CMA security of our scheme. We provide the full proof of this theorem in Appendix A.

7. Performance Evaluation

In this section, we will evaluate the performance of our proposed scheme through theoretical comparisons and experimental evaluations to show its effectiveness and practicality.

7.1. Functionality and Security Comparisons

Table 2 shows the functionality and security comparisons between our RIBME-ET scheme and similar schemes. It is obvious that the IBME [12] scheme ensures the authenticity of data and privacy of users but does not provide equality test functionality or achieve CCA security. Since IBME [12] only implements CPA security, with valid plaintext and ciphertext pairs at the sender and receiver, an attacker can use it to forge any message, thus threatening the authenticity of the ciphertext in cloud storage.
The IBEET [10,18] scheme ensures data confidentiality but provides neither bilateral access control nor user revocation. The IBME-ET [17] scheme does not support user revocation. In the later comparison of the experimental analysis, our scheme is found to be more efficient than theirs. By comparing different schemes, our proposed RIBME-ET scheme can be found to realize all the functionality and security required, which not only ensures the confidentiality of data, privacy of users, user revocation, and bilateral access control and achieves CCA security but also provides equality test functionality for ciphertexts generated under different identities in smart healthcare.
Table 3 shows the computational cost comparison of our scheme with other schemes in terms of encryption key generation, decryption key generation, encryption, decryption, trapdoor generation, and equality testing. In Table 3, E x p is the exponentiation, p is the pairing, H and H are hash-to-point operations in G 1 and G 2 , and the symbol − indicates that the scheme does not have this phase. Our scheme has a lower computational cost compared to the IBME-ET [17] scheme in the decryption key generation, decryption, trapdoor generation, and equality test phases. Table 4 gives a comparison of the communication overhead of our scheme with that of other schemes, showing the results for encryption key, decryption key, trapdoor, and ciphertext comparisons. In Table 4, | G 1 | and | G 2 | are the sizes of the elements in groups G 1 and G 2 , respectively. | Z p | is the size of the elements in Z p , and λ is the security level. Our scheme has a lower communication cost in the trapdoor and ciphertext generation phases compared to the IBME-ET [17] scheme.

7.2. Experimental Analysis

We evaluated the performance of our schemes by conducting extensive experiments. The tests were performed on a PC with the following specifications: Windows 10 Professional operating system, AMD Ryzen 5 5600 @ 3.5 GHz processor, and 32 GB RAM. The code was implemented in Java using the Java Pairing-Based Cryptography Library (JPBC) and tested on a 160-bit elliptic curve group constructed by the equation y 2 = x 3 + x over a 512-bit field. We implemented the proposed scheme and compared it with IBEET [10,18] and IBME-ET [17]. The experimental results are shown in Figure 2 and Figure 3, which illustrate the computation costs and communication costs of these schemes, respectively.
Figure 2 shows the computational cost of each scheme. Our scheme has an advantage in the decryption and trapdoor generation phases, as it takes less time compared to the IBEET [10,18] and IBME-ET [17] schemes. In the equality test phase, our scheme takes the same amount of time as IBEET [18] and less time compared to IBEET [10] and IBME-ET [17]. Figure 3 shows the communication cost of each scheme and the communication cost used by our scheme in the trapdoor phase. Additionally, the ciphertext is the same as that of the IBME-ET scheme [18], which has a lower communication cost compared to the IBEET [10] and IBME-ET [17] schemes.
From Table 2, Table 3 and Table 4 and Figure 2 and Figure 3, we can conclude that, with a small sacrifice in computational and communication efficiency, our RIBME-ET scheme not only ensures the authenticity and confidentiality of data, the privacy of users, user revocation, and CCA security but also provides equality test functionality for ciphertexts generated under different identities in smart healthcare. Other related schemes cannot support this feature.

8. Conclusions and Future Work

In this paper, we introduce a new primitive RIBME-ET scheme, which not only ensures the privacy of users, the authenticity and confidentiality of data, and user revocation but also supports privacy-enhanced bilateral access control and provides equality test functionality for ciphertexts generated under different identities in smart healthcare. We proved the security of the scheme under random oracles. A comprehensive performance analysis shows the efficiency of our scheme. The limitation of our solution is that it is one-to-one for both the sender and the receiver. Considering specific smart healthcare scenarios, there may be a need for one-to-many data sharing and case matching between the sender and the receiver. Regarding future research, on the one hand, we can extend the scheme in the future to the case of fuzzy matching to further enhance the privacy of identities, as well as to mitigate key escrow and create an efficient infrastructure for key management and key revocation. On the other hand, we could consider increasing support for multi-user data sharing and case matching, extending the scheme to post-quantum security, and improving large-scale smart healthcare data integration.

Author Contributions

Formal analysis, writing—original draft preparation, X.Z.; writing—review and editing, D.Z. and Y.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by the National Cryptologic Science Fund of China (No.2025NCSF02037), in part by the National Natural Science Foundation of China (62072369, 62072371), in part by the Youth Innovation Team of Shaanxi Universities (23JP160), in part by the Shaanxi Special Support Program Youth Top-notch Talent Program, in part by the Technology Innovation Leading Program of Shaanxi (2023-YD-CGZH-31), and in part by the Technology Innovation Guidance Special Fund of Shaanxi Province (2024QY-SZX-17).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data used to support the findings of this study are included within the article.

Acknowledgments

We gratefully acknowledge Qiuxia Zhao for their critical review of the study proposal. We also thank Axin Wu for their contributions to data collection and Zhichao Yuan for their editorial assistance in the manuscript preparation. Their expertise and dedication significantly enhanced the quality of this work.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A. Proof of Theorem 3

The proof of Theorem 3 is very similar as that of Theorem 1. Let A 3 be a PPT Type-III adversary who breaks our proposal with the advantage ε . Suppose A 3 makes at most q S sender key extraction queries and at most q R receiver key queries. Then we can construct a PPT algorithm A 3 to address the CBDH assumption with the advantage ε 8 ε / e 2 ( q R + q S + 2 ) 2 q H 2 .
Proof of Theorem 3.
Given a CBDH assumption instance ( g , g a , g b , g c ) , where a , b , c Z p * , the task of A 3 is to calculate D = e ( g , g ) a b c by interacting with A 3 as shown below:
  • Setup: A 3 gives A 3 the public parameters ( g , g 0 = g a , p , e , G 1 , G 2 , H 0 , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , φ ) , where H i ( i = 0 , 1 , 2 , 3 , 4 , 5 , 6 ) are random oracles controlled by A 3 .
  • Phase 1: A 3 answers A 3 ’s queries.
    • H 0 -query: On receiving this query with identity I D R e v , if the query I D R e v is in a tuple ( I D R e v , Q , β , b ) L H 0 , then it returns Q. Otherwise, A 3 randomly picks β Z p * and inserts the new tuple ( I D R e v , Q , β , b ) into L H 0 , with a random coin b { 0 , 1 } , so that P r [ b = 0 ] = ξ . If b = 0, A 3 sets Q = g β ; otherwise, A 3 sets Q = g c β . Finally, ( I D R e v , Q , β , b ) is added to L H 0 , and A 3 sends Q to A 3 .
    • H 1 -query: On receiving this query with identity I D S n d , if the query I D S n d is in a tuple ( I D S n d , Q , β , b ) L H 1 , then it returns Q. Otherwise, A 3 randomly picks β Z p * and inserts the new tuple ( I D S n d , Q , β , b ) into L H 1 , with a random coin b { 0 , 1 } , so that P r [ b = 0 ] = ξ . If b = 0, A 3 sets Q = g β ; otherwise, A 3 sets Q = g a β . Finally, ( I D S n d , Q , β , b ) is added to L H 0 , and A 3 sends Q to A 3 .
    • H 2 -query: A 3 maintains a list L H 2 that stores tuples of the form ( X , h 2 ) with the history of calls to L H 2 . If the query X has already been completed, the challenger returns the value h 2 . If not, it samples a random h 2 { 0 , 1 } n , adds ( X , h 2 ) to the list L H 2 , and returns h 2 .
    • H 3 -query: A 3 maintains a list L H 3 that stores tuples of the form ( m , u , h 3 ) with the history of calls to L H 3 . If the queries m and u have already been completed, the challenger returns the value h 3 . If not, it randomly picks m { 0 , 1 } n , u { 0 , 1 } n , and h 3 { 0 , 1 } γ and inserts the new tuple ( m , u , h 3 ) into L H 3 . Subsequently, A 3 sends h 3 to A 3 .
    • H 4 -query: A 3 maintains a list L H 4 that stores tuples of the form ( g h 4 , h 4 ) with the history of calls to L H 4 . If the query g h 4 has already been completed, the challenger returns the value g H 4 . If not, it randomly picks g h 4 G 2 and h 4 G 1 and inserts the new tuple ( g h 4 , h 4 ) into L H 4 . Subsequently, A 3 sends h 4 to A 3 .
    • H 5 -query: A 3 maintains a list L H 5 that stores tuples of the form ( m , h 5 ) with the history of calls to L H 5 . If the query m has already been completed, the challenger returns the value h 5 . If not, it randomly picks m { 0 , 1 } n and h 5 G 1 and inserts the new tuple ( m , h 5 ) into L H 5 . Finally, A 3 sends h 5 to A 3 .
    • H 6 -query: A 3 maintains a list L H 6 that stores tuples of the form ( g H 6 , h 6 ) with the history of calls to L H 6 . If the query g H 6 has already been completed, the challenger returns the value h 6 . If not, it randomly picks g H 6 G 1 and h 6 { 0 , 1 } l and inserts the new tuple ( g H 6 , h 6 ) into L H 6 . Finally, A 3 sends h 6 to A 3 .
    • O S K G e n : A 3 performs a simulation algorithm with the H 1 -query. Let I D S n d be the input of O S K G e n . A 3 obtains H 1 ( S n d ) = Q . There is a tuple ( I D S n d , Q , β , b ) in L H 1 . If b = 1, A 3 aborts; otherwise, it returns e k S n d = g y β .
    • O R K G e n : A 3 performs a simulation algorithm with the H 0 -query. Let I D R e v be the input of O R K G e n . A 3 obtains H 0 ( R e v , t ) = Q . There is a tuple ( I D R e v , Q , β , b ) in L H 0 . If b = 1, A 3 aborts; otherwise, it returns d k R e v = ( g x β , g y β , Q = g β ) .
  • Forgery: Now A 3 sends ( C , R e v , S n d ) to A 3 . Let I D S n d = S n d . A 3 performs the following steps:
    (1)
    Compute H 0 ( r e v , t ) = Q and H 1 ( s n d ) = Q . If both the tuples ( R e v , Q , β , b ) L H 0 and ( S n d , Q , β , b ) L H 1 do not have coins b and b equal to 1, A 1 aborts. If not, we know that d k R e v 2 = g c y β and H 1 ( S n d ) = g x β . Hence, H 2 ( k 2 ) = H 2 ( e ( d k I D R e v 2 , H 1 ( I D S n d ) ) · e ( d k I D R e v 3 , C 0 ) ) , where e ( d k I D R e v 2 , H 1 ( I D S n d ) ) = e ( g c y β , g x β ) = D β β , and Q = d k R e v 3 .
    (2)
    Parse C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) , compute L = 1 / ( β β ) , and take a random tuple ( X , h 2 ) . Return D = ( X · e ( Q , C 0 ) 1 ) L .
Analysis: Note that the simulation is perfect since in the above game we require that the challenge ( C , R e v , S n d = I D S n d ) satisfies the conditions that R e v disappears in O R K G e n , S n d disappears in O S K G e n , and the challenge C disappears in O D e c . Assuming that the adversary makes at most q R and q S queries for O R K G e n and O S K G e n , the probability that A 3 does not abort for any of these calls is δ q R + q S . Similarly, the probability that A 3 does not abort at all is δ q R + q S ( 1 δ ) 2 , which is maximized at δ o p t = ( q R + q S ) / ( q R + q S + 2 ) . If we use δ o p t as the probability of obtaining coins b = 0 in the H 0 and H 1 queries, we have that the probability of A 3 not aborting is at least 4 / e 2 ( q R + q S + 2 ) 2 .
If A 3 does not abort, it outputs the correct solution D with a probability of at least 2 ε / q H 2 . Hence, A 3 solves the CBDH problem with an advantage of 8 ε / e 2 ( q R + q S + 2 ) 2 q H 2 . □

References

  1. Su, J.; Zhang, L.; Mu, Y. Ba-rmkabse: Blockchain-aided ranked multi-keyword attribute-based searchable encryption with hiding policy for smart health system. Future Gener. Comput. Syst. 2022, 132, 299–309. [Google Scholar] [CrossRef]
  2. Mehla, R.; Garg, R. Anonymous attribute-based searchable encryption for smart health system. SN Comput. Sci. 2024, 5, 879. [Google Scholar] [CrossRef]
  3. Popoola, O.; Rodrigues, M.A.; Marchang, J.; Shenfield, A.; Ikpehai, A.; Popoola, J. An optimized hybrid encryption framework for smart home healthcare: Ensuring data confidentiality and security. Internet Things 2024, 27, 101314. [Google Scholar] [CrossRef]
  4. Lin, H.; Deng, X.; Yu, F.; Sun, Y. Diversified butterfly attractors of memristive hnn with two memristive systems and application in iomt for privacy protection. In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems; IEEE: New York, NY, USA, 2024. [Google Scholar]
  5. Ding, S.; Lin, H.; Deng, X.; Yao, W.; Jin, J. A hidden multiwing memristive neural network and its application in remote sensing data security. Expert Syst. Appl. 2025, 277, 127168. [Google Scholar] [CrossRef]
  6. Yang, G.; Tan, C.H.; Huang, Q.; Wong, D.S. Probabilistic public key encryption with equality test. In Proceedings of the Topics in Cryptology-CT-RSA 2010: The Cryptographers’ Track at the RSA Conference 2010, San Francisco, CA, USA, 1–5 March 2010; Proceedings. Springer: Berlin/Heidelberg, Germany, 2010; pp. 119–131. [Google Scholar]
  7. Li, M.; Yu, S.; Zheng, Y.; Ren, K.; Lou, W. Scalable and secure sharing of personal health records in cloud computing using attribute-based encryption. IEEE Trans. Parallel Distrib. Syst. 2012, 24, 131–143. [Google Scholar] [CrossRef]
  8. Liu, C.-H.; Lin, F.-Q.; Chiang, D.-L.; Chen, T.-L.; Chen, C.-S.; Lin, H.-Y.; Chung, Y.-F.; Chen, T.-S. Secure phr access control scheme for healthcare application clouds. In Proceedings of the 2013 42nd International Conference on Parallel Processing, Lyon, France, 1–4 October 2013; IEEE: New York, NY, USA, 2013; pp. 1067–1076. [Google Scholar]
  9. Zhen, Y. Privacy-Preserving Personal Health Record System Using Attribute-Based Encryption. Ph.D. Dissertation, Worcester Polytechnic Institute, Worcester, MA, USA, 2011. [Google Scholar]
  10. Lee, H.T.; Ling, S.; Seo, J.H.; Wang, H. Semi-generic construction of public key encryption and identity-based encryption with equality test. Inf. Sci. 2016, 373, 419–440. [Google Scholar] [CrossRef]
  11. Wu, L.; Zhang, Y.; Choo, K.-K.R.; He, D. Efficient and secure identity-based encryption scheme with equality test in cloud computing. Future Gener. Comput. Syst. 2017, 73, 22–31. [Google Scholar] [CrossRef]
  12. Ateniese, G.; Francati, D.; Nuñez, D.; Venturi, D. Match me if you can: Matchmaking encryption and its applications. In Proceedings of the Advances in Cryptology–CRYPTO 2019: 39th Annual International Cryptology Conference, Santa Barbara, CA, USA, 18–22 August 2019; Proceedings, Part II 39. Springer: Berlin/Heidelberg, Germany, 2019; pp. 701–731. [Google Scholar]
  13. Zhang, Y.; Yu, J.; Hao, R.; Wang, C.; Ren, K. Enabling efficient user revocation in identity-based cloud storage auditing for shared big data. IEEE Trans. Dependable Secur. Comput. 2018, 17, 608–619. [Google Scholar] [CrossRef]
  14. Zhang, R.; Li, J.; Lu, Y.; Han, J.; Zhang, Y. Key escrow-free attribute based encryption with user revocation. Inf. Sci. 2022, 600, 59–72. [Google Scholar] [CrossRef]
  15. Wang, G.; Liu, Q.; Wu, J.; Guo, M. Hierarchical attribute-based encryption and scalable user revocation for sharing data in cloud servers. Comput. Secur. 2011, 30, 320–331. [Google Scholar] [CrossRef]
  16. Zhang, Y.; Deng, R.H.; Xu, S.; Sun, J.; Li, Q.; Zheng, D. Attribute-based encryption for cloud computing access control: A survey. ACM Computing Surv. (CSUR) 2020, 53, 1–41. [Google Scholar] [CrossRef]
  17. Yan, Z.; Lin, X.; Zhang, X.; Xu, J.; Qu, H. Identity-based matchmaking encryption with equality test. Entropy 2024, 26, 74. [Google Scholar] [CrossRef] [PubMed]
  18. Ma, S. Identity-based encryption with outsourced equality test in cloud computing. Inf. Sci. 2016, 328, 389–402. [Google Scholar] [CrossRef]
  19. 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, Australia, 11–13 July 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 389–406. [Google Scholar]
  20. Tang, Q. Public key encryption supporting plaintext equality test and user-specified authorization. Secur. Commun. Netw. 2012, 5, 1351–1362. [Google Scholar] [CrossRef]
  21. 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]
  22. Ma, S.; Huang, Q.; Zhang, M.; Yang, B. Efficient public key encryption with equality test supporting flexible authorization. IEEE Trans. Inf. Forensics Secur. 2014, 10, 458–470. [Google Scholar] [CrossRef]
  23. Huang, K.; Tso, R.; Chen, Y.-C.; Rahman, S.M.M.; Almogren, A.; Alamri, A. “Pke-aet: Public key encryption with authorized equality test. Comput. J. 2015, 58, 2686–2697. [Google Scholar] [CrossRef]
  24. Hassan, A.; Wang, Y.; Elhabob, R.; Eltayieb, N.; Li, F. An efficient certificateless public key encryption scheme with authorized equality test in healthcare environments. J. Syst. Archit. 2020, 109, 101776. [Google Scholar] [CrossRef]
  25. Susilo, W.; Guo, F.; Zhao, Z.; Wu, G. Pke-met: Public-key encryption with multi-ciphertext equality test in cloud computing. IEEE Trans. Cloud Comput. 2020, 10, 1476–1488. [Google Scholar] [CrossRef]
  26. Ma, S.; Zhong, Y.; Huang, Q. Efficient public key encryption with outsourced equality test for cloud-based iot environments. IEEE Trans. Inf. Forensics Secur. 2022, 17, 3758–3772. [Google Scholar] [CrossRef]
  27. Xiong, H.; Hou, Y.; Huang, X.; Zhao, Y. Secure message classification services through identity-based signcryption with equality test towards the internet of vehicles. Veh. Commun. 2020, 26, 100264. [Google Scholar] [CrossRef]
  28. Yang, Z.; He, D.; Qu, L.; Ye, Q. An efficient identity-based encryption with equality test in cloud computing. IEEE Trans. Cloud Comput. 2023, 11, 2983–2992. [Google Scholar] [CrossRef]
  29. Chen, J.; Li, Y.; Wen, J.; Weng, J. Identity-based matchmaking encryption from standard assumptions. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Taipei, Taiwan, 5–9 December 2022; Springer: Berlin/Heidelberg, Germany, 2022; pp. 394–422. [Google Scholar]
  30. Jiang, Z.; Wang, X.; Zhang, K.; Gong, J.; Chen, J.; Qian, H. Revocable identity-based matchmaking encryption in the standard model. IET Inf. Secur. 2023, 17, 567–581. [Google Scholar] [CrossRef]
  31. Wu, A.; Luo, W.; Weng, J.; Yang, A.; Wen, J. Fuzzy identity-based matchmaking encryption and its application. IEEE Trans. Inf. Forensics Secur. 2023, 18, 5592–5607. [Google Scholar] [CrossRef]
Figure 1. System model.
Figure 1. System model.
Sensors 25 04588 g001
Figure 2. Computation cost of each scheme. (a) Encryption. (b) Decryption. (c) Trapdoor. (d) Test. These schemes: Lee2016 [10], Ma2016 [18], Yan2024 [17].
Figure 2. Computation cost of each scheme. (a) Encryption. (b) Decryption. (c) Trapdoor. (d) Test. These schemes: Lee2016 [10], Ma2016 [18], Yan2024 [17].
Sensors 25 04588 g002
Figure 3. Communication cost of each scheme. (a) Encryption key. (b) Decryption key. (c) Trapdoor. (d) Ciphertext. These schemes: Lee2016 [10], Ma2016 [18], Yan2024 [17].
Figure 3. Communication cost of each scheme. (a) Encryption key. (b) Decryption key. (c) Trapdoor. (d) Ciphertext. These schemes: Lee2016 [10], Ma2016 [18], Yan2024 [17].
Sensors 25 04588 g003
Table 1. Comparison of functionality.
Table 1. Comparison of functionality.
SchemesEquality TestUser RevocationBilateral Access ControlSecurity Model
PKEET [6]1× 2×CCA
IBEET [10]××CCA
IBME [12]××CPA
IBME-ET [17]×CCA
1 ✓: Supports the functionality. 2 ×: Does not support the functionality.
Table 2. Comparison of functionality and security.
Table 2. Comparison of functionality and security.
SchemesSecurityEquality TestAuthenticityPrivacyUser RevocationBilateral Access Control
IBEET [10]CCA1×2×××
IBME [12]CPA××
IBEET [18]CCA××××
IBME-ET [17]CCA×
OursCCA
1 ✓: Supports the functionality. 2 ×: Does not support the functionality.
Table 3. Comparison of computation costs.
Table 3. Comparison of computation costs.
SchemesSKGenRKGenEncDecTrapTest
IBEET [10] 3 H + 3 E x p 3 H + 3 p + 6 E x p 3 p + 2 E x p 0 2 p + 2 E x p
IBEET [18]H H + 2 E x p 2 H + 6 E x p 2 p + 2 E x p H + E x p 4 p
IBME-ET [17] H + E x p 2 H + 3 E x p 2 H + 2 p + 6 E x p H + 3 p + 3 E x p H + p + 4 E x p 6 p
Ours H + E x p H + 3 E x p 2 H + 3 p + 5 E x p 3 p H 4 p
Table 4. Comparison of communication costs.
Table 4. Comparison of communication costs.
SchemesEncryption KeyDecryption KeyTrapdoorCiphertext
IBEET [10] 3 | G 2 | | G 2 | 4 | G 1 | + 5 λ
IBEET [18] | G 1 | 2 | G 1 | | G 1 | 4 | G 1 | + | Z p |
IBME-ET [17] | G 1 | 3 | G 2 | 2 | G 2 | 3 | G 1 | + | G 2 | + | Z p | + λ
Ours | G 1 | 3 | G 2 | | G 2 | 4 | G 1 | + | Z p |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zheng, X.; Zheng, D.; Zhang, Y. Revocable Identity-Based Matchmaking Encryption with Equality Test for Smart Healthcare. Sensors 2025, 25, 4588. https://doi.org/10.3390/s25154588

AMA Style

Zheng X, Zheng D, Zhang Y. Revocable Identity-Based Matchmaking Encryption with Equality Test for Smart Healthcare. Sensors. 2025; 25(15):4588. https://doi.org/10.3390/s25154588

Chicago/Turabian Style

Zheng, Xiaokun, Dong Zheng, and Yinghui Zhang. 2025. "Revocable Identity-Based Matchmaking Encryption with Equality Test for Smart Healthcare" Sensors 25, no. 15: 4588. https://doi.org/10.3390/s25154588

APA Style

Zheng, X., Zheng, D., & Zhang, Y. (2025). Revocable Identity-Based Matchmaking Encryption with Equality Test for Smart Healthcare. Sensors, 25(15), 4588. https://doi.org/10.3390/s25154588

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