Revocable Identity-Based Matchmaking Encryption with Equality Test for Smart Healthcare
Abstract
1. Introduction
- 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.
2. Related Work
3. Preliminaries
3.1. Bilinear Map
- Bilinearity: for ∀, and .
- Non-degeneracy: .
3.2. Computational Bilinear Diffie–Hellman Assumption
4. Definition
4.1. System Model
- 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
- Setup: Input the security parameter , and the algorithm outputs a time period t as input to produce the system’s master public key and master secret key . Then the is used as an implicit input for the following algorithms.
- SKGen: After inputting the master secret key and the sender’s identity , the algorithm outputs the encryption key .
- RKGen: After inputting the master secret key and the receiver identity , during time period t, the algorithm outputs the decryption key , which is associated with the time.
- Enc: Given , the encryption key , a period time t, a receiver identity , and the message m, the algorithm outputs the ciphertext C.
- Dec: Given , the decryption key , a sender identity , and the ciphertext C, the algorithm outputs m.
- Trap: It takes as input a portion of the receiver’s private key to compute the trapdoor corresponding to the ciphertext.
- Test: This algorithm takes a receiver’s ciphertext with trapdoor and another receiver’s ciphertext with trapdoor as inputs and outputs a result of 0 or 1.
4.3. Security Definitions of RIBME-ET
- Type-I adversary: A Type-I adversary , who possesses a trapdoor, attempts to recover the plaintext m from a ciphertext. Security against is defined as one-wayness under chosen identity and chosen ciphertext attacks (OW-ID-CCA).
- Type-II adversary: A Type-II adversary , who has no trapdoor, attempts to determine which plaintext corresponds to a given ciphertext. Security against requires indistinguishability under chosen identity and chosen ciphertext attacks (IND-ID-CCA).
- Type-III adversary: A Type-III adversary tries to forge a ciphertext C corresponding to the sender’s identity. The forgery is considered valid if for all encryption keys obtained by the adversary it holds that and the identity is not held by the adversary . Security against Type-III adversary is existential unforgeability against identity under chosen message attacks (EU-ID-CMA).
- Setup: Challenger C takes the security parameter as input, runs RIBME-ET.Setup(, and sends the master public key to .
- Phase 1: may query the following oracles polynomially many times adaptively and in any order: , and .
- : Given the identity of the sender is received, answers the encryption key .
- : Given the identity of the receiver is received, answers the decryption key .
- : Given the identity of the receiver , the identity of the target sender , and the ciphertext C are received, C answers the result of .
- : Given the identity of the target sender and the identity of the receiver are received, C answers the corresponding trapdoor .
- Challenge: sends identities and to C. Subsequently, C randomly chooses a message in answer to with the challenge ciphertext C = .
- Phase 2: makes queries like in Phase 1.
- Guess: answers a guess .
- 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 .
- Challenge: sends and and selected messages of the same length to C. C selects a random bit , runs , and sends to .
- Phase 2: C responds to ’s queries as in Phase 1.
- Guess: outputs .
- 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 and .
- Forgery: outputs a forged ciphertext to C, C runs the ReceiverKey generation to obtain , C uses to decrypt ciphertext C, and C outputs m. If ∀, ∧∧, the adversary wins and C returns 1. Else, if the adversary fails, C returns 0.
5. Construction of RIBME-ET
- Setup: When the security parameter is input, the algorithm outputs a time period t and a bilinear group with a generator , where the order of and is p. Then it randomly selects seven cryptographic hash functions , , , , , , and , modeled as random oracles, and a polynomial-time computable padding function :→. We require that for all m∈, one can verify in polynomial time if m has been padded correctly and that is efficiently invertible. In addition, it also selects two random numbers r, s∈ and computes . Finally, the master public key and master secret key are and .
- Sender Key generation: Given the master key pair and a sender’s identity →, the algorithm outputs the sender’s encryption key = .
- Receiver Key generation: Given the master key pair and a receiver’s identity →, with a period of time t, the algorithm outputs the receiver’s decryption key , , )=(, , ).
- Encryption: Given the master public key , the encryption key , a time period t, the receiver’s identity , and a message m∈, the algorithm proceeds as follows:
- Sample random a, b ∈, and .
- Compute and .
- Compute = and = .
- Compute and = ⊕⊕⊕.
- Compute .
- Output ciphertext .
- Decryption: Given the master public key , a decryption key , a target identity , and ciphertext , the algorithm proceeds as follows:
- Parse .
- Compute = and = .
- Compute = .
- If the padding is valid, return m. Otherwise, return ⊥.
- Trapdoor: The algorithm is performed by a receiver who takes and as input to produce the trapdoor. = = . 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 . Even if 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 and .,.
- Compute and as follows:= ,= .
- Compute and as follows:
Check whether holds. If it holds, output 1; otherwise, output 0.
- For decryption, if , , and matches , the receiver will be able to decrypt the ciphertext. For a ciphertext under an encryption of a message m, let and be the keys computed by the decryption algorithm.Compute = = = = = .Compute = = = = .= . Then return m.
- For the equality test, if , matches , and matches , only receivers A and B can compute their respective trapdoors. For the ciphertext encrypted by message and the ciphertext encrypted by message , we check the following:If , then , and it outputs 1; otherwise, it outputs 0.
6. Security Analysis of RIBME-ET
6.1. OW-ID-CCA Security Against Type-I Adversary
- Setup(): Generate a symmetric pairing e: ×→, with and of an order p that depends on . Choose a random generator g of . Sample a random and set . Choose three hash functions: , , and , with and .
- KGen(): Choose a random . The public key is . The private key is .
- Enc(): To encrypt a message m under the public key , choose a random , set , and output = .
- Dec(): Let be a ciphertext for the public key . To decrypt C using the private key , compute the following:
- .
- .
- Set . Test that . If not, reject the ciphertext.
- Output m as the decryption of C.
- Setup: first performs the setup algorithm to generate , randomly selects , and gives the to . then implicitly sets , , and has no knowledge about x and y. preserves the lists to simulate the oracle -query.
- Phase 1: answers ’s queries.
- -query: On receiving this query with identity , if the query is in a tuple , then Q is returned. Otherwise, randomly picks and inserts the new tuple into , with a random coin , so that . If , sets ; otherwise, sets . Finally, is added to , and sends Q to .
- -query: On receiving this query with identity , if the query is in a tuple , then Q is returned. Otherwise, randomly picks and inserts the new tuple into , with a random coin , so that . If , sets ; otherwise, sets . Finally, is added to , and sends Q to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query X has already been completed, the challenger returns the value . If not, it samples a random , adds to the list , and returns .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the queries m and u have already been completed, the challenger returns the value . If not, it randomly picks m∈, u∈, and and inserts the new tuple into . Subsequently, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query has already been completed, the challenger returns the value . If not, it randomly picks and and inserts the new tuple into . Subsequently, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query m has already been completed, the challenger returns the value . If not, it randomly picks m∈ and and inserts the new tuple into . Finally, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query has already been completed, the challenger returns the value . If not, it randomly picks and and inserts the new tuple into . Finally, sends to .
- : performs a simulation algorithm with the -query. Let be the input of . obtains . There is a tuple in . If , aborts; otherwise, it returns .
- : performs a simulation algorithm with the -query. Let be the input of . obtains . There is a tuple in . If , aborts; otherwise, it returns .
- : Let . performs a simulation algorithm to query the -query and -query. obtains the ciphertexts . sends the output of to .When , can query to obtain and returns the outcome .Otherwise, can query to obtain and compute = . For each tuple in and in , computes = and . If and there exists a tuple in such that is valid, it returns . When has no such tuple, it returns ⊥.
- : Let . performs a simulation algorithm to query and . runs the receiver key queries on the ID to obtain , , ) and responds to with . When or , fails. Otherwise, sends to .
- Challenge: Algorithm outputs a pair of sender and receiver identities to . randomly select a message and utilizes a simulation algorithm to query oracles and . The challenge pair of sender and receiver identities do not appear in the receiver key queries of Phase 1. Now performs the following steps:
- (1)
- Compute and . If both the tuples and do not have coins b and equal to 1, aborts. If not, we know that and . Hence, = , where = = , and .
- (2)
- Parse , compute , and take a random tuple . Return .
- Phase 2: makes queries like in Phase 1.
- Guess: answers with a guess for . answers with a CBDH solution .
6.2. IND-ID-CCA Security Against Type-II Adversary
- Setup: first performs the setup algorithm to generate , randomly selects , and sends the to . implicitly sets and , and has no knowledge about x. preserves the lists to simulate the oracle -query.
- Phase 1: answers ’s queries.
- -query: On receiving this query with identity , if query is in a tuple , then Q is returned. Otherwise, randomly picks and inserts the new tuple into , with a random coin , so that . If , sets ; otherwise, sets . Finally, is added to , and sends Q to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query has already been completed, the challenger returns the value . If not, it samples a random , adds to the list, and returns .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query X has already been completed, the challenger returns the value . If not, it samples a random , adds to the list , and returns .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the queries m and u have already been, the challenger returns the value . If not, it randomly picks m∈, u∈, and and inserts the new tuple into . Subsequently, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query has already been completed, the challenger returns the value . If not, it randomly picks and and inserts the new tuple into . Subsequently, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query m has already been completed, the challenger returns the value . If not, it randomly picks m∈ and and inserts the new tuple into . Finally, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query has already been completed, the challenger returns the value . If not, it randomly picks and and inserts the new tuple into , finally, sends to .
- : performs a simulation algorithm with the -query. Let be the input of . obtains . There is a tuple in , and it returns .
- : performs a simulation algorithm with the -query. Let be the input of . obtains . There is a tuple in . If b = 1, aborts; otherwise, it returns .
- : Let . performs a simulation algorithm to query the -query and -query. obtains the ciphertexts . sends the output of to .When , can query to obtain and returns the outcome .Otherwise, can query to obtain and compute = . For each tuple in and in , computes = and . If and there exists a tuple in such that is valid, is returned. When has no such tuple, ⊥ is returned.
- Challenge: Algorithm outputs equal-length messages along with the two pairs of sender and receiver identities to . The pairs of sender and receiver identities do not appear in the receiver key queries of Phase 1. Afterwards, utilizes a simulation algorithm to query the oracles and . performs the following steps:
- (1)
- After selecting and , queries and . If the tuples and do not belong to , aborts. Otherwise, we know that = 0 and = 1, which means that and .
- (2)
- computes for a random and queries and . It uses them to obtain = and = . Note that .
- (3)
- sends and to its challenger and receives as a response.
- (4)
- computes and sends it to . This is a proper encryption of under the condition and sender’s identity .
- Phase 2: makes queries like in Phase 1.
- Guess: answers with a guess . responds to its challenger with the same guess.
6.3. EU-ID-CMA Security Against Type-III Adversary
7. Performance Evaluation
7.1. Functionality and Security Comparisons
7.2. Experimental Analysis
8. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A. Proof of Theorem 3
- Setup: gives the public parameters , where are random oracles controlled by .
- Phase 1: answers ’s queries.
- -query: On receiving this query with identity , if the query is in a tuple , then it returns Q. Otherwise, randomly picks and inserts the new tuple into , with a random coin , so that . If b = 0, sets ; otherwise, sets . Finally, is added to , and sends Q to .
- -query: On receiving this query with identity , if the query is in a tuple , then it returns Q. Otherwise, randomly picks and inserts the new tuple into , with a random coin , so that . If b = 0, sets ; otherwise, sets . Finally, is added to , and sends Q to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query X has already been completed, the challenger returns the value . If not, it samples a random , adds to the list , and returns .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the queries m and u have already been completed, the challenger returns the value . If not, it randomly picks m∈, u∈, and and inserts the new tuple into . Subsequently, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query has already been completed, the challenger returns the value . If not, it randomly picks and and inserts the new tuple into . Subsequently, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query m has already been completed, the challenger returns the value . If not, it randomly picks m∈ and and inserts the new tuple into . Finally, sends to .
- -query: maintains a list that stores tuples of the form with the history of calls to . If the query has already been completed, the challenger returns the value . If not, it randomly picks and and inserts the new tuple into . Finally, sends to .
- : performs a simulation algorithm with the -query. Let be the input of . obtains . There is a tuple in . If b = 1, aborts; otherwise, it returns .
- : performs a simulation algorithm with the -query. Let be the input of . obtains . There is a tuple in . If b = 1, aborts; otherwise, it returns .
- Forgery: Now sends to . Let . performs the following steps:
- (1)
- Compute and . If both the tuples and do not have coins b and equal to 1, aborts. If not, we know that and . Hence, = , where = = , and .
- (2)
- Parse , compute , and take a random tuple . Return .
References
- 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]
- Mehla, R.; Garg, R. Anonymous attribute-based searchable encryption for smart health system. SN Comput. Sci. 2024, 5, 879. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Zhen, Y. Privacy-Preserving Personal Health Record System Using Attribute-Based Encryption. Ph.D. Dissertation, Worcester Polytechnic Institute, Worcester, MA, USA, 2011. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Ma, S. Identity-based encryption with outsourced equality test in cloud computing. Inf. Sci. 2016, 328, 389–402. [Google Scholar] [CrossRef]
- 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]
- Tang, Q. Public key encryption supporting plaintext equality test and user-specified authorization. Secur. Commun. Netw. 2012, 5, 1351–1362. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
Schemes | Equality Test | User Revocation | Bilateral Access Control | Security Model |
---|---|---|---|---|
PKEET [6] | ✓ 1 | × 2 | × | CCA |
IBEET [10] | ✓ | × | × | CCA |
IBME [12] | × | × | ✓ | CPA |
IBME-ET [17] | ✓ | × | ✓ | CCA |
Schemes | Security | Equality Test | Authenticity | Privacy | User Revocation | Bilateral Access Control |
---|---|---|---|---|---|---|
IBEET [10] | CCA | ✓ 1 | ×2 | × | × | × |
IBME [12] | CPA | × | ✓ | ✓ | × | ✓ |
IBEET [18] | CCA | ✓ | × | × | × | × |
IBME-ET [17] | CCA | ✓ | ✓ | ✓ | × | ✓ |
Ours | CCA | ✓ | ✓ | ✓ | ✓ | ✓ |
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. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
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
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 StyleZheng, 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 StyleZheng, 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