Next Article in Journal
Investigating the Poisson Ratio of 3D Printed Concrete
Next Article in Special Issue
A Systematic Literature Review and a Conceptual Framework Proposition for Advanced Persistent Threats (APT) Detection for Mobile Devices Using Artificial Intelligence Techniques
Previous Article in Journal
Prediction and Analysis of Formation and Development Characteristics of Frozen Soil Wall: A Case Study on the Chengjiao East Ventilation Shaft Repair
Previous Article in Special Issue
Machine Learning Techniques to Detect a DDoS Attack in SDN: A Systematic Review
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Registered Keyword Searchable Encryption Based on SM9

School of Cyberspace Security, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(5), 3226; https://doi.org/10.3390/app13053226
Submission received: 16 January 2023 / Revised: 28 February 2023 / Accepted: 28 February 2023 / Published: 2 March 2023
(This article belongs to the Special Issue New Trends in Network and Information Security)

Abstract

:
The SM9 algorithm is an Identity-Based Encryption (IBE) algorithm independently made by China. The existing SM9 searchable encryption scheme cannot be effective against insider keyword guessing attacks and violates users’ data privacy. This article utilizes the SM9 encryption method to propose a Registered Public Keyword Searchable Encryption based on SM9 (RKSE-SM9), which uses the SM9 user keys in the registration keyword algorithm. For RKSE-SM9 to generate the keyword ciphertext or trapdoor, a secure server must first register the keyword, which effectively and reasonably protects users’ data and resists honest and curious cloud servers. From there, we also utilize Beaver’s triple to construct an improved registered keyword generation algorithm, defining and proving that the improved algorithm satisfies the concept of indistinguishability against registration keywords, achieving a higher level of privacy. In addition, compared with existing SM9 searchable encryption, our scheme proved to guarantee better security while reducing the computational efficiency by only 1%; compared with the existing registered keyword searchable encryption scheme, the overall operational efficiency increases by 63%.

1. Introduction

Local data services can no longer satisfy consumers’ and businesses’ practical demands in today’s culture of data explosion and global information connectivity, and the fast flow and dispersed storage of global data have increased the need for information sharing. Therefore, more and more users choose to place data on cloud services. Cryptography ensures that only authenticated users can encrypt and store information [1]. Before uploading an important file to the cloud, the file must be encrypted to ensure that the file will not be leaked. However, users should download all the encrypted files locally before decrypting them all to look for related data when they need to. This process consumes a lot of computation resources and communication overhead. It is unsuited for existing application scenarios. The searchable encryption technology provides the cloud server with secure retrieval of data in the ciphertext state, ensuring that only reliable users can obtain the related data, then the user can decrypt it locally to obtain the corresponding plaintext. Modern cryptography is divided into symmetric cryptography and public key cryptography [2]. Therefore, searchable encryption is also split into two forms. The most notable aspect of the public key cryptosystem, as opposed to the symmetric cryptosystem’s key management issue, is that it does not share secret keys between users. As a result, Public Key Searchable Encryption (PKSE) has a lot of users, is compatible with current application scenarios in large environments, and is more general than the symmetric searchable encryption scenario [3]. The proposed method recently includes many different cryptographic algorithms because of the launch of PEKS. It incorporates more new technologies so that the new scheme can satisfy more robust security, be compatible with more application scenarios, and meet more functions. In addition to file encryption, image encoding is also a typical encryption method [4,5].
In 2016, China State Cryptography Administration released a cryptographic standard for identity-based cryptography (IBC), which includes three primitives: identity-based signature, identity-based encryption, and identity-based encapsulation. The SM9 algorithm [6] is also an ISO standard since 2021. In the commercial cryptography system, besides SM2 elliptic curve cryptosystem, the SM9 IBC algorithm has become China’s other commercial standard for public key cryptography. The research on the SM9 algorithm is conducive to promoting the retail cryptography industry’s development, improving its technology’s innovation, and ensuring network and information security. This research combined the SM9 algorithm with searchable encryption technology to create an effective and safe public key searchable encryption algorithm, therefore extending the application of the SM9 algorithm. These are the contributions we produced:
  • 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

The concept of Symmetric Searchable Encryption (SSE) was proposed by Song et al. [9] in 2000. This is the first scheme to search for encrypted data, but it uses symmetric encryption. In 2004, Boneh et al. [10] took the mail system as the background, proposed the concept of PEKS, and gave the first PEKS scheme. The security of this scheme was reduced to the difficult problem of the Bilinear Diffie–Hellman (BDH). In 2005, Abdalla et al. [11] demonstrated the PEKS game’s consistency issue and provided a general approach for converting an anonymous IBE scheme to a PEKS scheme. In 2006, Byun et al. [12] said that in our daily life, we usually use high-frequency keywords to search, which shows that there is little room for keywords, which may lead to keyword guessing attacks (KGA). In order to combat KGA, Rhee et al. [13] added two pairs of keys to their scheme and defined a new type of PEKS named Designated Public-key Encryption with Keyword Search (dPEKS). It suggested the idea of trapdoor indistinguishability, a notion that can defy offline KGA. In 2010, Tang and Chen [14] proposed a new model, namely Public Key Encryption with Registered Keyword Search (PERKS). PERKS requires the receiver to run the registered keyword algorithm to generate pre-labels. When testing the algorithm, it needs to input the generated pre-label, keyword ciphertext, and keyword trapdoor. In 2016, Chen et al. [8] added an aided server against offline keyword guessing attacks. It applied deterministic blind signatures, e.g., FDH-RSA, to generate a signature as the registered keyword. In 2017, another form of PEKS was given by Huang et al. [15]. With this approach, the sender’s private key should be included for generating the ciphertext. The sender’s authenticity may be verified by the receiver. As a result, the server is resistant to insider KGA and cannot encrypt keywords. In 2018, Sun et al. [16] combined PEKS with SSE, they adopted a signcryption algorithm when generating the searchable ciphertext, and the scheme is secured against insider KGA. In 2019, Li et al. [17] added identity authentication on the basis of dPEKS and proved it can resist insider offline KGA. In 2020, Qin et al. [18] showed that the security of Huang and Li’s [15] scheme was not ideal, and they proposed an improved PAEKS scheme that satisfies keyword privacy and trapdoors to resist chosen multi-ciphertext attacks and insider offline KGA [19]. In recent years, there have been more and more scenarios for searchable encryption, such as [20,21,22,23].
The SM9 algorithm is the only IBE standard in China, and it has also become a research hotspot in recent years. In 2020, Zhang et al. [24] proposed a fully distributed SM9 ( t , n ) threshold private key generation mechanism to completely eliminate the single-point failure problem. In 2021, Lai et al. [25] proposed an identity-based broadcast encryption based on SM9. To alleviate SM9 key exposure issues, Sun et al. [26] and Qin et al. [27] introduced a dependable third party to take after a part of the user’s private key so that it could conduct key updates and revocations. Most recently, with the popularization of applications such as big data and cloud computing, several new cryptographic algorithms have been derived based on the national secret SM9, such as [28,29]. In 2022, Pu et al. [30] built a public-key searchable encryption method on the SM9 identity-based encryption algorithm for the first time, but it cannot resist the problem of KGA. SM9 public key searchable encryption continues to be researched, and at this point, no method that can resist KGA has been discovered. As a result, this work, for the first time, suggests a searchable encryption system with registered keywords based on SM9. Higher safety and appropriate efficiency can be achieved.

