Registered Keyword Searchable Encryption Based on SM9
Abstract
:1. Introduction
- In the anonymous IBE, the identity information in its algorithm is replaced by keywords, and the IBE can be converted into a PEKS. We first involve a third-party server for keyword registration using SM9’s deterministic key generation algorithm and then construct a public key encryption scheme with a registered keyword search. By employing Beaver’s protocol [7] to ensure secure keyword generation, we ensured the privacy of registered keywords;
- We describe the framework of our suggested system and examine its security model in this paper. We simplify the proposed method to the q-BCAA problem and prove its security in the presence of random oracles. Our searchable encryption method is more resistant to insider keyword guessing attacks than the existing SM9 searchable encryption scheme;
- Compared with existing Registered Keyword Searchable Encryption Schemes [8], our scheme has significant advantages in both computational overhead and communication overhead, especially in terms of the PEKS Ciphertext and Testing. According to experimental data, the PEKS Ciphertext’s efficiency has grown by 84 percent, Testing’s efficiency has increased by 41.3 percent, and the overall efficiency has increased by 63 percent.
Related Works
2. Preliminaries
2.1. Bilinear Maps
- Bilinearity: for all , , and all , .
- Non-degeneracy: .
- Computability: for all and , can be computed efficiently.
2.2. Bilinear Collision Attack Assumption
2.3. Beaver Triple
Algorithm 1: Beaver Triple |
Input: Shares , , , , and . |
Output: Shares . |
1. computes and . |
2. and jointly construct e and f. |
3. computes . |
3. The Proposed RKSE-SM9 Scheme
3.1. System Model
- : Input , which is a security parameter in the system, and output a public parameter .
- : Input , then output the registration sever’s key pair .
- : Input , then output the receiver’s key pair .
- : Input , , and w, outputs the RS-derived keyword .
- : Input , , and , the sender outputs the PEKS ciphertext of w.
- : Input , , and , the receiver outputs the search Trapdoor of .
- : Input , , and , the CS outputs 1 if , otherwise outputs 0.
3.2. Construction of RKSE-SM9
- : Input the security parameter , it returns a public parameter =(N, , , , , , , , , ); among them, and are two cyclic additive groups of order prime N, is a multiplicative cyclic group of order prime N, and and are the generators of the groups and , respectively. There exists a homomorphic map from to , such that . is a bilinear map, and , , and are three hash functions.
- : Input , the registration server picks a random and outputs the RS’s key pair as .
- : Input , the receiver picks a random , computes , and outputs the receiver’s key pair . It publishes and g, and keeps secretly.
- : Input , , and , the sender picks a random , computes and , and finally outputs the PEKS ciphertext .
- : Input , , and , the receiver computes and outputs the search trapdoor .
- : Input , , and , the CS checks . If yes, it outputs 1, indicating that . Otherwise, it outputs 0.
- : Dual server keyword registration algorithm. Input , the registration servers pick random , and compute the public/private key pair of server as and , respectively. The servers publish and , and keep and secretly. Let . The two servers jointly compute . Unless otherwise specified, the following operations are performed over ring .
- : Input , of the , and w, the two servers jointly compute the RS-derived keyword for a user, so that no server knows the value the keyword w. it outputs the RS-derived keyword of w. The improved RSD algorithm is described as follows:
- User selects a keyword w to be registered and hashes it to obtain .
- The user sends the secret sharing to and , respectively. That is, obtains and obtains ;
- The user generates two random numbers , computes , and sends the secret sharing , , and to and , respectively. That is, obtains shares , and obtains shares ;
- The user generates a random number , and sends the secret sharing to and , respectively. That is, obtains share , and obtains share ;
- () computes , and , respectively. Then, broadcasts and , leading to reconstruction of e and f;
- (), respectively, computes . That is, computes and computes ;
- and broadcast , leading to the reconstruction of ;
- and compute , respectively, then sends and to the user;
- The user computes .
3.3. Security Model
- Setup.
- The challenger generates public parameter , key pairs and , and sends to the adversary.
- Query 1.
- The adversary can adaptively query the challenger with the following queries:
- Hash query : For the value x queried by the adversary, the corresponding hash value is returned.
- Keyword registration query : The adversary sends the challenger a keyword w, and the challenger returns to the adversary. (We assume that the adversary must ask for the registration result of the keyword before asking for the ciphertext of the keyword. Since the PEKS is publicly computable, we omit the adversary’s query of the ciphertext of the keyword.)
- Trapdoor query : The adversary sends a keyword w to the challenger, and the challenger sends the search trapdoor to the adversary.
- Challenge.
- When the Query 1 is over, the adversary selects two never-queried keywords , , and sends them to the challenger. The challenger randomly selects and runs the keyword registration algorithm to generate . Finally, it sends the challenge ciphertext to the adversary.
- Query 2.
- The adversary can continue the query the same as in Query 1 except for the two challenge keywords and .
- Guess.
- The adversary outputs its guess and wins the game if ; otherwise, the adversary fails.
- Setup.
- Same as in Definition 4.
- Query 1.
- Same as in Definition 4.
- Challenge.
- When Query 1 is over, the adversary chooses two never-queried keywords, and , and sends them to the challenger. The challenger randomly selects and runs the keyword registration algorithm to generate . Finally, it sends the challenge search trapdoor to the adversary.
- Query 2.
- Same as in Definition 4.
- Guess.
- The adversary outputs its guess and wins the game if ; otherwise, the adversary fails.
- Setup.
- The challenger generates public parameter , key pairs and , and sends (, , , , , and ) to the adversary.
- Challenge.
- The adversary selects two challenge keywords, and , and sends them to the challenger. The challenger randomly selects and interacts with two registration servers to obtain .
- Guess.
- The adversary outputs its guess and wins the game if , and otherwise fails.We refer to such an adversary in the above game as an IND-RK-CKA adversary and define its advantage as . If for any polynomial–time adversary , its advantage is negligible, we say that the scheme satisfies registered keyword indistinguishability.
4. Security Analysis
4.1. Correctness
- computes , and , computes , and .
- computes , computes .
- and jointly computes
- computes and computes .
- User computes
4.2. Security Proof
- Setup.
- According to the -BCAA problem, the simulator first selects three hash functions , , and , and generates public parameter = (N, , , , , , , , , ). Next, randomly selects , and let be the public/private key pair of the RS. implicitly chooses the receiver’s private key as , and then sets the receiver’s public key as . Finally, calculates , and sends , , and to adversary .
- Query 1.
- In addition to keyword registration query and keyword trapdoor query, can perform queries of three hash functions. Before answering these queries, randomly selects two values and from as the guess results for the challenge keywords and , respectively, and randomly selects as a bit in the challenge ciphertext. can adaptability query as follows:
- Hash queries: first creates two hash lists of the form and that are initialized to be empty.
- When queries the value of the keyword , first checks whether there is an element by in the list L. It returns the relevant hash value if it is present; if it does not, randomly selects and returns it to . At the same time, because knows the secret key of the registration server, it can calculate . If , then chooses an unused value from as the value of ; if , then let the value of be ; otherwise, randomly selects a value as the value of . Finally, stores into the list L.
- When queries the value of , first checks whether there is an element by in the list L. It returns the relevant hash value if it exists; if it does not, randomly selects and returns it to . Finally, stores into the list L, the symbol “⋆” means that the value is unknown.
- When queries the value of the ciphertext element , first checks whether there is an element by in the list . It returns the relevant hash value ; if it does not, randomly selects and returns it to . Finally, stores into the list .
- Keyword registration query: when selects and sends a keyword to , first checks whether there is an element in the list L. returns the relevant registration keyword if it exists; otherwise, creates the element according to hash query and adds it to the list L. Finally, returns the registration key to .
- Trapdoor query: when queries the trapdoor of keyword , if , then stops the game; otherwise, queries the element containing in the list L, and returns the relevant hash value . Because of the hash value of the registration key of , returns the corresponding element as a trapdoor from the instance of the -BCAA problem to .
- Challenge.
- When selects and sends two never-queried keywords and to , randomly selects , computes and randomly selects . Finally, sets the challenge ciphertext of keyword and sends it to .
- Query 2.
- can continue the query for the keyword registration and trapdoor for any keyword with the exception of the challenge keywords and .
- Setup.
- Same as in Theorem 1, generates system parameters according to the instance of -BCAA problem, public/private key pairs , and . Specifically, implicitly sets , and hence the corresponding public key is . sends , , and to the adversary .
- Query 1.
- Similar to Theorem 1, can query adaptively as follows:
- Hash queries: creates three hash lists of the form , , and that are initialized to be empty.
- When queries the value of the keyword , first checks whether there is an element by in the list . It returns the relevant hash value if it exists; if it does not and , then selects an unused value from as the value of ; if it does not exist and , then let value of is ; Otherwise, randomly selects a value as the value of . Finally, stores into the list L.
- When queries the value of the registered keyword , first checks whether there is an element containing in the list . It returns the relevant hash value if it exists; if it does not, randomly selects and returns it to . Finally, stores into the list L.
- When queries value of the ciphertext element , first checks whether there is an element by in the list . It returns the relevant hash value if it exists; if it does not, randomly selects and returns it to . Finally, stores into the list .
- Keyword registration query: initializes a list of registered keywords in the form of . When makes a registration query for the keyword , if , then terminates the game. Otherwise, queries list R for elements containing and returns the corresponding registered key . If it does not exist, queries the element containing in the list , and takes out the corresponding value . Since , returns as the registration key of to , and stores into the list R.
- Trapdoor query: When queries the trapdoor of keyword , if , then stops the game; Otherwise, queries the element containing in the list R, and takes out the corresponding registered keyword . Since has the receiver’s private key , can use the private key to compute the corresponding trapdoor and return it to .
- Challenge.
- When selects and sends two never-queried keywords and to , randomly selects an element as a challenger trapdoor for the keyword and sends it to .
- Query 2.
- Same as in Theorem 1.
- Setup.
- The simulator runs the registration server key generation algorithm to generate the public/private key pair of and , and sends the public keys and the private key of to the adversary.
- Challenge.
- When the simulator receives the challenge keywords and from the adversary, the challenger simulates the registration keyword generation algorithm as follows:
- The simulator randomly selects and computes ;
- The simulator randomly selects , sets , and sends to the adversary;
- The simulator randomly selects and sends them to the adversary;
- The simulator randomly selects and sends it to the adversary;
- The Simulator randomly selects and sends them to the adversary. When it receives and from the adversary, the simulator computes and ;
- The simulator randomly selects and sends it to the adversary;
- When it receives from the adversary, the simulator computes ;
- When it receives from the adversary, the simulator computes ;
- The simulator computes ;
- Guess.
- The adversary outputs a guessed bit .
5. Implementation and Performance
5.1. Efficiency Analysis
- Computation. In Table 2, the time of common cryptographic operations is defined by taking the Type-F curve as an example, where represents the time of bilinear pairing operation, represents the time of exponential operations over groups , and represent the time of scalar multiplication operations of groups and , respectively, and and represent the time of mapping a value to and , respectively. The operation results in Table 2 are our simulations. It can be seen from Table 2 that the order of commonly used cryptographic operation time is . Note that the operations and are much larger than other operations, and the operations are close to 0.Table 3 compares the operations required by PEKS Ciphertext, Trapdoor, and Testing of each scheme. The main comparison operations include bilinear pairing operations, exponential operations, multiplication operations, and hash operations. It can be seen from Table 3 that RKSE-SM9 is the same as that of [30], and better than others in the ciphertext algorithm. This is because other schemes have bilinear pairing operations in the PEKS Ciphertext. For Trapdoor, our scheme and that of [30] have the same operations, which are slightly slower than that of [8,15] and faster than others. For Testing, our scheme is the same as that of [15,18], closer to that of [30] and faster than the schemes of [8,13,17].
- Communication. In Table 4, we use , , and to denote the element lengths in groups , , and , respectively. The scheme of [8] requires the most expensive communication overhead when generating a public key, whereas the schemes [8,15,17] require the least amount of communication overhead when generating PEKS Ciphertext and are consistent with our scheme in terms of communication overhead, while our system and the one in [30] have comparable communication costs.
5.2. Experimental Results
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Razaq, A.; Akhter, S.; Yousaf, A.; Shuaib, U.; Ahmad, M. A group theoretic construction of highly nonlinear substitution box and its applications in image encryption. In Multimedia Tools and Applications; Springer: Berlin/Heidelberg, Germany, 2022; pp. 1–22. [Google Scholar]
- Yousaf, M.A.; Alolaiyan, H.; Ahmad, M.; Dilbar, M.; Razaq, A. Comparison of Pre and Post-Action of a Finite Abelian Group Over Certain Nonlinear Schemes. IEEE Access 2020, 8, 39781–39792. [Google Scholar] [CrossRef]
- Noorallahzade, M.H.; Alimoradi, R.; Gholami, A. A Survey on Public Key Encryption with Keyword Search: Taxonomy and Methods. Int. J. Math. Math. Sci. 2022, 2022, 3223509:1–3223509:10. [Google Scholar] [CrossRef]
- Razaq, A.; Ullah, A.; Alolaiyan, H.; Yousaf, A. A novel group theoretic and graphical approach for designing cryptographically strong nonlinear components of block ciphers. Wirel. Pers. Commun. 2021, 116, 3165–3190. [Google Scholar] [CrossRef]
- Yousaf, A.; Razaq, A.; Baig, H. A lightweight image encryption algorithm based on patterns in Rubik’s revenge cube. Multimed. Tools Appl. 2022, 81, 28987–28998. [Google Scholar] [CrossRef]
- Cheng, Z. The SM9 Cryptographic Schemes. IACR Cryptol. ePrint Arch. 2017, 2017, 117. [Google Scholar]
- Beaver, D. Efficient Multiparty Protocols Using Circuit Randomization. In Proceedings of the Advances in Cryptology—CRYPTO’91, 11th Annual International Cryptology Conference, Santa Barbara, CA, USA, 11–15 August 1991; Feigenbaum, J., Ed.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 1991; Volume 576, pp. 420–432. [Google Scholar] [CrossRef] [Green Version]
- Chen, R.; Mu, Y.; Yang, G.; Guo, F.; Huang, X.; Wang, X.; Wang, Y. Server-Aided Public Key Encryption With Keyword Search. IEEE Trans. Inf. Forensics Secur. 2016, 11, 2833–2842. [Google Scholar] [CrossRef]
- Song, D.X.; Wagner, D.A.; Perrig, A. Practical Techniques for Searches on Encrypted Data. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 14–17 May 2000; Computer Society. IEEE: New York, NY, USA, 2000; pp. 44–55. [Google Scholar] [CrossRef] [Green Version]
- Boneh, D.; Crescenzo, G.D.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keyword Search. In Proceedings of the Advances in Cryptology—EUROCRYPT 2004, International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; Cachin, C., Camenisch, J., Eds.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 506–522. [Google Scholar] [CrossRef] [Green Version]
- Abdalla, M.; Bellare, M.; Catalano, D.; Kiltz, E.; Kohno, T.; Lange, T.; Malone-Lee, J.; Neven, G.; Paillier, P.; Shi, H. Searchable Encryption Revisited: Consistency Properties, Relation to Anonymous IBE, and Extensions. In Proceedings of the Advances in Cryptology—CRYPTO 2005: 25th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2005; Shoup, V., Ed.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2005; Volume 3621, pp. 205–222. [Google Scholar] [CrossRef] [Green Version]
- Byun, J.W.; Rhee, H.S.; Park, H.; Lee, D.H. Off-Line Keyword Guessing Attacks on Recent Keyword Search Schemes over Encrypted Data. In Proceedings of the Secure Data Management, Third VLDB Workshop, SDM 2006, Seoul, Republic of Korea, 10–11 September 2006; Jonker, W., Petkovic, M., Eds.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2006; Volume 4165, pp. 75–83. [Google Scholar] [CrossRef]
- Rhee, H.S.; Park, J.H.; Susilo, W.; Lee, D.H. Trapdoor security in a searchable public-key encryption scheme with a designated tester. J. Syst. Softw. 2010, 83, 763–771. [Google Scholar] [CrossRef]
- Tang, Q.; Chen, L. Public-Key Encryption with Registered Keyword Search. In Proceedings of the Public Key Infrastructures, Services and Applications—6th European Workshop, EuroPKI 2009, Pisa, Italy, 10–11 September 2009; Revised Selected, Papers. Martinelli, F., Preneel, B., Eds.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2009; Volume 6391, pp. 163–178. [Google Scholar] [CrossRef]
- Huang, Q.; Li, H. An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks. Inf. Sci. 2017, 403, 1–14. [Google Scholar] [CrossRef]
- Sun, L.; Xu, C.; Zhang, M.; Chen, K.; Li, H. Secure searchable public key encryption against insider keyword guessing attacks from indistinguishability obfuscation. Sci. China Inf. Sci. 2018, 61, 1–3. [Google Scholar] [CrossRef]
- Li, H.; Huang, Q.; Shen, J.; Yang, G.; Susilo, W. Designated-server identity-based authenticated encryption with keyword search for encrypted emails. Inf. Sci. 2019, 481, 330–343. [Google Scholar] [CrossRef]
- Qin, B.; Chen, Y.; Huang, Q.; Liu, X.; Zheng, D. Public-key authenticated encryption with keyword search revisited: Security model and constructions. Inf. Sci. 2020, 516, 515–528. [Google Scholar] [CrossRef]
- Chan, K.; Heng, S.; Yau, W.; Tan, S.C. Trapdoor Privacy in Public Key Encryption With Keyword Search: A Review. IEEE Access 2022, 10, 21584–21598. [Google Scholar] [CrossRef]
- Chen, H.; Cao, Z.; Dong, X.; Shen, J. SDKSE-KGA: A secure dynamic keyword searchable encryption scheme against keyword guessing attacks. In Proceedings of the Trust Management XIII: 13th IFIP WG 11.11 International Conference, IFIPTM 2019, Proceedings 13, Copenhagen, Denmark, 17–19 July 2019; Springer: Berlin/Heidelberg, Germany, 2019; pp. 162–177. [Google Scholar]
- Wang, J.; Zhang, R.; Li, J.; Xiao, Y. Owner-Enabled Secure Authorized Keyword Search Over Encrypted Data With Flexible Metadata. IEEE Trans. Inf. Forensics Secur. 2022, 17, 2746–2760. [Google Scholar] [CrossRef]
- Andola, N.; Prakash, S.; Yadav, V.K.; Venkatesan, S.; Verma, S. A Secure Searchable Encryption Scheme for Cloud Using Hash-Based Indexing. J. Comput. Syst. Sci. 2022, 126, 119–137. [Google Scholar] [CrossRef]
- Aljabri, J.; Michala, A.L.; Singer, J. ELSA: A Keyword-based Searchable Encryption for Cloud-edge assisted Industrial Internet of Things. In Proceedings of the 2022 22nd IEEE International Symposium on Cluster, Cloud and Internet Computing (CCGrid), Sicily, Italy, 16–19 May 2022; IEEE: New York, NY, USA, 2022; pp. 259–268. [Google Scholar] [CrossRef]
- Zhang, R.; Zou, H.; Zhang, C.; Xiao, Y.; Tao, Y. Distributed Key Generation for SM9-Based Systems. In Proceedings of the Information Security and Cryptology—16th International Conference, Inscrypt 2020, Guangzhou, China, 11–14 December 2020; Revised Selected, Papers. Wu, Y., Yung, M., Eds.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2020; Volume 12612, pp. 113–129. [Google Scholar] [CrossRef]
- Lai, J.; Huang, X.; He, D. An efficient identity-based broadcast encryption scheme based on SM9. Chin. J. Comput. 2021, 44, 897–907. [Google Scholar] [CrossRef]
- Sun, S.; Ma, H.; Zhang, R.; Xu, W. Server-aided immediate and robust user revocation mechanism for SM9. Cybersecurity 2020, 3, 12. [Google Scholar] [CrossRef]
- Qin, B.; Zhan, B.; Bai, X. Mediated SM9 Identity-Based Encryption Algorithm. Chin. J. Comput. 2022, 45, 412–426. [Google Scholar] [CrossRef]
- Ji, H.; Zhang, H.; Shao, L.; He, D.; Luo, M. An efficient attribute-based encryption scheme based on SM9 encryption algorithm for dispatching and control cloud. Connect. Sci. 2021, 33, 1094–1115. [Google Scholar] [CrossRef]
- Shi, Y.; Ma, Z.; Qin, R.; Wang, X.; Wei, W.; Fan, H. Implementation of an Attribute-Based Encryption Scheme Based on SM9. Appl. Sci. 2019, 9, 3074. [Google Scholar] [CrossRef] [Green Version]
- Pu, L.; Lin, C.; Wu, W.; He, D. A Public-key Encryption with Keyword Search Scheme from SM9. J. Cyber Secur. 2022. [Google Scholar] [CrossRef]
- Chen, L.; Cheng, Z. Security Proof of Sakai-Kasahara’s Identity-Based Encryption Scheme. In Proceedings of the Cryptography and Coding, 10th IMA International Conference, Cirencester, UK, 19–21 December 2005; Smart, N.P., Ed.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2005; Volume 3796, pp. 442–459. [Google Scholar] [CrossRef]
Notations | Description |
---|---|
a cyclic additive group of order prime number N | |
generator for the group | |
a cyclic additive group of order prime number N | |
generator for the group | |
a multiplicative group of order N | |
N | the order of group , , , is a prime number greater than |
bilinear pairing | |
a hash function | |
a hash function | |
a secure hash function | |
the public/private key pair of the registration server | |
the public/private key pair of the receiver | |
RS-derived keyword of w |
Operations | ||||||
---|---|---|---|---|---|---|
Execution time | 14.3 | 1.78 | 3.43 | 68.7 | 41.2 |
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. |
© 2023 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
Zhang, H.; Qin, B.; Zheng, D. Registered Keyword Searchable Encryption Based on SM9. Appl. Sci. 2023, 13, 3226. https://doi.org/10.3390/app13053226
Zhang H, Qin B, Zheng D. Registered Keyword Searchable Encryption Based on SM9. Applied Sciences. 2023; 13(5):3226. https://doi.org/10.3390/app13053226
Chicago/Turabian StyleZhang, Haoyu, Baodong Qin, and Dong Zheng. 2023. "Registered Keyword Searchable Encryption Based on SM9" Applied Sciences 13, no. 5: 3226. https://doi.org/10.3390/app13053226
APA StyleZhang, H., Qin, B., & Zheng, D. (2023). Registered Keyword Searchable Encryption Based on SM9. Applied Sciences, 13(5), 3226. https://doi.org/10.3390/app13053226