2. Preliminaries

2.1. Bilinear Maps

Definition 1 
(Bilinear Maps). G 1 and G 2 exist as two additive cyclic groups of prime order N, the generator of whom are P 1 and P 2 , respectively. Have G T be a multiplicative cyclic group; there exists a homomorphic map ϕ from G 2 to G 1 , such that ϕ ( G 2 ) = G 1 . Have an admissible bilinear map e ^ : G 1 × G 2 G T , and satisfy the following conditions:
  • Bilinearity: for all P G 1 , Q G 2 , and all a , b Z N * , e ^ ( a P 1 , b P 2 ) = e ^ ( P 1 , P 2 ) a b .
  • Non-degeneracy: e ^ ( P 1 , P 2 ) 1 G T .
  • Computability: for all P G 1 and Q G 2 , e ^ ( P , Q ) can be computed efficiently.

2.2. Bilinear Collision Attack Assumption

Definition 2 
(q-BCAA [31]). For a positive integer q and random α Z N * , given
P 1 , P 2 , h 0 , h 1 , α α + h 1 P 2 , , h q , α α + h q P 2
where h i Z N * ( 0 i q ) are randomly selected and different from each other, the Bilinear Collision Attack Assumption (q-BCAA) problem is to compute e ^ ( P 1 , P 2 ) α α + h 0 .
The advantage of algorithm A in solving the above problems is as follows:
Adv A q -BCCA ( λ ) : = Pr A P 1 , P 2 , h 0 , h 1 , α α + h 1 P 2 , , h q , α α + h q P 2 = e ^ ( P 1 , P 2 ) α α + h 0 .
If, for any polynomial–time algorithm A , the advantage of solving the q-BCAA problem is negligible in λ, then we say that the q-BCAA problem is hard.

2.3. Beaver Triple

Definition 3 
(Beaver Triple). The Beaver triple, also known as a multiplication triple, is mainly used for multiplication calculations in secure multi-party computing protocols. Its specific algorithm is shown in Algorithm 1. In the table, for any integer x, x 1 , and x 2 , denote the two random shares of x, such that x = x 1 + x 2 . The operation maybe operates over some ring Z N . c 1 and c 2 are the random shares of the multiplication a · b . Let P 0 and P 1 denote two parties.
Algorithm 1: Beaver Triple
Input: Shares u i , v i , a i , b i , and c i .
Output: Shares [ u · v ] i .
 1. P i computes e i = u i a i and f i = v i b i .
 2. P 0 and P 1 jointly construct e and f.
 3. P i computes [ u · v ] i = i · e · f + e · b i + a i · f + c i .

3. The Proposed RKSE-SM9 Scheme

3.1. System Model

In this section, we introduce the system model and formal definition of RKSE-SM9.
Figure 1 displays the RKSE-SM9 scheme’s system model, which includes the following four entities:
Registration Server (RS): Input a keyword w; it generates a registered keyword r s d w .
Sender: Input a registered keyword; it generates a keyword ciphertext C r s d w and uploads it into a cloud server.
Receiver: Input a registered keyword; it locally generates a keyword trapdoor T r s d w for searching.
Cloud Server (CS): Stores ciphertexts and trapdoors, runs test algorithms to search keyword ciphertexts, and returns the results to the user.
The RKSE-SM9 scheme consists of the following seven algorithms: SysSetup , KeyGen R S , KeyGen R , RSD , PEKS , Trapdoor , and Test .
  • SysSetup ( λ ) G : Input λ , which is a security parameter in the system, and output a public parameter G .
  • KeyGen R S ( G ) ( p k R S , s k R S ) : Input G , then output the registration sever’s key pair ( p k R S , s k R S ) .
  • KeyGen R ( G ) ( p k R , s k R ) : Input G , then output the receiver’s key pair ( p k R , s k R ) .
  • RSD ( G , s k R S , w ) r s d w : Input G , s k R S , and w, outputs the RS-derived keyword r s d w .
  • PEKS ( G , p k R , r s d w ) C r s d w : Input G , p k R , and r s d w , the sender outputs the PEKS ciphertext C r s d w of w.
  • Trapdoor ( G , s k R , r s d w ) T r s d w : Input G , s k R , and r s d w , the receiver outputs the search Trapdoor T r s d w of w .
  • Test ( G , C r s d w , T r s d w ) 1 / 0 : Input G , C r s d w , and T r s d w , the CS outputs 1 if w = w , otherwise outputs 0.

3.2. Construction of RKSE-SM9

As shown in Table 1, the elliptic curve and curve parameters used in this scheme are consistent with those used in the SM9 standard. The concrete construction of RKSE-SM9 is as follows:
  • SysSetup ( λ ) G : Input the security parameter λ , it returns a public parameter G =(N, G 1 , G 2 , G T , e ^ , P 1 , P 2 , H 1 , H 2 , H 3 ); among them, G 1 and G 2 are two cyclic additive groups of order prime N, G T is a multiplicative cyclic group of order prime N, and P 1 and P 2 are the generators of the groups G 1 and G 2 , respectively. There exists a homomorphic map ϕ from G 2 to G 1 , such that ϕ . e ^ : G 1 × G 2 G T is a bilinear map, and H 1 : { 0 , 1 } * Z N * , H 2 : G 2 Z N * , and H 3 : G T { 0 , 1 } n are three hash functions.
  • KeyGen R S ( G ) ( p k R S , s k R S ) : Input G , the registration server picks a random s 0 Z N * and outputs the RS’s key pair as ( p k R S , s k R S ) = ( s 0 P 1 , s 0 ) .
  • KeyGen R ( G ) ( p k R , s k R ) : Input G , the receiver picks a random s 1 Z N * , computes g = e ^ ( s 1 P 1 , P 2 ) , and outputs the receiver’s key pair ( p k R , s k R ) = ( s 1 P 1 , s 1 ) . It publishes p k R and g, and keeps s k R secretly.
  • RSD ( G , s k R S , w ) r s d w : Input G , s k R S , and w, it outputs the RS-derived keyword r s d w of w. The RSD algorithm is shown in Figure 2.
  • PEKS ( G , p k R , r s d w ) C r s d w : Input G , p k R , and r s d w , the sender picks a random r Z N * , computes C 1 = r H 2 ( r s d w ) P 1 + p k R and C 2 = H 3 ( g r ) , and finally outputs the PEKS ciphertext C r s d w = ( C 1 , C 2 ) .
  • Trapdoor ( G , s k R , r s d w ) T r s d w : Input G , s k R , and r s d w , the receiver computes T r s d w = s k R s k R + H 2 ( r s d w ) P 2 and outputs the search trapdoor T r s d w .
  • Test ( G , C r s d w , T r s d w ) 1 / 0 : Input G , C r s d w , and T r s d w , the CS checks H 3 ( e ^ ( C 1 , T r s d w ) ) = C 2 . If yes, it outputs 1, indicating that w = w . Otherwise, it outputs 0.
Improved registered keyword generation algorithm. In the above scheme, since the user directly sends H 1 ( w ) to the registration server when registering w, only part of the information of the keyword can be covered up, and a higher level of privacy protection for the registered keyword cannot be realized, that is, the indistinguishability of the registered keyword (see the security model 3 in Section 3.3). We further create the dual registration server to address this issue, and Beaver triple is used to safely coordinate keyword generation between the two servers. The key generation method and the keyword registration algorithm of the registration server are different in the dual registration server mode, but all other algorithms are the same as those in the preceding scheme.
  • KeyGen R S i ( G ) ( p k R S i , s k R S i ) ( i = 0 , 1 ) : Dual server keyword registration algorithm. Input G , the registration servers pick random s 0 , 0 , s 0 , 1 Z N * , and compute the public/private key pair of server as ( p k R S 0 , s k R S 0 ) = ( s 0 , 0 P 1 , s 0 , 0 ) and ( p k R S 1 , s k R S 1 ) = ( s 0 , 1 P 1 , s 0 , 1 ) , respectively. The servers publish p k R S 0 and p k R S 1 , and keep s k R S 0 and s k R S 1 secretly. Let s 0 = s 0 , 0 + s 0 , 1 mod N . The two servers jointly compute p k R S = s 0 P 1 = p k R S 0 + p k R S 1 . Unless otherwise specified, the following operations are performed over ring Z N .
  • IRSD ( G , s k R S , w ) r s d w : Input G , s k R S i of the R S i , and w, the two servers jointly compute the RS-derived keyword r s d w for a user, so that no server knows the value the keyword w. it outputs the RS-derived keyword r s d w of w. The improved RSD algorithm IRSD is described as follows:
    • User selects a keyword w to be registered and hashes it to obtain H 1 ( w ) .
    • The user sends the secret sharing H 1 ( w ) = H 1 ( w ) 0 + H 1 ( w ) 1 to R S 0 and R S 1 , respectively. That is, R S 0 obtains H 1 ( w ) 0 and R S 1 obtains H 1 ( w ) ;
    • The user generates two random numbers a , b Z N * , computes c = a · b mod N , and sends the secret sharing a = a 0 + a 1 , b = b 0 + b 1 , and c = c 0 + c 1 to R S 0 and R S 1 , respectively. That is, R S 0 obtains shares a 0 , b 0 , c 0 , and R S 1 obtains shares a 1 , b 1 , c 1 ;
    • The user generates a random number v Z N * , and sends the secret sharing v = v 0 + v 1 to R S 0 and R S 1 , respectively. That is, R S 0 obtains share v 0 , and R S 1 obtains share v 1 ;
    • R S i ( i = 0 , 1 ) computes u i = s 0 , i + H ( w ) i , e i = u i a i and f i = v i b i , respectively. Then, R S i broadcasts e i and f i , leading to reconstruction of e and f;
    • R S i ( i = 0 , 1 ), respectively, computes [ u · v ] i = i · e · f + e · b i + a i · f + c i . That is, R S 0 computes [ u · v ] 0 = e · b 0 + a 0 · f + c 0 and R S 1 computes [ u · v ] 1 = e · f + e · b 1 + a 1 · f + c 1 ;
    • R S 0 and R S 1 broadcast [ u · v ] i , leading to the reconstruction of u · v ;
    • R S 0 and R S 1 compute θ i = v i u · v , respectively, then sends θ 0 P 2 and θ 1 P 2 to the user;
    • The user computes r s d w = P 2 H 1 ( w ) · ( θ 0 P 2 + θ 1 P 2 ) = s 0 s 0 + H 1 ( w ) P 2 .

3.3. Security Model

In this section, we define the security models for the RKSE-SM9 scheme in terms of the Cloud Server and the Registration Server, respectively.
Adversarial Cloud Server (CS). An internal adversary is thought to be the adversarial cloud server. Here, we describe the semantic security of this system under the assumption of internal adversaries, including Ciphertext Indistinguishability against Adaptive Chosen Keyword Attack (IND-CT-CKA) and Trapdoor Indistinguishability against Adaptive Chosen Keyword Attack (IND-TD-CKA).
Definition 4 
(IND-CT-CKA Security Model). The IND-CT-CKA security model is defined as follows:
Setup. 
The challenger generates public parameter G , key pairs ( p k R S , s k R S ) and ( p k R , s k R ) , and sends ( G , p k R S , p k R ) to the adversary.
Query 1. 
The adversary can adaptively query the challenger with the following queries:
  • Hash query H i ( · ) : For the value x queried by the adversary, the corresponding hash value H i ( x ) is returned.
  • Keyword registration query RSD ( · ) : The adversary sends the challenger a keyword w, and the challenger returns r s d w RSD ( G , s k R S , w ) 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 Trapdoor ( r s d w ) : The adversary sends a keyword w to the challenger, and the challenger sends the search trapdoor T r s d w Trapdoor ( G , s k R , r s d w ) to the adversary.
Challenge. 
When the Query 1 is over, the adversary selects two never-queried keywords w 0 , w 1 , and sends them to the challenger. The challenger randomly selects b { 0 , 1 } and runs the keyword registration algorithm to generate r s d w RSD ( G , s k R S , w b ) . Finally, it sends the challenge ciphertext C r s d w b PEKS ( G , p k R , r s d w b ) to the adversary.
Query 2. 
The adversary can continue the query the same as in Query 1 except for the two challenge keywords w 0 and w 1 .
Guess. 
The adversary outputs its guess b { 0 , 1 } and wins the game if b = b ; otherwise, the adversary fails.
We refer to such an adversary A in the above game as an IND-CT-CKA adversary and define its advantage as Adv C S , A IND -CT -CKA ( λ ) : = Pr [ b = b ] 1 2 . If for any polynomial–time adversary A , its advantage Adv C S , A IND -CT -CKA ( λ ) is negligible, we say that the scheme satisfies ciphertext indistinguishability.
Definition 5 
(IND-TD-CKA Security Model). The IND-CT-CKA security model is defined as follows:
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, w 0 and w 1 , and sends them to the challenger. The challenger randomly selects b { 0 , 1 } and runs the keyword registration algorithm to generate r s d w RSD ( G , s k R S , w b ) . Finally, it sends the challenge search trapdoor T r s d w b Trapdoor ( G , s k R , r s d w b ) to the adversary.
Query 2. 
Same as in Definition 4.
Guess. 
The adversary outputs its guess b { 0 , 1 } and wins the game if b = b ; otherwise, the adversary fails.
The adversary A ’s advantage in the above game is defined as Adv C S , A IND -TD -CKA ( λ ) : = Pr [ b = b ] 1 2 . If for any polynomial–time adversary A , its advantage Adv C S , A IND -TD -CKA ( λ ) is negligible, we say that the scheme satisfies trapdoor indistinguishability.
Honest but Curious Registration Server (RS). It is assured that neither the registration server nor outside attackers will learn anything about the registered keywords from the new keyword registration methodology. The following definition is for Registered Keywords Indistinguishability against Selected Keyword Attack (IND-RK-CKA). The opponent may work with one of the two keyword registration servers in the next game. We make the assumption that the adversary works with server 0 without losing generality.
Definition 6 
(IND-RK-CKA Security Model). The IND-RK-CKA game is defined as follows:
Setup. 
The challenger generates public parameter G , key pairs ( p k R S i , s k R S i ) and ( p k R , s k R ) , and sends ( G , p k R S 0 , s k R S 0 , p k R S 1 , p k R , and s k R ) to the adversary.
Challenge. 
The adversary selects two challenge keywords, w 0 and w 1 , and sends them to the challenger. The challenger randomly selects b { 0 , 1 } and interacts with two registration servers to obtain r s d w b IRSD ( G , s k R S 0 , s k R S 1 , w b ) .
Guess. 
The adversary outputs its guess b { 0 , 1 } and wins the game if b = b , and otherwise fails.
We refer to such an adversary A in the above game as an IND-RK-CKA adversary and define its advantage as Adv R S , A IND -RK -CKA ( λ ) : = Pr [ b = b ] 1 2 . If for any polynomial–time adversary A , its advantage Adv C S , A IND -TD -CKA ( λ ) is negligible, we say that the scheme satisfies registered keyword indistinguishability.

4. Security Analysis

4.1. Correctness

The RKSE-SM9 scheme’s consistency is demonstrated here, and it may be inferred from the qualities of bilinear pairings.
Recall that
H 3 e ^ C 1 , T r s d w = H 3 e ^ r H 2 ( r s d w ) P 1 + p k R , s k R s k R + H 2 ( r s d w ) P 2 = H 3 e ^ r H 2 ( r s d w ) P 1 + s 1 P 1 , s 1 s 1 + H 2 ( r s d w ) P 2 = H 3 e ^ r H 2 ( r s d w ) + s 1 P 1 , s 1 s 1 + H 2 ( r s d w ) P 2 = H 3 e ^ P 1 , P 2 r H 2 ( r s d w ) + s 1 s 1 s 1 + H 2 ( r s d w )
C 2 = H 3 g r = H 3 e ^ p k R , P 2 r = H 3 e ^ s 1 P 1 , P 2 r = H 3 e ^ P 1 , P 2 r s 1 .
If w = w , then r s d w = r s d w , and therefore
H 3 e ^ C 1 , T r s d w = H 3 e ^ P 1 , P 2 r H 2 ( r s d w ) + s 1 s 1 s 1 + H 2 ( r s d w ) = H 3 e ^ P 1 , P 2 r s 1 = C 2 .
If w w , since H 2 is collision-resistant, the probability of H 2 ( r s d w ) = H 2 ( r s d w ) is negligible, and therefore the probability of H 3 e ^ C 1 , T r s d w = C 2 is negligible.
Next, we show that the improved keyword registration algorithm can correctly compute a registered keyword.
  • R S 0 computes u 0 = s 0 , 0 + H ( w ) 0 , e 0 = u 0 a 0 and f 0 = v 0 b 0 , R S 1 computes u 1 = s 0 , 1 + H ( w ) 1 , e 1 = u 1 a 1 and f 1 = v 1 b 1 .
  • R S 0 computes [ u · v ] 0 = e · b 0 + a 0 · f + c 0 , R S 1 computes [ u · v ] 1 = 1 · e · f + e · b 1 + a 1 · f + c 1 .
  • R S 0 and R S 1 jointly computes
    u · v s . = [ u · v ] 0 + [ u · v ] 1 = e · b 0 + a 0 · f + c 0 + 1 · e · f + e · b 1 + a 1 · f + c 1 = e · b 0 + b 1 + f · a 0 + a 1 + e · f + c = e · b + f · a + e · f + a · b = e + a · b + f = u · v .
  • R S 0 computes θ 0 P 2 = v 0 u · v P 2 and R S 1 computes θ 1 P 2 = v 1 u · v P 2 .
  • User computes
    r s d w = P 2 H 1 ( w ) · ( θ 0 P 2 + θ 1 P 2 ) = P 2 H 1 ( w ) · v 0 u · v + v 1 u · v P 2 = P 2 H 1 ( w ) · 1 u P 2 = P 2 H 1 ( w ) s 0 + H 1 ( w ) P 2 = s 0 s 0 + H 1 ( w ) P 2 .
As the registered keyword r s d w above is consistent with the value generated by the original keyword registration algorithm, it is confirmed that the scheme is correct.

4.2. Security Proof

Theorem 1. 
If the q-BCAA problem is hard, then the RKSE-SM9 scheme achieves IND-CT-CKA security in the random oracle model.
Our RKSE-SM9 scheme can be reduced to the q H 1 -BCAA problem. Figure 3 depicts the process of security reduction. The simulator has two functionalities. When it communicates with the RKSE-SM9 adversary, it serves as the challenger of the RKSE-SM9 scheme. When it communicates with the q H 1 -BCAA challenger, it turns into the adversary of the q H 1 -BCAA scheme.
Proof. 
Suppose that A is any probabilistic polynomial–time (PPT) adversary that can successfully attack the IND-CT-CKA security with advantage ϵ . If A queries the hash random oracles H 1 , H 2 , and H 3 with times at most q H 1 + 2 , q H 2 , and q H 3 , then there is a PPT algorithm B that solves the q H 1 -BCAA problem with a probability of at least 2 ϵ q H 1 + 2 2 q H 3 .
Given an instance P 1 , P 2 , α P 1 , h 0 , h 1 , α α + h 1 P 2 , , α α + h q H 1 P 2 of the q H 1 -BCAA problem, where P 1 and P 2 are the generators of two prime order cyclic groups G 1 and G 2 , respectively, and there exists a bilinear map e ^ : G 1 × G 2 G T , then algorithm B simulates the process of IND-CT-CKA game as follows:
Setup. 
According to the q H 1 -BCAA problem, the simulator B first selects three hash functions H 1 : { 0 , 1 } * Z N * , H 2 : G 2 Z N * , and H 3 : G T { 0 , 1 } n , and generates public parameter G = (N, G 1 , G 2 , G T , e ^ , P 1 , P 2 , H 1 , H 2 , H 3 ). Next, B randomly selects s 0 Z N * , and let ( p k R S , s k R S ) = ( s 0 P 1 , s 0 ) be the public/private key pair of the RS. B implicitly chooses the receiver’s private key as s k R = α , and then sets the receiver’s public key as p k R = α P 1 . Finally, B calculates g = e ^ ( p k R , P 2 ) , and sends G , p k R S , and p k R to adversary A .
Query 1. 
In addition to keyword registration query and keyword trapdoor query, A can perform queries of three hash functions. Before answering these queries, B randomly selects two values i 0 * and i 1 * from { 1 , , q H 1 + 2 } as the guess results for the challenge keywords w 0 * and w 1 * , respectively, and randomly selects b { 0 , 1 } as a bit in the challenge ciphertext. A can adaptability query B as follows:
  • Hash queries: B first creates two hash lists of the form L = { < w i , h 1 , i , r s d i , h 2 , i > } and L = { < T i , h 2 , i > } that are initialized to be empty.
    • When A queries the H 1 value of the keyword w i , B first checks whether there is an element by w i in the list L. It returns the relevant hash value h 1 , i if it is present; if it does not, B randomly selects h 1 , i Z N * and returns it to A . At the same time, because B knows the secret key s 0 of the registration server, it can calculate r s d i = s 0 s 0 + h 1 , i P 2 . If i { i 0 * , i 1 * } , then B chooses an unused value h j from h 1 , h q H 1 as the H 2 value h 2 , i = H 2 ( r s d i ) = h j of r s d i ; if i = ( 1 b ) · i 0 * + b · i 1 * , then let the H 2 value of r s d i be h 2 , i = h 0 ; otherwise, B randomly selects a value h 2 , i Z N * as the H 2 value of r s d i . Finally, B stores < w i , h 1 , i , r s d i , h 2 , i > into the list L.
    • When A queries the H 2 value of r s d i , B first checks whether there is an element by r s d i in the list L. It returns the relevant hash value h 2 , i if it exists; if it does not, B randomly selects h 2 , i Z N * and returns it to A . Finally, B stores < , , r s d i , h 2 , i > into the list L, the symbol “⋆” means that the value is unknown.
    • When A queries the H 3 value of the ciphertext element T i , B first checks whether there is an element by T i in the list L . It returns the relevant hash value h 3 , i ; if it does not, B randomly selects h 3 , i { 0 , 1 } n and returns it to A . Finally, B stores < T i , h 3 , i > into the list L .
  • Keyword registration query: when A selects and sends a keyword w i to B , B first checks whether there is an element w i in the list L. B returns the relevant registration keyword r s d i if it exists; otherwise, B creates the element < w i , h 1 , i , r s d i , h 2 , i > according to H 1 hash query and adds it to the list L. Finally, B returns the registration key r s d i to A .
  • Trapdoor query: when A queries the trapdoor of keyword w i , if i { i 0 * , i 1 * } , then B stops the game; otherwise, B queries the element containing w i in the list L, and returns the relevant hash value h 2 , i . Because of the hash value h 2 , i { h 1 , , h q H 1 } of the registration key r s d i of w i , B returns the corresponding element α α + h 2 , i P 2 as a trapdoor from the instance of the q H 1 -BCAA problem to A .
Challenge. 
When A selects and sends two never-queried keywords w 0 * and w 1 * to B , B randomly selects r Z N * , computes C 1 * = r P 1 and randomly selects C 2 * { 0 , 1 } n . Finally, B sets the challenge ciphertext C * = ( C 1 * , C 2 * ) of keyword w b and sends it to A .
Query 2. 
A can continue the query for the keyword registration and trapdoor for any keyword with the exception of the challenge keywords w 0 * and w 1 * .
When A outputs its guess b { 0 , 1 } , B randomly selects an element T i from the list L = { < T i , h 3 , i > } , and returns T i as a solution to the q H 1 -BCAA problem.
Analysis. In the challenge ciphertext, since
C 1 * = r P 1 = r h 0 + α ( h 0 + α ) P 1 = r h 0 + α ( H 2 ( r s d b ) P 1 + p k R )
where r s d b is the registration result of the challenge keyword w b * , when encrypting the keyword w b * , B implicitly chooses a random number r * = r h 0 + α mod N . This is consistent with the real game.
In the above game, if B correctly guesses the challenge keyword, A queries for the position of the H 1 value and never queries the H 3 value of element T * = g r * in the real game, then the simulated game above and the real game are completely equivalent. Since B guesses the challenge key evenly from the q H 1 + 2 H 1 hash queries of A and is independent of the information of the adversary, the probability of B correctly guessing the challenge key in A ’s query hash function is at least 1 q H 1 + 2 2 . Let E denote the event “In the real game, A never asked for the H 3 value of element T * = g r * . The following proves that the probability that A has queried the H 3 hash value of element T * = g r * is at least ϵ .
When E occurs, the challenge ciphertext is independent of the random b selected by the challenger, i.e., the encrypted challenge keyword, so Pr [ b = b | E ] = 1 / 2 . Therefore,
Pr [ b = b ] = Pr [ b = b | E ] Pr [ E ] + Pr [ b = b | ¬ E ] Pr [ ¬ E ] Pr [ b = b | E ] Pr [ E ] + Pr [ ¬ E ] = 1 2 Pr [ E ] + Pr [ ¬ E ] = 1 2 + 1 2 Pr [ ¬ E ]
Pr [ b = b ] = Pr [ b = b | E ] Pr [ E ] + Pr [ b = b | ¬ E ] Pr [ ¬ E ] Pr [ b = b | E ] Pr [ E ] = 1 2 Pr [ E ] = 1 2 1 2 Pr [ ¬ E ]
According to the above inequality, Pr [ ¬ E ] 2 | Pr [ b = b ] 1 2 | 2 ϵ can be deduced. Since A queries the hash function H 3 no more than q H 3 times, and T * = g r * = e ^ ( P 1 , P 2 ) α r α + h 0 , the solution T i 1 r returned by B to the q H 1 -BCAA problem is correct, at least with a probability of 2 ϵ q H 3 . In summary, the probability that B gets a correct solution to the q H 1 -BCAA problem is at least 2 ϵ q H 1 + 2 2 q H 3 .
This completes the proof of Theorem 1. □
Theorem 2. 
If the q-BCAA problem is hard, then the RKSE-SM9 scheme achieves the IND-TD-CKA security in the random oracle model.
Proof. 
In the IND-TD-CKA game, suppose that A can successfully attack the RKSE-SM9 scheme with advantage ϵ in probabilistic polynomial time. If A queries the hash random oracles H 1 , H 2 , and H 3 with times at most q H 1 + 2 , q H 2 , and q H 3 , then there is a PPT algorithm B solves the q H 1 -BCAA problem with a probability at least 2 ϵ q H 1 + 2 2 q H 3 .
Given an instance P 1 , P 2 , α P 1 , h 0 , h 1 , α α + h 1 P 2 , , α α + h q H 1 P 2 of the q H 1 -BCAA problem, where G 1 and G 2 are two prime order cyclic groups with generators P 1 and P 2 , respectively, and e ^ : G 1 × G 2 G T is a bilinear map, then algorithm B simulates the process of IND-TD-CKA game as follows:
Setup. 
Same as in Theorem 1, B generates system parameters G according to the instance of q H 1 -BCAA problem, public/private key pairs ( p k R S , s k R S ) , and ( p k R , s k R ) . Specifically, B implicitly sets s k R S = α , and hence the corresponding public key is p k R S = α P 1 . B sends G , p k R S , and p k R to the adversary A .
Query 1. 
Similar to Theorem 1, A can query adaptively as follows:
  • Hash queries: B creates three hash lists of the form L = { < w i , h 1 , i > } , L 2 = { < r s d i , h 2 , i > } , and L 3 = { < T i , h 2 , i > } that are initialized to be empty.
    • When A queries the H 1 value of the keyword w i , B first checks whether there is an element by w i in the list L 1 . It returns the relevant hash value h 1 , i if it exists; if it does not and i { i 0 * , i 1 * } , then B selects an unused value h j from h 1 , h q H 1 as the H 1 value h 1 , i = H 1 ( w i ) = h j of w i ; if it does not exist and i = ( 1 b ) · i 0 * + b · i 1 * , then let H 1 value of w i is h 1 , i = h 0 ; Otherwise, B randomly selects a value h 1 , i Z N * as the H 1 value of w i . Finally, B stores < w i , h 1 , i > into the list L.
    • When A queries the H 2 value of the registered keyword r s d i , B first checks whether there is an element containing r s d i in the list L 2 . It returns the relevant hash value h 2 , i if it exists; if it does not, B randomly selects h 2 , i Z N * and returns it to A . Finally, B stores < r s d i , h 2 , i > into the list L.
    • When A queries H 3 value of the ciphertext element T i , B first checks whether there is an element by T i in the list L 3 . It returns the relevant hash value h 3 , i if it exists; if it does not, B randomly selects h 3 , i { 0 , 1 } n and returns it to A . Finally, B stores < T i , h 3 , i > into the list L 3 .
  • Keyword registration query: B initializes a list of registered keywords in the form of R = { < w i , r s d i > } . When A makes a registration query for the keyword w i , if i { i 0 * , i 1 * } , then B terminates the game. Otherwise, B queries list R for elements containing w i and returns the corresponding registered key r s d i . If it does not exist, B queries the element containing w i in the list L 1 , and takes out the corresponding H 1 value h 1 , i . Since h 1 , i { h 1 , , h q H 1 } , B returns α α + h 1 , j P 2 as the registration key r s d i of w i to A , and stores < w i , r s d i > into the list R.
  • Trapdoor query: When A queries the trapdoor of keyword w i , if i { i 0 * , i 1 * } , then B stops the game; Otherwise, B queries the element containing w i in the list R, and takes out the corresponding registered keyword r s d i . Since B has the receiver’s private key s k R , B can use the private key to compute the corresponding trapdoor T r s d i and return it to A .
Challenge. 
When A selects and sends two never-queried keywords w 0 * and w 1 * to B , B randomly selects an element T * G 2 as a challenger trapdoor for the keyword w b * and sends it to A .
Query 2. 
Same as in Theorem 1.
When A outputs its guess b { 0 , 1 } , B randomly selects an element < r s d i , h 2 , i > from the list L 2 , and returns r s d i as a solution to the q H 1 -BCAA problem.
Analysis. In the simulated game above, if B correctly guesses the challenge keyword where A queries the hash function H 1 , then B will not terminate the game. Since B randomly guesses the position of the challenge keyword independently of A , the probability of guessing correctly is at least 1 q H 1 + 2 2 . The following proves that the probability of A querying the hash value H 2 α α + H 1 w b * in a real game is at least ϵ .
Let E denote the event “ A did not query H 2 α α + H 1 w 0 * or H 2 α α + H 1 w 1 * in the real game”. When event E occurs, the bit b { 0 , 1 } chosen by the challenger is independent of A , i.e., the probability of b = b is 1 / 2 . Because
Pr [ b = b ] = Pr [ b = b | E ] Pr [ E ] + Pr [ b = b | ¬ E ] Pr [ ¬ E ] Pr [ b = b | E ] Pr [ E ] + Pr [ ¬ E ] = 1 2 Pr [ E ] + Pr [ ¬ E ] = 1 2 + 1 2 Pr [ ¬ E ]
Pr [ b = b ] = Pr [ b = b | E ] Pr [ E ] + Pr [ b = b | ¬ E ] Pr [ ¬ E ] Pr [ b = b | E ] Pr [ E ] = 1 2 Pr [ E ] = 1 2 1 2 Pr [ ¬ E ]
so, Pr [ ¬ E ] 2 | Pr [ b = b ] 1 2 | 2 ϵ . Therefore, the probability that A queries H 2 α α + H 1 w b * is at least ϵ .
When B correctly guesses the challenge keyword, the game environment simulated by B is the same as the real game environment. Since the probability of A querying H 2 α α + H 1 w b * is at least ϵ , B obtains the group element α α + H 1 w b * with a probability of at least ϵ q H 2 . Thus, B can compute the correct solution e ^ P 1 , α α + H 1 w b * of the q H 1 -BCAA problem. Furthermore, because the probability that B does not terminate the game is at least 1 q H 1 + 2 2 , it follows that the probability that succeeds is at least ϵ q H 1 + 2 2 q H 2 .
This completes the proof of Theorem 2. □
Theorem 3. 
In the improved registered keyword generation algorithm, if the two registration servers do not collude, the scheme in this paper satisfies the indistinguishability of the registered keywords.
Proof. 
Since the two servers are equivalent when generating the registration key, we might as well assume that the registration server R S 0 is malicious (an adversary), while the registration server R S 1 is legitimate and will not collude with the registration server R S 0 . It is proved below that the registration server cannot obtain any information about the registration key.
Setup. 
The simulator runs the registration server key generation algorithm to generate the public/private key pair of R S 0 and R S 1 , and sends the public keys and the private key of R S 0 to the adversary.
Challenge. 
When the simulator receives the challenge keywords w 0 and w 1 from the adversary, the challenger simulates the registration keyword generation algorithm as follows:
  • The simulator randomly selects b { 0 , 1 } and computes H 1 ( w b ) ;
  • The simulator randomly selects H 1 ( w b ) 0 Z N * , sets H 1 ( w b ) 1 = H 1 ( w b ) H 1 ( w b ) 0 mod N , and sends H 1 ( w b ) 0 to the adversary;
  • The simulator randomly selects a 0 , b 0 , c 0 Z N * and sends them to the adversary;
  • The simulator randomly selects v 0 Z N * and sends it to the adversary;
  • The Simulator randomly selects e 1 , f 1 Z N * and sends them to the adversary. When it receives e 0 and f 0 from the adversary, the simulator computes e = e 0 + e 1 mod N and f = f 0 + f 1 mod N ;
  • The simulator randomly selects [ u · v ] 1 Z N * and sends it to the adversary;
  • When it receives [ u · v ] 0 from the adversary, the simulator computes u · v = [ u · v ] 0 + [ u · v ] 1 mod N ;
  • When it receives θ 0 P 2 from the adversary, the simulator computes θ 1 P 2 = v 1 u · v P 2 ;
  • The simulator computes r s d w = P 2 H 1 ( w b ) ( θ 0 P 2 + θ 1 P 2 ) ;
Guess. 
The adversary outputs a guessed bit b { 0 , 1 } .
Analysis. In Step 5 and Step 6 above, since
u 1 a 1 = e 1 mod N v 1 b 1 = f 1 mod N e · f + e · b 1 + a 1 · f + c 1 = [ u · v ] 1 mod N ( a 0 + a 1 ) ( b 0 + b 1 ) = c 0 + c 1 mod N
and other parameters are known except a 1 , b 1 , c 1 , and v 1 , where u 1 = s 0 , 1 + H 1 ( w b ) 1 , the above equation implicitly determines the shares a 1 , b 1 , c 1 , and v 1 of the parameters a, b, c, and v. Therefore, the game simulated by the simulator is exactly the same as the real game.
In the simulated game, since the information sent by the simulator to the adversary is randomly selected and independent of the challenge keyword w b , the probability that the adversary’s guess b is correct is 1/2; that is, the advantage is zero.
This completes the proof of Theorem 3. □

5. Implementation and Performance

5.1. Efficiency Analysis

Up to now, no SM9-based registration keyword searchable encryption scheme has been found. For resisting insider keyword guessing attacks, we compared six studies [8,13,15,17,18,30] theoretically.
  • Computation. In Table 2, the time of common cryptographic operations is defined by taking the Type-F curve as an example, where T b p represents the time of bilinear pairing operation, T e x p t represents the time of exponential operations over groups G T , T m 1 and T m 2 represent the time of scalar multiplication operations of groups G 1 and G 2 , respectively, and H G T and T H represent the time of mapping a value to G T and { 0 , 1 } n , 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 T b p > H G T > T exp t > T m 2 > T m 1 > T H . Note that the operations T b p and H G T are much larger than other operations, and the operations T H 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 | G 1 | , | G 2 | , and | G T | to denote the element lengths in groups G 1 , G 2 , and G T , 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

Experimental simulation of the above three schemes are evaluated under the following environment: Windows 10 operating system, 1.0 GHz 4-core 64-bit Intel(R) Core(TM) i5-1035G1 CPU, 16 GB RAM, with IntelliJ IDEA 2021 as the experimental platform, using Java as the programming language, and using the JPBC package (Java pairing-based cryptography library2.0), wherein the Type-F curve in the library is used to construct an asymmetric prime order bilinear group, and the order of the curve group is 256 bits with embedding degree k = 12 .
Since the schemes [13,15,17,18] have different systems from our scheme, the scheme in this paper mainly compares it with the schemes in the studies [8,30] through experiments. SA-PEKS [8] is the first server-aided searchable encryption scheme with registered keywords, but its scheme is not based on the standard SM9. The scheme SM9-PEKS [30] is a searchable encryption scheme based on SM9, but it is not a registration keyword searchable encryption scheme, and it cannot resist KGA. First, we increase the number of keywords to experiment with each algorithm and test the execution time of the same algorithm in different schemes. Then, the running time of the original registration keyword generation algorithm proposed in this paper and the improved registration keyword algorithm is compared. During each collection of data, the results will be analyzed and summarized. All the experimental results are as follows.
Figure 4 shows the time consumed by PEKS Ciphertext in each scheme, with the number of keywords on the x-axis and time on the y-axis. The PEKS Ciphertext of our scheme is almost the same as the scheme of [30], and is better than the scheme of [8]. Specifically, when generating 1000 keyword ciphertexts, the time for our scheme is 19 s, the time for [8] is 119 s, and the scheme of [30] takes the same time as our scheme. It can be seen from Table 3 that in the PEKS Ciphertext, our scheme and [30] do not require the time-consuming operations of T b p and T G T . Thus, compared with the scheme of [8], our scheme improves the efficiency of the PEKS Ciphertext by 84%.
Figure 5 shows the running time of the Trapdoor in each scheme, where the x-axis is the number of keywords and the y-axis is the time required by the Trapdoor. From the figure, we can see that when generating 1000 keyword trapdoors, the time of our scheme as well as [30] is 3.6 s, while the time of the scheme of [8] is 2.3 s. It can be seen from Table 3 that our Trapdoor time is slower than that of [8] in theoretical analysis, as it is in the experiment.
Figure 6 displays the amount of time that Testing takes to execute in each scheme, with the time needed for Testing shown on the y-axis and the number of keywords on the x-axis. It can be seen that the efficiency of our scheme is slightly lower than the scheme of [30], but is much better than the scheme of [8]. Specifically, when running Testing 1000 times, the time of our scheme is 67 s, the time of [8] is 114.2 s, and the time of [30] is 66 s. Compared with the scheme of [8], our scheme does not require the time-consuming operations of H G T ; our scheme improves the efficiency of the Testing by 41.3%.
Figure 7 displays the average runtime of each algorithm under different schemes, with time shown on the y-axis. In our scheme, the total time required to execute the whole process of PEKS ciphertext, Trapdoor, and Testing is 88 milliseconds, the [30] is 87 milliseconds, and the [8] is 236 milliseconds. It can be seen that the overall efficiency of our scheme is 63% higher than the scheme of [8]. Although the efficiency is reduced by 1% compared with the scheme of [30], our scheme guarantees stronger security against KGA using a few additional computing operations.
Figure 8 compares the registration keyword algorithm’s efficiency between the basic scheme and the improved scheme put forward in this work. The x-axis represents the number of keywords, while the y-axis represents time. This improved scheme includes the time the two registration servers operated together. It can be clearly seen from Figure 8 that the improved scheme is two times slower than the original scheme, but its security can satisfy the indistinguishability of the registered keywords.
To sum up, under the theoretical analysis and practical implementation, our SM9-based searchable encryption scheme considers the factors of computation overhead and communication overhead. Compared with the server-aided registration keyword searchable encryption scheme of [8], its efficiency has a significant advantage. Compared with the SM9-based searchable encryption scheme of [30], its efficiency is only reduced by 1% to ensure stronger security against keyword-guessing attacks.

6. Conclusions

Aiming at the existing SM9 public key searchable encryption scheme, it cannot resist internal KGA. A searchable encryption scheme based on SM9 with registration keywords is proposed. The identity key generation algorithm in SM9 is used to construct a registered keyword generation algorithm, and a registered keyword server is used against insider KGA. The scheme has been proven correct and secure in different security models. However, the basic scheme can only ensure that a part of the keyword information is covered and still needs to satisfy registered keywords’ privacy. To solve this issue, we add two servers, use Beaver triples to run the registration keyword algorithm interactively, and propose an improved searchable encryption scheme for registered keywords. It can cover up keyword information reasonably and efficiently, improve security, realize the privacy-preserving user data, and satisfy the indistinguishability of registered keywords. The RKSE-SM9 has much greater computing efficiency than the registered keyword searchable encryption algorithms in PEKS Ciphertext, Trapdoor, and Testing, according to theoretical analysis and simulation experiment outcomes. As a result, the suggested plan is a searchable encryption plan that ensures heavy security and fulfills effective keyword searching. Regrettably, our plan is not strong enough to withstand a server collusion attack.
Work in the future will concentrate more on scenario applications. At the moment, our search strategy only supports one term. To create a multi-keyword searchable encryption system, it may be merged with broadcast encryption in the next step. Try adding and deleting keywords; a subsequent encryption method can be built to be searchable and updateable.

Author Contributions

Conceptualization, H.Z. and B.Q.; Software, H.Z.; Validation, H.Z., B.Q. and D.Z.; Formal analysis, B.Q.; Writing—original draft, H.Z.; Writing—review & editing, H.Z., B.Q. and D.Z.; Supervision, B.Q. and D.Z.; Project administration, B.Q. and D.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by the National Natural Science Foundation of China (Grant No. 62072371), the Basic Research Program of Qinghai Province (Grant No. 2020-ZJ-701), and the Youth Innovation Team of Shaanxi Universities.

Institutional Review Board Statement

Our research does not require ethical approval.

Informed Consent Statement

Our articles do not require this statement.

Data Availability Statement

We did not create relevant data.

Conflicts of Interest

We have identified and declared no conflict of interest in this article.

References

  1. 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]
  2. 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]
  3. 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]
  4. 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]
  5. 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]
  6. Cheng, Z. The SM9 Cryptographic Schemes. IACR Cryptol. ePrint Arch. 2017, 2017, 117. [Google Scholar]
  7. 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]
  8. 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]
  9. 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]
  10. 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]
  11. 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]
  12. 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]
  13. 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]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. 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]
  19. 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]
  20. 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]
  21. 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]
  22. 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]
  23. 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]
  24. 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]
  25. 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]
  26. 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]
  27. Qin, B.; Zhan, B.; Bai, X. Mediated SM9 Identity-Based Encryption Algorithm. Chin. J. Comput. 2022, 45, 412–426. [Google Scholar] [CrossRef]
  28. 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]
  29. 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]
  30. 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]
  31. 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]
Figure 1. System Model of RKSE-SM9.
Figure 1. System Model of RKSE-SM9.
Applsci 13 03226 g001
Figure 2. The RSD algorithm.
Figure 2. The RSD algorithm.
Applsci 13 03226 g002
Figure 3. Security reduction.
Figure 3. Security reduction.
Applsci 13 03226 g003
Figure 4. Computation cost of PEKS Ciphertext generation.
Figure 4. Computation cost of PEKS Ciphertext generation.
Applsci 13 03226 g004
Figure 5. Computation cost of trapdoor generation.
Figure 5. Computation cost of trapdoor generation.
Applsci 13 03226 g005
Figure 6. Computation cost of testing.
Figure 6. Computation cost of testing.
Applsci 13 03226 g006
Figure 7. Comparing the average time of each algorithm.
Figure 7. Comparing the average time of each algorithm.
Applsci 13 03226 g007
Figure 8. Comparing the time of registered keyword generation.
Figure 8. Comparing the time of registered keyword generation.
Applsci 13 03226 g008
Table 1. Symbol table in the RKSE-SM9.
Table 1. Symbol table in the RKSE-SM9.
NotationsDescription
G 1 a cyclic additive group of order prime number N
P 1 generator for the group G 1
G 2 a cyclic additive group of order prime number N
P 2 generator for the group G 2
G T a multiplicative group of order N
Nthe order of group G 1 , G 2 , G T , is a prime number greater than 2 191
e ^ bilinear pairing e ^ : G 1 × G 2 G T
H 1 a hash function H 1 : { 0 , 1 } * Z N *
H 2 a hash function H 2 : G 2 Z N *
H 3 a secure hash function H 3 : G T { 0 , 1 } n
( p k R S , s k R S ) the public/private key pair of the registration server
( p k R , s k R ) the public/private key pair of the receiver
r s d w RS-derived keyword of w
Table 2. Time consumption of basic operations (ms).
Table 2. Time consumption of basic operations (ms).
Operations T exp t T m 1 T m 2 T bp H G T T H
Execution time14.31.783.4368.741.2 0
Table 3. Computational overhead.
Table 3. Computational overhead.
SchemesPEKS CiphertextTrapdoorTesting
[8] T bp + 2 T m 1 + H G T T m 1 T bp + H G T
[13] T bp + 2 T m 1 + T H 3 T m 1 + 2 T H T bp + 2 T m 1 + T H
[15] T bp + 2 T m 1 + 2 T H T m 1 + T H T bp + T H
[17] 2 T bp + 3 T m 1 + 2 T H T bp + 2 T m 1 + 2 T H 2 T bp
[18] T bp + 3 T m 1 + 2 T H 2 T m 1 + T H T bp + T H
[30] 2 T m 1 + T exp t + T H T m 2 + T H T bp
Our Scheme 2 T m 1 + T exp t + T H T m 2 + T H T bp + T H
Table 4. Communication overhead.
Table 4. Communication overhead.
SchemesPublic Key SizePEKS Ciphertext SizeTrapdoor Size
[8] 3 | G 1 | + | G T | | G 1 | + | G T | | G 1 |
[13] | G 1 | | G 1 | 2 | G 1 |
[15] | G 1 | 2 | G 1 | | G T |
[17] 2 | G 1 | + | G T | 2 | G 1 |
[18] | G 1 | | G 1 | | G 1 |
[30] | G 1 | | G 1 | | G 2 |
Our Scheme | G 1 | | G 1 | | G 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.

Share and Cite

MDPI and ACS Style

Zhang, H.; Qin, B.; Zheng, D. Registered Keyword Searchable Encryption Based on SM9. Appl. Sci. 2023, 13, 3226. https://doi.org/10.3390/app13053226

AMA Style

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 Style

Zhang, 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 Style

Zhang, H., Qin, B., & Zheng, D. (2023). Registered Keyword Searchable Encryption Based on SM9. Applied Sciences, 13(5), 3226. https://doi.org/10.3390/app13053226

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