Next Article in Journal
Characterizing q-Bessel Functions of the First Kind with Their New Summation and Integral Representations
Previous Article in Journal
Fast Generalized Sliding Sinusoidal Transforms
Previous Article in Special Issue
Automatic Creation of 3D Documentation in CAD/BIM Based on Topology
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi-Keyword Searchable Identity-Based Proxy Re-Encryption from Lattices

1
Department of Computer Science and Engineering, National Sun Yat-sen University, Kaohsiung 804, Taiwan
2
Information Security Research Center, National Sun Yat-sen University, Kaohsiung 804, Taiwan
3
Intelligent Electronic Commerce Research Center, National Sun Yat-sen University, Kaohsiung 804, Taiwan
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(18), 3830; https://doi.org/10.3390/math11183830
Submission received: 28 July 2023 / Revised: 1 September 2023 / Accepted: 4 September 2023 / Published: 6 September 2023

Abstract

:
To protect the privacy of cloud data, encryption before uploading provides a solution. However, searching for target data in ciphertext takes effort. Therefore, searchable encryption has become an important research topic. On the other hand, since the advancement of quantum computers will lead to the crisis of cracking traditional encryption algorithms, it is necessary to design encryption schemes that can resist quantum attacks. Therefore, we propose a multi-keyword searchable identity-based proxy re-encryption scheme from lattices. In addition to resisting quantum attacks, the proposed scheme uses several cryptographic techniques to improve encryption efficiency. First, identity-based encryption is used to reduce the computation and transmission costs caused by certificates. Second, the proposed scheme uses proxy re-encryption to achieve the purpose of outsourced computing, allowing the proxy server to reduce the computation and transmission costs of the users. Third, the proposed multi-keyword searchable encryption can provide AND and OR operators to increase the flexibility of searchability. Moreover, the access structure of the proposed scheme is not based on a linear secret sharing scheme (LSSS), avoiding the errors caused by an LSSS-based structure in decryption or search results. Finally, we also give formal security proof of the proposed scheme under the decisional learning with errors assumption.

1. Introduction

Encrypting data before uploading to the cloud has become a standard method to protect data privacy. With the advancement of technology, cloud services have become a part of people’s daily lives. Sharing data through the cloud server can reduce the storage cost of the user end, but at the same time, there will be concerns about data leakage. Therefore, to protect the data’s confidentiality, users may encrypt it before uploading it to the cloud server. Based on the convenience of key management, most people use the public key cryptography system to encrypt data. To confirm the correctness of a user’s public key, a certificate of the user’s public key is often required as proof. However, since the management and verification of certificates will lead to more computation and transmission costs, many certificate-less public key cryptosystems have been proposed.
Functional encryption is a type of certificate-less public key encryption. For example, identity-based encryption (IBE), attribute-based encryption (ABE), and subset-predicate encryption (SPE) are functional encryption methods. In 1984, Shamir proposed the first IBE scheme [1]. In his scheme, the data owner can use the receivers’ identities as the encryption keys, thereby saving the management and verification of certificates. In 2005, Sahai and Waters proposed a fuzzy IBE scheme [2]. Since a fuzzy identity can be regarded as an attribute, the scheme of Sahai and Waters is considered the first ABE scheme. In ABE schemes, the data owner can use attributes to encrypt data, so there is no need to use certificates. The concept of SPE was first introduced by Katz et al. [3] in 2017. In SPE schemes, the data owner can select an attribute set to encrypt data, and the receivers can decrypt it if and only if their attributes are subsets of the attribute set of the encrypted data.
Proxy re-encryption (PRE) is used to reduce file-sharing costs. To change the recipient of the ciphertext from Alice to Bob, one may decrypt the ciphertext with Alice’s private key and then encrypt it with Bob’s public key. However, this method is inefficient, and how to directly convert the ciphertext becomes an issue. Therefore, the purpose of PRE is to directly convert the ciphertext without decrypting it. The first PRE scheme was proposed by Blaze et al. in 1998 [4]. In their scheme, a semi-trusted proxy is allowed to transform the ciphertext for Alice into the ciphertext for Bob without changing the content of the message, thereby reducing the computation and transmission costs of sharing files. On the other hand, PRE can be used in combination with functional encryption. For example, the first identity-based PRE scheme was proposed by Green and Ateniese [5] in 2007; the first attribute-based PRE scheme was proposed by Liang et al. in 2009 [6].
Searchable encryption (SE) solves the problem that files cannot be searched after encryption. Although encryption can protect data privacy, searching for encrypted data takes effort. To solve this problem, Song et al. [7] proposed the first SE scheme in 2000, whereas encrypted files are searchable. In 2004, Boneh et al. proposed the first SE scheme with keyword search [8]. In Boneh et al.’s scheme, users can choose a keyword to search for files. In 2007, Hwang and Lee [9] proposed SE that supports multi-keyword search, increasing the flexibility of searchability.
On the other hand, due to the rapid development of quantum computers, some traditional encryption schemes are facing a crisis of being cracked. Due to the special properties of quantum bits, quantum computers can perform parallel operations on large amounts of data. Therefore, quantum computers can use their parallel computing capabilities to solve some traditional hard problems on classical computers. In 1994, Shor proposed a quantum algorithm [10] that can find the prime factors of a large integer. In addition, the discrete logarithm problem, which is generally considered as difficult as the prime factorization problem, is also considered to be at risk of being solved by quantum algorithms. Therefore, encryption schemes based on such mathematical problems suffer from the risk of being cracked.
Lattice-based cryptography has been extensively researched and validated for security on both classical and quantum algorithms. To resist quantum attacks, the National Institute of Standards and Technology (NIST) launched a post-quantum cryptography standards competition. In July 2022, the competition winner was Kyber [11], a lattice-based public-key encryption algorithm. The competition result shows that lattice-based schemes are generally considered to be effective against quantum attacks. Lattice-based cryptography is considered quantum-resistant because it is based on mathematical problems that are difficult for quantum computers to solve. Quantum computers cannot solve the shortest vector problem exponentially faster than classical computers, which means that quantum attacks would not be able to break the encryption schemes based on that problem. The Learning with Errors (LWE) problem is also considered intractable for quantum computers. In addition, no known quantum algorithm can break the Decisional Learning with Errors (D-LWE) problem, which has applications in many fields.
Many lattice-based public-key cryptosystems have been proposed. In 1996, Ajtai [12] proposed a one-way hash function based on the shortest vector problem. In 1997, Goldreich et al., proposed the first public-key cryptosystem based on the closest vector problem. Hoffstein et al. [13] proposed a public key encryption scheme called the Number Theory Research Unit (NTRU) in 1998. Although the security of NTRU is not formally proven, its computation cost is lower than previous schemes. In 2005, Regev [14] proposed the LWE problem, which is at least as hard as the worst case of the shortest independent vectors problem. Since then, most of the lattice-based public-key cryptosystems published after 2005 were based on the LWE problem due to the low computational cost required. Even the Kyber algorithm [11], the winner of the NIST post-quantum competition, is based on the LWE problem.
One of the advantages of the lattice encryption algorithm is that it can provide functional encryption. In 2008, Gentry et al., published an IBE scheme based on LWE. In 2013, Boneh proposed the first lattice-based ABE scheme [15]. In 2014, Singh et al. proposed the first identity-based PRE [16]. In 2019, Liu et al. [17] proposed an ABE protocol for searchable keywords. In 2022, Wang et al. [18] proposed a searchable SPE scheme.
Outsourcing computation reduces the computation and transmission costs of the data sender. In 2019 Zhang et al. [19] proposed a lattice-based SE support outsourcing computation. In their scheme, DO will generate oriented keys and send them to PS. With those keys, PS can prove that DO has authorized it to assist in encryption. With the assistance of PS, DO can save some computation and transmission costs.
Some lattice-based SE schemes [17,20,21,22] use linear secret sharing scheme (LSSS) as the access structure, but using LSSS under the LWE problem may cause problems. Because the Gaussian elimination method used to solve the LSSS problem will generate coefficients that cannot be guaranteed to be small enough, the decryption or search results after running LSSS may be wrong. Therefore, LSSS-based schemes under the LWE problem cannot be realized in practice. To avoid this problem, the proposed scheme uses a tree-based access structure.

1.1. Problem Statements

In summary, to improve the efficiency of cloud services, an encrypted file-sharing scheme should meet the following features:
  • The encryption should resist quantum attacks.
  • The encrypted file should be searchable. Moreover, the scheme should support multi-keyword to increase the flexibility of searchability.
  • To reduce the file-sharing costs of the data owner, the scheme should support PRE.
  • The encryption should avoid the cost of using certificates.
Unfortunately, no known scheme can achieve these features simultaneously. Therefore, we propose a scheme to satisfy these features simultaneously.

1.2. Contributions

We proposed a multi-keyword searchable identity-based proxy re-encryption scheme from lattices. To highlight the contributions, the features comparison between the proposed scheme and other schemes is shown in Table 2. The proposed scheme is the first to offer the following properties simultaneously:
  • To resist quantum attacks, the security of the proposed scheme is based on the LWE problem from lattices.
  • The flexibility of searchability is increased through the proposed multi-keyword search that supports AND and OR operations. The access structure is tree-based rather than LSSS-based, avoiding possible errors in the decryption and search phases.
  • KGC only needs to assist users in generating private keys during the registration phase. The burden on the KGC is reduced since it does not involve other phases. Moreover, the risk of KGC being attacked by adversaries through the network can be reduced.
  • The proposed scheme supports PRE to reduce file-sharing costs of the data owner. The concept of outsourcing computation is added to the scheme design. As the number of data users increases, the costs required for the data owner remain the same, and the proxy server will handle the increased workload.
  • Users’ access rights are verified in both the search phase and the decryption phase to prevent adversaries from illegally accessing files.
  • The proposed scheme is identity-based, which avoids the cost of using certificates.

2. Preliminaries

The definitions of lattice, trapdoors, and hardness assumptions are shown here. Furthermore, the access structure, system model, and security model of the proposed scheme are presented here.

2.1. Lattices

Definition 1.
An n-dimensional lattice Λ is defined as a set of linear combinations of m linearly independent vectors  a 1 , a 2 , , a m Z n .
Λ = i = 1 m x i a i | x i Z ,
where { a 1 , a 2 , , a m } is a basis of Λ , and the rank of Λ is m.
Definition 2.
Given a prime number q, a basis A = { a 1 , a 2 , , a m } Z q n × m , and a vector u Z q n .
Three types of lattices are defined as follows:
Λ q A : = v Z m | A s = v mod q , s Z n Λ q u A : = v Z m | Av = u mod q Λ q A : = v Z m | Av = 0 mod q

2.2. Discrete Gaussians

Definition 3.
Given a Gaussian parameter α R + , a vector c R m , and L Z m .
  • The discrete Gaussian distribution over L is
    x L , D L , α , c ( x ) = ρ α , c ( x ) ρ α , c ( L ) .
  • The sum of all ρ α , c ( x ) is
    ρ α , c ( L ) = x L ρ α , c ( x ) .
  • The Gaussian function on R m is
    ρ α , c ( x ) = exp ( π x c 2 α 2 ) .

2.3. Inhomogeneous Short Integer Solution (ISIS)

Definition 4 (ISIS problem).
Given a prime q, a random matrix A Z q n × m , a target vector t Z q n , and a parameter β R , the goal is to find a non-zero vector x Z q m such that Ax = t mod q and x β .
The ISIS problem is a variant of the Shortest Vector Problem (SVP) in lattices, which is known to be computationally hard. It falls within the class of NP-hard problems and is believed to be resistant to efficient classical and quantum algorithms. Lattice-based schemes often design public and private keys based on the ISIS problem. A and t are often used as public parameters or public keys, while x is often used as a private key.

2.4. Decisional Learning with Errors (D-LWE)

Given a prime q, a Gaussian distribution χ over Z q , and a positive integer n. Assume that there is a non-specified oracle O , which could be a truly uniform random sampler O $ or a noisy pseudo-random sampler O s . O s and O $ are defined as follows:
  • O s : The noisy pseudo-random sampler O s outputs pseudo-random samples ( u i , v i ) = ( u i , u i s + e i ) Z q n × Z q , where e i is sampled from χ , s Z q n is a consistent secret vector, and u i Z q n is a uniformly random vector.
  • O $ : The truly random sampler O $ outputs uniformly random samples in Z q n × Z q .
Definition 5 (D-LWE problem).
Given a polynomial number of samples from O . Decide whether O is O s or O $ .
Definition 6.
The advantage of an adversary A to break the D-LWE problem is defined as
A d v D L W E ( A ) = P r [ A O s = 1 ] P r [ A O $ = 1 ]
Definition 7 (D-LWE Assumption).
If no polynomial-time algorithm has a non-negligible advantage in solving the D-LWE problem, then the D-LWE assumption holds.
The D-LWE problem is widely regarded as a hard problem in lattice-based cryptography. Many lattice-based cryptographic schemes, such as encryption, signatures, and key exchange protocols, rely on the hardness of D-LWE for their security. As long as solving the D-LWE problem is difficult, the security of those schemes will be guaranteed.

2.5. Trapdoor Functions

There are two types of trapdoor functions.Type 2 trapdoor functions are smaller, faster, and better than Type 1 trapdoor functions. The type 2 trapdoor functions are based on the one-way function proposed by Regev [23], and their security is constructed on the hardness of the learning with errors problem (LWE). In 2012, Micciancio and Peikert [24] proposed an efficient trapdoor generation function. Then, Genise and Micciancio [25] gave improved algorithms in 2018. Therefore, the proposed scheme applies the trapdoor generation functions [24,25] and introduces them here.
Given a prime q and two positive integers n , m . To obtain a trapdoor of a lattice, a gadget vector g is defined as g = 1 2 4 2 k 1 Z q 1 × k , where k = log 2 q . Moreover, a gadget matrix G is defined as
G = I n g = g 0 0 0 g 0 0 0 0 g Z q n × w , where w = n k .
Definition 8.
( A , R ) G e n T r a p ( A 0 , H )
  • Given a matrix A 0 Z q n × m and an invertible matrix H Z q n × n . Output a matrix A = A 0 | A 0 R + HG Z q n × m and a trapdoor R Z q m × w of A , where m = m + w . Moreover, the trapdoor’s quality guaranteed that s ( R ) m · ω ( log q ) , where the function s ( ) extracts the Euclidean length of the input, and the little-omega notation ω ( ) is an asymptotic notation.
Definition 9.
x S a m p l e D ( A = A 0 | A 0 R + HG , H , R , t , σ )
  • Given a matrix A = A 0 | A 0 R + HG Z q n × m , a trapdoor R Z m × w of A , an invertible matrix H Z q n × n , a target t Z q n , and a Gaussian parameter σ. Output a vector x such that Ax = t Z q n .
The details of how to generate x with a gadget matrix G is described as follows:
  • Randomly choose a perturbation vector p Z q m with σ , and divide p into two parts p 1 Z q m and p 2 Z q w :
    p = p 1 p 2 .
  • Compute
    y 1 = A 0 ( p 1 R p 2 ) Z q n
    y 2 = G p 2 Z q n ,
    v = H 1 ( t y 1 ) y 2 = H 1 ( t Ap ) Z q n .
  • Choose a vector z Z q w from Λ q v ( G ) , and compute
    x = p + R I w z .
  • Output x .
Definition 10.
R D e l T r a p ( A = [ A | A 1 ] , R , H , σ )
  • Given a matrix A = [ A | A 1 ] Z q n × m × Z q n × w ( A 1 is an arbitrary matrix), a trapdoor R Z m × w of A , an invertible matrix H Z q n × n , and a Gaussian parameter σ. Output a trapdoor R of A .
D e l T r a p will call S a m p l e D repeatedly until getting a trapdoor R containing d linearly independent vectors [ y 1 , , y d ] such that A R = H G A 1 .

2.6. Tree-Based Access Structure

In the proposed scheme, the data owner will choose a set of keywords K W while encrypting data, and a data user may determine a keyword-search policy τ while generating a search token. Moreover, the cloud server will send the encrypted data to the data user if K W satisfies τ . The access structure in the proposed scheme is a tree-based access structure supporting OR and AND gates.
Figure 1 shows an example of the tree-based access structure applied in the proposed scheme. In the example, the keyword-search policy τ = ( k 1 k 3 k 5 ) ( k 6 k 7 ) , where k i denotes the i-th keyword in the system. Here is how to generate T τ , k i { 1 , 0 , 1 } n × n , which will be used in the proposed scheme. First, the data user will set the value of the root node as an identity matrix I n . Second, since the root node has two child nodes and requires an AND gate, the data user will compute two invertible matrices T ¯ 1 , T ¯ 2 { 1 , 0 , 1 } n × n such that T ¯ 1 + T ¯ 2 = I n . Third, since T ¯ 1 has three child nodes and requires an OR gate, the data user will set T τ , k 1 = T τ , k 3 = T τ , k 5 = T ¯ 1 . Fourth, since T ¯ 2 has two child nodes and requires an AND gate, the data user will compute two invertible matrices T τ , k 6 , T τ , k 7 { 1 , 0 , 1 } n × n such that T τ , k 6 + T τ , k 7 = T ¯ 2 . Finally, each T τ , k i belonging to k i will be used to generate a search token in the proposed scheme. If a keyword set K W = { k 1 , k 2 , , k o } can exactly satisfy τ , then i = 1 o T τ , k i = I n . For example, in Figure 1, both { k 1 , k 6 , k 7 } and { k 3 , k 6 , k 7 } can exactly satisfy τ , then T τ , k 1 + T τ , k 6 + T τ , k 7 = T τ , k 3 + T τ , k 6 + T τ , k 7 = I n .

2.7. System Model

Figure 2 shows the system model of the proposed scheme. It includes five system roles, and their behaviors are defined as follows.
  • Key Generation Center (KGC): KGC is fully trusted and is responsible for system setup and key distribution.
  • Data Owner (DO): DO can pre-generate re-encryption keys and send them to PS before the encryption phase. Then, in the encryption phase, DO computes the ciphertext, index, and I D s (a set of DUs’ identities). Then, DO sends (ciphertext, index, I D s) to PS.
  • Proxy Server (PS): PS is fully trusted and responsible for re-encryption. After receiving the re-encryption keys, ciphertext, index, and I D s from DO, PS re-encrypts the ciphertext and index. Finally, PS sends the re-encrypted results to CS.
  • Cloud Server (CS): CS is honest-but-curious and responsible for data storage and search.
  • Data User (DU): DU can send a search request with a search token to CS to download matching ciphertexts.
The proposed scheme consists of the following polynomial-time algorithms.
  • ( M S K , P P ) Setup ( λ ) : Taking a security parameter λ as input, KGC outputs the public parameters P P and the master secret key M S K .
  • ( S K I D ) KeyGen ( P P , M S K , I D ) : With a user’s identity I D and M S K as inputs, KGC computes the private key S K I D of the user.
  • ( R K I D x I D y ) Re-KeyGen( P P , I D x , I D y , S K I D x ): Taking DU’s identity I D y , and S K I D x as inputs, the user I D x computes the re-encryption key R K I D x I D y .
  • ( C I D x , I I D x ) Enc( P P , I D x , μ , K W I D ) : Taking an identity I D x , a one-bit message  μ , and a keyword set K W I D x as inputs, DO outputs the ciphertext C I D x and the index I I D x .
  • ( C I D y , I D y ) Re-Enc( P P , ( C I D x , I D x ) , I D y , R K I D x I D y , ): Given the ciphertext C I D x , the index I I D x , DO’s identity I D x , DU’s identity I D y , and a re-encryption key R K I D x I D y as inputs, PS computes the re-encrypted ciphertext C I D y and re-encrypted index I I D y .
  • ( T K , I D ) TokenGen( P P , I D , S K I D , τ ): Taking a keyword-search policy τ , I D , and S K I D as inputs, DU can compute the search token T K .
  • ( C I D or ) Search ( P P , T K , I D , ( C I D , I I D ) ) : Given T K , I D , and ( C I D , I I D ) as inputs, CS checks whether T K matches I I D . If the result matches, CS sends C I D to DU. Otherwise, CS sends ⊥ to DU.
  • ( μ )  Dec( P P , I D , S K I D , C I D ): With C I D and S K I D , DU decrypts C I D and gets the plaintext μ .

2.8. Security Model

Based on the security requirements of cloud services, the proposed scheme achieves indistinguishability under chosen plaintext attacks (IND-CPA) and indistinguishability under chosen keyword attacks (IND-CKA). The security model is defined as the following IND-CPA and IND-CKA games. Assume that A is a polynomial-time adversary, and the simulator S simulates the games.

2.8.1. Ciphertext Security

The IND-CPA game is defined as follows:
  • Init : A gives a target identity I D * to S . S receives a polynomial number of samples from the D-LWE oracle.
  • Setup   S initializes the system and sends public parameters P P to A .
  • Phase 1   A can adaptively issue the following queries multiple times:
    H 0  query: A gives an identity I D to S . S sends H 0 ( I D ) to A .
    H 1  query: A gives an identity I D to S . S sends H 1 ( I D ) to A .
    KeyGen query  A gives an identity I D . If I D = I D * , S aborts it. Otherwise, S sends S K I D to A .
    Re-KeyGen query  A gives DO’s identity I D x and DU’s identity I D y . If I D x = I D * , S aborts it. Otherwise, S sends R K I D x I D y to A .
  • Challenge : A submits two messages ( μ 0 , μ 1 ) to S . S randomly chooses b { 0 , 1 } . Then, S computes the ciphertext C I D * related to μ b . Finally, S sends C I D * to A .
  • Phase 2 : A may do more queries as in Phase 1 .
  • Guess : Finally, A answers a bit b . If b = b , A wins the IND-CPA game.
Definition 11.
The advantage of A to win the IND-CPA game is defined as
A d v I N D C P A ( A ) = P r b = b 1 2
Definition 12.
If no polynomial-time adversary wins the IND-CPA game with a non-negligible advantage, then the proposed scheme is IND-CPA secure.

2.8.2. Keyword-Search Security

The IND-CKA game is defined as follows:
  • Init : A gives a target identity I D * and two target keywords ( k 0 , k 1 ) to S . S randomly chooses b { 0 , 1 } and will use k b for the challenge. Furthermore, S receives a polynomial number of samples from the D-LWE oracle.
  • Setup   S initializes the system and sends public parameters P P to A .
  • Phase 1   A can adaptively issue the following queries multiple times:
    H 0  query: A gives an identity I D to S . S sends H 0 ( I D ) to A .
    H 1  query: A gives an identity I D to S . S sends H 1 ( I D ) to A .
    KeyGen query  A gives an identity I D . If I D = I D * , S aborts it. Otherwise, S sends S K I D to A .
    Re-KeyGen query  A gives DO’s identity I D x and DU’s indetiy I D y . If I D x = I D * , S aborts it. Otherwise, S sends R K I D x I D y to A .
    TokenGen query  A gives an identity I D and a keyword-search policy τ . If ( I D = I D * and ( τ contains k 0 or k 1 )), S aborts it. Otherwise, S sends ( T K , I D ) to A .
  • Challenge : A submits a signal to start the Challenge . S computes the index I I D * related to k b . Finally, S sends I I D * to A .
  • Phase 2 : A may do more queries as in Phase 1 .
  • Guess : Finally, A answers a bit b . If b = b , A wins the IND-CKA game.
Definition 13.
The advantage of A to win the IND-CKA game is defined as
A d v I N D C K A ( A ) = P r b = b 1 2
Definition 14.
If no polynomial-time adversary wins the IND-CKA game with a non-negligible advantage, then the proposed scheme is IND-CKA secure.

3. Related Works

This section introduces a traditional SE scheme and some lattice-based schemes in recent years. The features comparison between the proposed scheme and those schemes will be shown in Section 6.

3.1. Huang et al.’s [26] Traditional Multi-Keyword Attribute-Based SE Scheme

Huang et al. [26] proposed a traditional multi-keyword attribute-based SE scheme in 2022. Their scheme supports AND and NOT operators in keyword search queries. Moreover, user access rights are verified during the decryption and keyword-search phases. However, since the scheme is based on discrete logarithm hard problems, it cannot resist quantum attacks. Since Huang et al.’s scheme uses traditional encryption, their scheme will not be compared in computation and transmission costs.

3.2. Wang et al.’s [27] Public Key SE Scheme from Lattices

In 2020, Wang et al. [27] introduced a public key SE scheme, which supports conjunctive keyword search (multi-keyword but only AND operators). Their multi-user scheme uses a user’s identity’s hash value as its public key. Therefore, their scheme is IBE. However, their scheme does not detail the decryption phase.

3.3. Attribute-Based SE Schemes from Lattices

Four attribute-based SE schemes are introduced here. Their access structures are all LSSS, which may cause errors in decryption.

3.3.1. Liu et al.’s [17] Scheme

In 2019, Liu et al. [17] proposed an attribute-based SE scheme. Since their method verifies user access rights only in the decryption phase, anyone can search the ciphertext without authentication in the keyword-search phase. Although there are multi-keywords in Liu et al.’s Encryption, the search token contains only one keyword. Liu et al.’s method requires KGC to be online to help users generate search tokens. Moreover, the access structure is LSSS, which may cause errors in decryption.

3.3.2. Varri et al.’s [20] Scheme

In 2021, Varri et al. [20] proposed an attribute-based SE scheme supporting multi-keyword searches. Although their method verifies user access rights in the keyword-search phase, all users use the same decryption key in the decryption phase. Although there are multi-keywords in their Encryption, the search token contains only one keyword. Therefore, the scheme does not support multi-keyword. Moreover, Varri et al.’s method also requires KGC to be online to generate search tokens. Furthermore, the access structure is LSSS, which may cause errors in decryption.

3.3.3. Chen’s [21] Scheme

In 2021, Chen [21] proposed an attribute-based SE scheme supporting dynamic membership management. His scheme is based on Wang’s scheme [28]. His method verifies user access rights in both the decryption and the keyword-search phases. Moreover, his search algorithm verifies ζ times to ensure that the user is valid. However, the access structure is LSSS, which may cause errors in decryption. Moreover, the data user needs to know the access structure of the data before generating a search token. The algorithms of his scheme are shown as follows:

3.3.4. Wang’s [22] Scheme

In 2022, Wang [22] proposed an attribute-based multi-keyword SE scheme supporting dynamic membership management. Her scheme is based on Chen’s scheme [21]. Therefore, her scheme shares many similar features with Chen’s scheme, and the access structure is LSSS, which may cause errors in decryption. Moreover, the keywords are only protected by the hash function, which may be attacked by offline dictionary attacks.

3.4. Zhang et al.’s [19] Identity-Based SE Scheme from Lattices

In 2019, Zhang et al. [19] introduced an identity-based SE scheme, which reduces data owners’ computation and transmission costs with a proxy mechanism. Users can generate search tokens by themselves so that KGC can be offline. However, their scheme does not detail the decryption phase. Moreover, DU needs to know which proxy PS sent the data when generating a search token. Furthermore, CS needs a special public key of PS when testing the search.

3.5. Wang et al.’s [18] Lattice-Based SE Schemes Supporting SPE

In 2022, Wang et al. [18] proposed a SE scheme supporting SPE. Their scheme verifies user access rights during the decryption and keyword-search phases. Moreover, users can generate search tokens in Wang et al.’s method. Although their method supports multi-keywords, only OR operations are supported.

3.6. Lattice-Based SE Schemes Supporting PRE

Two lattice-based SE schemes supporting PRE are introduced here. Both schemes do not support functional encryption.

3.6.1. Zhang et al.’s [29] Scheme

In 2021, Zhang et al. [29] introduced an SE scheme providing proxy re-encryption. In their scheme, although users can generate search tokens by themselves, KGC must be online to help users generate re-encryption keys. Moreover, their scheme does not detail the decryption phase.

3.6.2. Hou et al.’s [30] Scheme

In 2022, Hou et al. [30] proposed a multi-keyword SE scheme with proxy re-encryption. Their scheme supports semantic aware search in keyword search queries. However, like Zhang et al.’s method, Hou et al.’s scheme does not detail the decryption phase and requires KGC to be online to generate re-encryption keys.

4. Construction

This section presents the proposed multi-keyword searchable identity-based proxy re-encryption scheme from lattices. The system model is defined in Section 2.7.

4.1. Algorithms

Table 1 shows the notations of the proposed scheme. Figure 3 presents the data flow of the proposed scheme. To make the figure simple and easy to understand, Figure 3 only shows the case of one DU. In actual situations, there may be multiple DUs, and DO should provide a re-encryption key to PS for each DU. Then, PS will compute a re-encrypted ciphertext and a re-encrypted index for each DU.
The proposed scheme includes eight algorithms as follows (Appendix A).
  • ( M S K , P P ) Setup ( λ )
    Taking a security parameter λ , KGC sets up the system by the following steps:
    • Select a Gaussian distribution χ , a Gaussian parameter σ , a prime q, four integers n, m , l, and w, a keyword set K W = { k i } 1 i l , a random matrix A 0 Z q n × m , an invertible matrix H Z q n × n , a random vector u Z q n . Let m = m + w .
    • Select three hash functions H 0 : { 0 , 1 } * Z q n × w , H 1 : { 0 , 1 } * Z q n × n , and H 2 : { 0 , 1 } * Z q n × n , where the output of H 1 or H 2 is an invertible matrix.
    • Generate a matrix A = [ A 0 | A 0 R + H G ] Z q n × m and a corresponding trapdoor R Z q m × w of Λ q ( A ) by invoking GenTrap ( A 0 , H ) defined in Section 2.5, where G Z q n × w is a gadget matrix defined in Section 2.5.
    • Publish the public parameters P P = ( χ , σ , q , n , m , l , w , K W = { k i } 1 i l , A , H 0 , H 1 , H 2 , u ) and keep the master secret key M S K = R .
    In GenTrap algorithm, G is a special matrix that is public. H can be an identity matrix and be public. Due to the difficulty of solving the ISIS problem defined in Section 2.3, even given A , A 0 , H , and G , it is hard to find R . Therefore, only the trapdoor R needs to be kept secret.
  • ( S K I D ) KeyGen ( P P , M S K , I D )
    With a user’s I D and M S K as inputs, KGC runs KeyGen to compute the user’s private key SK I D by the following steps:
    • Compute A I D = H 0 ( I D ) Z q n × w .
    • Set A I D = [ A | A I D ] .
    • Compute H I D = H 1 ( I D ) Z q n × n .
    • Run DelTrap( A I D , R , H I D , σ ) defined in Section 2.5 to generate R I D Z m × w such that A R I D = H I D G A I D , where R I D  is a trapdoor of  Λ q [ A | A I D ] .
    • Run SampleD ( R I D , A I D , H I D , u , σ ) to generate x I D so that A I D x I D = u .
    • Set SK I D = { R I D , x I D } . and send it to the user.
    A I D will be treated as the public key associated with the user I D . However, because the number of bits of the matrix A I D is relatively high, directly storing A I D will consume a large storage space. Therefore, users only need to store the ID, and when users need to use A, they use the hash function to compute it. Anyone who knows the user ID can compute the corresponding A I D . Similarly, users do not store H I D directly, thereby reducing storage requirements. On the other hand, the determinants | R I D | and | x I D | should be small. Otherwise, it will affect the correctness of the proposed scheme. Since | R I D | and | x I D | need to be small, the difficulty for an adversary to compute an effective private key is equivalent to solving the ISIS problem.
  • ( R K I D x I D y ) Re KeyGen ( P P , I D x , I D y , S K I D x )
    With S K I D x , the user I D x can compute the re-encryption key R K I D x I D y by the following steps:
    • Compute A I D x = H 0 ( I D x ) Z q n × w .
    • Set A I D x = [ A | A I D x ] Z q n × ( m + w ) .
    • Compute A I D y = H 0 ( I D y ) Z q n × w .
    • Set A I D y = [ A | A I D y ] Z q n × ( m + w ) .
    • Compute H I D x = H 1 ( I D x ) Z q n × n .
    • Perform SampleD( R I D x , A I D x , H I D x , A I D y , σ ) defined in Section 2.5 to get R I D x I D y such that A I D x R I D x I D y = A I D y .
    • Set R K I D x I D y = R I D x I D y .
    The concept of re-encryption is to compute a matrix R I D x I D y so that the matrix A I D x multiplied by R I D x I D y will be equal to the matrix A I D y . Moreover, the determinant | R I D x I D y | should be small, so it can be ignored in the search results or the decryption results. Otherwise, it will affect the correctness of those results. Since | R I D x I D y | needs to be small, the difficulty for an adversary to compute an effective re-encryption key is equivalent to solving the ISIS problem.
  • ( C I D x , I I D x )  Enc( P P , I D x , μ , K W I D )
    Taking a one-bit message  μ { 0 , 1 } and a keyword set K W I D x K W = { k i } 1 i l , DO encrypts  μ with its I D x by the following steps:
    • Compute A I D x = H 0 ( I D x ) Z q n × w .
    • Set A I D x = [ A | A I D x ] Z q n × ( m + w ) .
    • Sample noises e 1 , e 3 χ and e 2 , e 4 , 1 , e 4 , 2 , , e 4 , l χ m + w .
    • Choose two secret vectors  s , v Z q n .
    • Compute C 1 I D x = u s + μ q 2 + e 1 Z q .
    • Compute C 2 I D x = A I D x s + e 2 Z q m + w .
    • Set the ciphertext C I D x = { C 1 I D x , C 2 I D x } .
    • Compute I 1 I D x = u v + e 3 Z q .
    • For i = 1 to l,
      (a)
      if the keyword k i K W I D x ,
      • generate a random matrix I 2 , k i I D x Z q m + w .
      (b)
      if k i K W I D x , perform the following steps:
      • Compute H k i = H 2 ( k i ) Z q n × n .
      • Compute I 2 , k i I D x = A I D x H k i v + e 4 , i Z q m + w .
    • Set the index I I D x = { I 1 I D x , { I 2 , k i I D x } 1 i l } .
    • Choose DUs’ identities I D s.
    • Send ( ( C I D x , I I D x , I D x ), I D s) to PS.
    To reduce the computation and transmission costs of DO by outsourced computing, DO encrypts the message with its public key. Then, DO sends the ciphertext, index, and DUs’ IDs to PS. When the number of DUs increases, DO only needs to increase the list of receivers without any other cost. Therefore, when the number of DUs is large, the proposed scheme can effectively reduce the burden on DO.
  • ( C I D y , I I D y , I D y )  Re-Enc( P P , ( C I D x , I I D x , I D x ) , I D y , R K I D x I D y , )
    Given the ciphertext C I D x , the index I I D x , DO’s identity I D x , DU’s identity I D y I D s , and a re-encryption key R K I D x I D y , PS can transfer ( C I D x , I I D x ) to ( C I D y , I I D y ) by the following steps:
    • Sample noises e 2 , e 4 , 1 , e 4 , 2 , , e 4 , l χ m + w .
    • Set C 1 I D y = C 1 I D x .
    • Compute C 2 I D y = R K I D x I D y C 2 I D x + e 2 .
    • Set C I D y = { C 1 I D y , C 2 I D y } .
    • Set I 1 I D y = I 1 I D x .
    • For i = 1 to l, compute I 2 , k i I D y = R K I D x I D y I 2 , k i I D x + e 4 , i .
    • Set I I D y = { I 1 I D y , { I 2 , k i I D y } 1 i l } .
    • Upload ( C I D y , I I D y , I D y ) to CS.
    PS computes an independent re-encrypted ciphertext and re-encrypted index for each DU. Moreover, the difficulty for an adversary to compute the re-encryption key from the ciphertext (or index) and the re-encrypted ciphertext (or re-encrypted index) is equivalent to solving the LWE problem.
  • ( T K , I D )  TokenGen( P P , I D , S K I D , τ )
    Taking a keyword-search policy τ and the private key S K I D , the user I D can compute the search token T K by the following steps:
    • Compute A I D = H 0 ( I D ) Z q n × w .
    • Set A I D = [ A | A I D ] Z q n × ( m + w ) .
    • Compute H I D = H 1 ( I D ) Z q n × n .
    • According to  τ , generate invertible matrices { T τ , k i { 1 , 0 , 1 } n × n } k i τ . The detail of how to generate { T τ , k i } k i τ is described in Section 2.6.
    • For i = 1 to l,
      (a)
      if k i τ , then perform the following steps:
      • Compute H k i = H 2 ( k i ) Z q n × n .
      • Compute the inverse matrix H k i 1 of H k i , such that H k i 1 · H k i = I n , where I n is an identity matrix.
      • Perform SampleD( R I D , A I D , H I D , H k i 1 T τ , k i u , σ ) to get w k i such that A I D w k i = H k i 1 T τ , k i u .
    • Set the search token T K = ( τ , { w k i } k i τ ) .
    • Send ( T K , I D ) to CS.
    In the proposed scheme, DU can generate tokens since it has a trapdoor specific to its public key A I D . Therefore, KGC does not need to stay online to assist in generating tokens. On the other hand, through the method mentioned in Section 2.6, if a keyword set { k 1 , k 2 , , k o } can exactly satisfy the keyword-search policy τ , then i = 1 o T τ , k i = I n . Therefore, TK generated by the TokenGen algorithm will make the following equation hold: i = 1 o w k i A I D H k i = i = 1 o ( A I D w k i ) H k i = i = 1 o u T τ , k i H k i 1 H k i = i = 1 o u T τ , k i = u .
  • ( C I D or ) Search ( P P , T K , I D , ( C I D , I I D ) )
    Given T K , I D , and ( C I D , I I D ) , CS checks whether T K matches I I D by the following steps:
    • According to the keyword-search policy τ , for any keyword set { k 1 , k 2 , , k o } exactly satisfying τ , CS performs the following steps:
      (a)
      Set z = 0 .
      (b)
      for i = 1 to l,
      • if k i { k 1 , k 2 , , k o } ,
        • compute z = z + w k i I 2 , k i I D .
      (c)
      Compute f = | z I 1 I D | .
      (d)
      If f < q 4 , send C I D to DU.
    • Return ⊥ to DU, if there are no matching search results.
    By choosing appropriate parameter values, the size of the error term should be between q / 4 and q / 4 . Therefore, if the search token matches the index, the search result f should be less than q / 4 .
  • ( μ )  Dec( P P , S K I D , C I D )
    With the ciphertext C I D and private key S K I D , the user ID can decrypt C I D by the following steps:
    • Compute μ = | C 1 I D x I D C 2 I D | .
    • If μ < q 4 , return μ = 0 ; otherwise return μ = 1 .
    By choosing appropriate parameter values, the size of the error term should be between q / 4 and q / 4 . Therefore, if the decrypted result μ is less than q / 4 , the plaintext should be 0. Note that while DU may compute x I D with the trapdoor R I D , we recommend DU to store x I D . Because computing it requires a  SampleD operation, storing x I D can reduce the computation cost for decryption.

4.2. Correctness

  • Correctness in Search
    Suppose i = 1 o T τ , k i = I n , which means that the keyword set { k 1 , k 2 , , k o } can exactly satisfy the keyword-search policy τ . Note that I n is an identity matrix.
    f = | z I 1 I D | = | i = 1 o w k i I 2 , k i I D I 1 I D | = | i = 1 o ( w k i A I D H k i v + w k i e 4 , i ) ( u v + e 3 ) | = | i = 1 o u T τ , k i H k i 1 H k i v + i = 1 o w k i e 4 , i u v e 3 | = | i = 1 o u T τ , k i v + i = 1 o w k i e 4 , i u v e 3 | = | u v + i = 1 o w k i e 4 , i u v e 3 | = | i = 1 o w k i e 4 , i e 3 error term |
    For the correctness of the search result, the absolute value of the error term must be less than q / 4 .
  • Correctness in Decryption
    μ = | C 1 I D x C 2 I D | = | ( u s + μ q 2 + e 1 ) ( x A I D s + x e 2 ) | = | u s + μ q 2 + e 1 u s x e 2 | = | μ q 2 + e 1 x e 2 error term |
    For the correctness of the decryption result, the absolute value of the error term must be less than q / 4 .

5. Security Proofs

The proposed scheme is IND-CPA secure in ciphertext security and IND-CKA secure in keyword-search security based on the D-LWE assumption defined in Section 2.4. Proof by contradiction is used to prove that the proposed scheme achieves IND-CPA security and IND-CKA security. This section presents the details of security proofs.

5.1. Ciphertext Security

Theorem 1.
The proposed scheme is IND-CPA secure in ciphertext security based on the D-LWE assumption.
Proof. 
If there exists an adversary A that can win the IND-CPA game defined in Section 2.8.1 with a non-negligible advantage in polynomial time, then the simulator S can break the D-LWE assumption with A by simulating the following game.
  • Init : A gives a target identity I D * to S . S chooses two integers ( m , w ) and sets m = m + w . Then S receives ( 1 + m + w ) samples ( u 0 , v 0 ) , ( u 1 , v 1 ) , ( u 2 , v 2 ) , , ( u m + w , v m + w ) from the D-LWE oracle O , where each ( u i , v i ) ( Z q n × Z q ) .
  • Setup :
    S chooses λ and runs Setup ( λ ) algorithm to generate the following parameters and hash functions ( χ , σ , q , n , l , K W = { k i } 1 i l , H 0 , H 1 , H 2 ) .
    S sets u = u 0 , A 0 = [ u 1 | u 2 | | u m ] Z q n × m , and A 1 = [ u m + 1 | u m + 2 | | u m ] Z q n × w . Note that m = m + w .
    S computes an invertible matrix H and a small matrix R such that A 1 = A 0 R + H G , where G Z q n × w is a gadget matrix defined in Section 2.5.
    S sets M S K = R , A = [ A 0 | A 1 ] , and P P = ( χ , σ , q , n , m , l , w , K W , H 2 , A , u ) .
    Finally, S sends P P to A .
  • Phase 1 : A may adaptively issue the following queries.
    H 0  query: A gives an identity I D to S .
    *
    If I D I D * , S computes A I D = H 0 ( I D ) Z q n × w and sends it to A .
    *
    If I D = I D * , S sets A I D * = [ u m + 1 | u m + 2 | | u m + w ] Z q n × w and sends A I D * to A .
    H 1  query: A gives an identity I D to S .
    *
    If I D I D * , S computes H I D = H 1 ( I D ) Z q n × n and sends it to A .
    *
    If I D = I D * ,
    ·
    if H I D * exists, S returns H I D * to A .
    ·
    else, S computes an invertible matrix H I D * and a small matrix R I D * such that A R I D * = H I D * G A I D * . S stores H I D * and sends it to A .
    KeyGen query: A gives an identity I D to S .
    *
    If I D I D * ,
    ·
    if S K I D exists, S returns S K I D to A .
    ·
    else, S runs KeyGen ( P P , M S K , I D ) to generate S K I D . S stores S K I D and sends it to A .
    *
    If I D x = I D * , S aborts it.
    Re-KeyGen query: A gives DO’s identity I D x and DU’s indetiy I D y to S .
    *
    If I D x I D * , S runs Re-KeyGen( P P , I D x , I D y , S K I D x ) to generate R K I D x I D y and sends it to A .
    *
    If I D x = I D * , S aborts it.
  • Challenge : A submits two different messages μ 0 , μ 1 { 0 , 1 } to S . S performs the following steps:
    S randomly chooses b { 0 , 1 } .
    S computes C 1 I D * = v 0 + μ b q 2 Z q .
    S sets C 2 I D * = [ v 1 , v 2 , , v m + w ] Z q m + w .
    S sets the ciphertext C I D * = { C 1 I D * , C 2 I D * } and sends it to A .
  • Phase 2 : A may do more queries as in Phase 1 .
  • Guess : A answers a bit b to S . If b = b , S answers the D-LWE assumption that the samples are from the noisy pseudo-random sampler O s . Otherwise, S answers that the samples are from the truly random sampler O $ .
If the samples from the D-LWE assumption are generated from O s , the ciphertext C I D * will be:
C 1 I D * = v 0 + μ b q 2 = u 0 s + μ b q 2 + e 0 = u s + μ b q 2 + e 0
C 2 I D * = [ v 1 , v 2 , , v m + w ] = [ [ u 1 , , u m ] | [ u m + 1 , , u m ] | [ u m + 1 , , u m + w ] ] s + [ e 1 , e 2 , , e m + w ] = [ [ A 0 | A 1 ] | A I D * ] s + [ e 1 , e 2 , , e m + w ] = [ A | A I D * ] s + [ e 1 , e 2 , , e m + w ] = [ A I D * ] s + [ e 1 , e 2 , , e m + w ]
Therefore, the ciphertext simulated by S will conform to the format of the proposed scheme. If A has a non-negligible advantage ϵ to win the IND-CPA game defined in Section 2.8.1, the probability that A can correctly guess b is ( 1 2 + ϵ ) .
Otherwise, if the samples are from O $ , then the ciphertext C I D * is uniformly random. In this case, the probability that A can correctly guess b is 1 2 .
Thus, the advantage for S to break the D-LWE assumption is
P r [ A O s = 1 ] P r [ A O $ = 1 ] = ( 1 2 + ϵ ) 1 2 = ϵ
Therefore, if A has an advantage ϵ to win the IND-CPA game, then S has an advantage ϵ to break the D-LWE assumption in polynomial time. Since the D-LWE assumption is a hard problem, the proposed scheme achieves IND-CPA security.  □

5.2. Keyword-Search Security

Theorem 2.
The proposed scheme is IND-CKA secure in keyword-search security based on the D-LWE assumption.
Proof. 
If there exists an adversary A that can win the IND-CKA game defined in Section 2.8.2 with a non-negligible advantage in polynomial time, then the simulator S can break the D-LWE assumption with A by simulating the following game.
  • Init : A gives a target identity I D * and two target keywords ( k 0 , k 1 ) to S .
    S randomly chooses b { 0 , 1 } and will use k b for the challenge.
    S chooses two integers ( m , w ) and sets m = m + w . Then S receives ( 1 + m + w ) samples ( u 0 , v 0 ) , ( u 1 , v 1 ) , ( u 2 , v 2 ) , , ( u m + w , v m + w ) from the D-LWE oracle O , where each ( u i , v i ) ( Z q n × Z q ) .
  • Setup :
    S chooses λ and runs Setup ( λ ) algorithm to generate the following parameters and hash functions ( χ , σ , q , n , l , K W = { k i } 1 i l , H 0 , H 1 , H 2 ) .
    S sets u = u 0 , B 0 = [ u 1 | u 2 | | u m ] Z q n × m , and B 1 = [ u m + 1 | u m + 2 | | u m ] Z q n × w . Note that m = m + w .
    S computes H k b = H 2 ( k b ) Z q n × n and its inverse matrix H k b 1 . Then S stores H k b 1 .
    S computes the following matrices:
    *
    A 0 = H k b 1 B 0 ,
    *
    A 1 = H k b 1 B 1 .
    Note that B 0 = H k b A 0 , and B 1 = H k b A 1 .
    S computes an invertible matrix H and a small matrix R such that A 1 = A 0 R + H G , where G Z q n × w is a gadget matrix defined in Section 2.5.
    S sets M S K = R , A = [ A 0 | A 1 ] , and P P = ( χ , σ , q , n , m , l , w , K W , H 2 , A , u ) .
    Finally, S sends P P to A .
  • Phase 1 : A may adaptively issue the following queries.
    H 0  query: A gives an identity I D to S .
    *
    If I D I D * , S computes A I D = H 0 ( I D ) Z q n × w and sends it to A .
    *
    If I D = I D * , S sets B I D * = [ u m + 1 | u m + 2 | | u m + w ] Z q n × w . Then, S computes A I D * = H k b 1 B I D * and sends A I D * to A .
    H 1  query: A gives an identity I D to S .
    *
    If I D I D * , S computes H I D = H 1 ( I D ) Z q n × n and sends it to A .
    *
    If I D = I D * ,
    ·
    if H I D * exists, S returns H I D * to A .
    ·
    else, S computes an invertible matrix H I D * and a small matrix R I D * such that A R I D * = H I D * G A I D * . S sets S K I D * = R I D * and stores it. Finally, S stores H I D * and sends it to A .
    KeyGen query: A gives an identity I D to S .
    *
    If I D I D * ,
    ·
    if S K I D exists, S returns S K I D to A .
    ·
    else, S runs KeyGen ( P P , M S K , I D ) to generate S K I D . S stores S K I D and sends it to A .
    *
    If I D x = I D * , S aborts it.
    Re-KeyGen query: A gives DO’s identity I D x and DU’s indetiy I D y to S .
    *
    If I D x I D * , S runs Re-KeyGen( P P , I D x , I D y , S K I D x ) to generate R K I D x I D y and sends it to A .
    *
    If I D x = I D * , S aborts it.
    TokenGen query: A gives an identity I D and a keyword-search policy τ to S .
    *
    If ( I D = I D * and ( τ contains k 0 or k 1 )), S aborts it.
    *
    Else, S runs TokenGen ( P P , I D , S K I D , τ ) to generate T K . Then S sends ( T K , I D ) to A .
  • Challenge : A submits a signal to start the Challenge phase. S performs the following steps:
    S sets I 1 I D * = v 0 Z q .
    S sets I 2 , k b I D * = [ v 1 , v 2 , , v m + w ] Z q m + w .
    S sets the index I I D * = { I 1 I D * , I 2 , k b I D * } and sends it to A .
  • Phase 2 : A may do more queries as in Phase 1 .
  • Guess : A answers a bit b to S . If b = b , S answers the D-LWE assumption that the samples are from the noisy pseudo-random sampler O s . Otherwise, S answers that the samples are from the truly random sampler O $ .
If the samples from the D-LWE assumption are generated from O s , the index I I D * will be:
I 1 I D * = v 0 = u 0 s + e 0 = u s + e 0
I 2 , k b I D * = [ v 1 , v 2 , , v m + w ] = [ [ u 1 , , u m ] | [ u m + 1 , , u m ] | [ u m + 1 , , u m + w ] ] s + [ e 1 , e 2 , , e m + w ] = [ B 0 | B 1 | B I D * ] s + [ e 1 , e 2 , , e m + w ] = [ ( H k b A 0 ) | ( H k b A 1 ) | ( H k b A I D * ) ] s + [ e 1 , e 2 , , e m + w ] = ( H k b [ A 0 | A 1 | A I D * ] ) s + [ e 1 , e 2 , , e m + w ] = [ A 0 | A 1 | A I D * ] H k b s + [ e 1 , e 2 , , e m + w ] = [ A | A I D * ] H k b s + [ e 1 , e 2 , , e m + w ] = [ A I D * ] H k b s + [ e 1 , e 2 , , e m + w ]
Therefore, the index simulated by S will conform to the format of the proposed scheme. If A has a non-negligible advantage ϵ to win the IND-CKA game defined in Section 2.8.2, the probability that A can correctly guess b is ( 1 2 + ϵ ) .
Otherwise, if the samples are from O $ , then the index I I D * is uniformly random. In this case, the probability that A can correctly guess b is 1 2 .
Thus, the advantage for S to break the D-LWE assumption is
P r [ A O s = 1 ] P r [ A O $ = 1 ] = ( 1 2 + ϵ ) 1 2 = ϵ
Therefore, if A has an advantage ϵ to win the IND-CKA game, then S has an advantage ϵ to break the D-LWE assumption in polynomial time. Since the D-LWE assumption is a hard problem, the proposed scheme achieves IND-CKA security.  □

6. Comparison

Table 2 shows the features comparison between the proposed scheme and the schemes introduced in Section 3. Moreover, this section presents a performance comparison of the proposed scheme with other lattice-based searchable encryption schemes. Because some schemes use one-bit plaintext or one recipient to illustrate their schemes, it is not easy to make a completely fair comparison. For fairness, the plaintext in all schemes is set as a one-bit message, and the number of receivers is 1. Moreover, values that do not specify the meaning of parameters in all schemes will be set to m. The notations used for comparison are shown in Table 3.

6.1. Transmission Cost

We compare the ciphertext size, index size, and token size with other lattice-based schemes. The transmission cost of the schemes are shown in Table 4.
  • Ciphertext size: Since the proposed scheme uses DelTrap to achieve ID-based features, the ciphertext size requires ( m + w + 1 ) log q bits. On the other hand, all users use the same key for decryption in [20], so its ciphertext size can be shorter than other schemes. Moreover, [19,27,29,30] do not provide or detail the decryption phase.
  • Index size: The proposed scheme supports multi-keyword search, which requires a multiple of l more index sizes. Therefore, the index size of the proposed scheme is ( l ( m + w ) + 1 ) log q .
  • Token size: The proposed scheme supports multi-keyword search, which requires a multiple of l more token sizes. Therefore, the token size of the proposed scheme is l ( m + w ) log q .
To compare, one can consider comparing single-keyword searches. One can set l = 1 and w = m . Then, in the proposed scheme, the ciphertext size is ( 2 m + 1 ) log q , the index size is ( 2 m + 1 ) log q , and the token size is 2 m log q . In this case, the proposed scheme is only slightly worse than [19,29] in the part of the token size. Therefore, the proposed scheme has a good performance in transmission cost.
Table 4. Comparison of Transmission Cost.
Table 4. Comparison of Transmission Cost.
Ciphertext SizeIndex SizeToken Size
Wang et al. [27] ( l m + 3 m ) log q m 2 log q
Liu et al. [17] ( 2 m s + 1 ) log q ( 2 l m + l ) log q 2 m log q
Varri et al. [20] ( 2 m + n ) log q ( 2 l m + n s ) log q 2 m log q
Chen [21] ( m s + 1 ) log q ( m s + ζ ) log q ( m s ζ ) log q
Wang [22] ( m s + 1 ) log q ( m s + ζ ) log q ( m s ζ + l ) log q
Zhang et al. [19] ( 1 + 2 m ) log q m log q
Wang et al. [18] ( 1 + m + s m ) log q ( m + s m + ζ ) log q 2 ζ m log q
Zhang et al. [29] ( 2 n + 2 ) log q m log q
Hou et al. [30] ( N ) 2 ( log q ) ( N ) 2 ( log q )
Ours ( m + w + 1 ) log q ( l ( m + w ) + 1 ) log q l ( m + w ) log q
✗ indicates that the scheme does not provide or detail the part.

6.2. Computation Cost

We compare the costs of “Encryption plus Index”, Decryption, TokenGen, and Search with other lattice-based schemes. The details of computation cost are shown in Table 5 and Table 6. For fairness, we compare the amount of T m u l required for matrix multiplication in each scheme, where T m u l denotes the computation cost of a multiplication operation in Z q . T i n v denotes the cost of computing an inverse matrix. T H and T f l a denote the cost of running a hash function and a Flatten operation, respectively. T b d , T s d , T s p , and T s l denote the costs of running algorithms BasisDel, SampleD, SamplePre, and SampleLeft, respectively. T d e c F H E denotes the decryption cost of fully homomorphic encryption. T l s s s denotes the cost of computing an integer coefficient set in LSSS.
To compare, one can consider comparing single-keyword searches. One can set l = 1 and w = m . Then, in the proposed scheme, the Encryption cost is 2 T H + ( 4 m n + 2 n ) T m u l , the Decryption cost is 2 m T m u l , the TokenGen cost is 3 T H + T i n v + T s d + 2 n 2 T m u l , and the Search cost is 2 m T m u l . In this case, the proposed scheme has good performance in Decryption and Search costs but a higher cost in Encryption and TokenGen costs.

6.3. Summary

Compared with other schemes, the proposed scheme has good performance in transmission cost. Although the proposed scheme has a slightly higher computation cost than other schemes in the case of a single-keyword search, the proposed scheme is the first to simultaneously support multi-keyword search, identity-based encryption, proxy re-encryption, and offline KGC. Furthermore, it verifies the user’s access rights during the decryption phase and the search phase. In addition, as the number of DUs increases, the costs required for DO remain the same, and PS will handle the increased workload.
On the other hand, the type-2 trapdoor has smaller n and m than the type-1 trapdoor. Our scheme uses the type-2 trapdoor, but other schemes [19,21,22,29] use the type-1 trapdoor BasisDel , which does not increase dimension when generating new basis. If they use the type-1 trapdoor, then the comparison results will change. Therefore, the efficiency of the proposed scheme will be relatively better in reality.

7. Conclusions

In this research, a multi-keyword searchable identity-based proxy re-encryption scheme from lattices has been proposed. First, based on the D-LWE assumption, the proposed scheme can resist quantum attacks. Second, it provides multi-keyword searchability with AND and OR operators, increasing the flexibility of keyword searches. Third, KGC in the proposed scheme can be offline, avoiding the risk of being attacked by adversaries through the network. Fourth, the proposed scheme supports PRE to reduce file-sharing costs of the data owner. The costs of the data owner will remain the same as the number of data users increases. Fifth, to prevent illegal access to files, the user’s access rights are verified in both the search and decryption phases. Finally, the proposed scheme is identity-based, avoiding the cost of using certificates.
Compared with other schemes, the proposed scheme has good performance in transmission cost. Although the proposed scheme has a slightly higher computation cost than other schemes in the case of a single-keyword search, the proposed scheme supports multi-keyword search, increasing the flexibility of keyword searches. In addition, the cost of the data owner does not increase with the number of data users. In the future, we will try to reduce the transmission and computation costs of the proposed scheme. Furthermore, future research will be designing a new multi-keyword mechanism that supports threshold operations.

Author Contributions

Conceptualization, all authors; methodology, E.-S.Z.; software, E.-S.Z.; validation, all authors; formal analysis, all authors; investigation, E.-S.Z.; resources, E.-S.Z.; data curation, E.-S.Z.; writing—original draft preparation, E.-S.Z.; writing—review and editing, C.-I.F.; visualization, E.-S.Z.; supervision, C.-I.F.; project administration, C.-I.F.; funding acquisition, C.-I.F. All authors have read and agreed to the published version of the manuscript.

Funding

This work was partially supported by the National Science and Technology Council (NSTC) of Taiwan under grants 112-2634-F-110-001-MBK and 110-2923-E-110-001-MY3. It also was financially supported by the Information Security Research Center at National Sun Yat-sen University in Taiwan and the Intelligent Electronic Commerce Research Center from The Featured Areas Research Center Program within the framework of the Higher Education Sprout Project by the Ministry of Education (MOE) in Taiwan.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

    The following abbreviations are used in this manuscript:
IBEIdentity-Based Encryption
ABEAttribute-Based Encryption
SPESubset-Predicate Encryption
PREProxy Re-Encryption
SESearchable Encryption
LWELearning With Error
D-LWEDecisional Learning with Errors
ISISInhomogeneous Short Integer Solution
KGCKey Generation Center
DOData Owner
DUData User
PSProxy Server
CSCloud Server
IND-CPAINDistinguishability under Chosen Plaintext Attacks
IND-CKAINDistinguishability under Chosen Keyword Attacks
LSSSLinear Secret Sharing Scheme
NISTthe National Institute of Standards and Technology

Appendix A

Here, the proposed scheme is presented in pseudo-code to make the algorithms easier to understand.
Algorithm A1 Setup
Require: A security parameter λ .
Ensure: The public parameters P P and the master secret key M S K .
 1:
Select a Gaussian distribution χ , a Gaussian parameter σ , a prime q, and four integers n, m , l, and w, a keyword set K W = { k i } 1 i l , a random matrix A 0 , an invertible matrix H , a random vector u .
 2:
Set m = m + w .
 3:
Select three hash functions H 0 : { 0 , 1 } * Z q n × w , H 1 : { 0 , 1 } * Z q n × n , and H 2 : { 0 , 1 } * Z q n × n , where the output of H 1 or H 2 is an invertible matrix.
 4:
Generate a matrix A = [ A 0 | A 0 R + H G ] and a corresponding trapdoor R of Λ q ( A ) by performing GenTrap ( A 0 , H ) .
 5:
Set P P = ( χ , σ , q , n , m , l , w , K W = { k i } 1 i l , A , H 0 , H 1 , H 2 , u ) .
 6:
Set M S K = R .
 7:
Return ( P P , M S K ) .
Algorithm A2 KeyGen
Require:  P P , M S K , the user’s I D .
Ensure: The private key S K I D .
 1:
Compute A I D = H 0 ( I D ) Z q n × w .
 2:
Set A I D = [ A | A I D ] .
 3:
Compute H I D = H 1 ( I D ) Z q n × n .
 4:
Generate R I D = DelTrap ( A I D , R , H I D , σ ) so that A R I D = H I D .
 5:
Compute x I D = SampleD ( R I D , A I D , H I D , u , σ ) so that A I D x I D = u .
 6:
Set SK I D = { R I D , x I D } .
 7:
Return ( SK I D ) .
Algorithm A3 Re-KeyGen
Require:  P P , S K I D x , the user’s I D x , the delegate’s I D y .
Ensure: The re-encryption key R K I D x I D y .
 1:
Compute A I D x = H 0 ( I D x ) .
 2:
Set A I D x = [ A | A I D x ] .
 3:
Compute A I D y = H 0 ( I D y ) .
 4:
Set A I D y = [ A | A I D y ] .
 5:
Compute H I D x = H 1 ( I D x ) .
 6:
Compute R I D x I D y = SampleD ( R I D x , A I D x , H I D x , A I D y , σ ) so that A I D x R I D x I D y = A I D y .
 7:
Set R K I D x I D y = R I D x I D y .
 8:
Return R K I D x I D y .
Algorithm A4 Encrypt
Require:  P P , a one-bit message  μ { 0 , 1 } , a keyword set K W I D x K W = { k i } 1 i l , and DO’s identity I D x .
Ensure: The ciphertext C I D x , the index I I D x , I D x , and DUs’ identities I D s .
 1:
Compute A I D x = H 0 ( I D x )
 2:
Set A I D x = [ A | A I D x ] .
 3:
Sample noises e 1 , e 2 , e 3 .
 4:
for  i = 1 to l do
 5:
    Sample a noise e 4 , i .
 6:
end for
 7:
Select two vectors  s , v .
 8:
Compute C 1 I D x = u s + μ q 2 + e 1 .
 9:
Compute C 2 I D x = A I D x s + e 2 .
10:
Set C I D x = { C 1 I D x , C 2 I D x } .
11:
Compute I 1 I D x = u v + e 3 Z q .
12:
for  i = 1 to l do
13:
    if  k i K W I D x  then
14:
        Generate a random matrix I 2 , k i I D x .
15:
    else
16:
        Compute H k i = H 2 ( k i ) .
17:
         I 2 , k i I D x = A I D x H k i v + e 4 , i .
18:
    end if
19:
end for
20:
Set I I D x = { I 1 I D x , { I 2 , k i I D x } 1 i l } .
21:
Choose I D s.
22:
Return ( ( C I D x , I I D x , I D x ), I D s)
Algorithm A5 Re-Enc
Require:  ( C I D x , I I D x , I D x ), I D y , and a re-encryption key R K I D x I D y
Ensure: The re-encrypted ciphertext C I D y , the re-encrypted index I I D y , and I D y .
 1:
Sample a noise e 2 .
 2:
for  i = 1 to l do
 3:
    Sample a noise e 4 , i .
 4:
end for
 5:
Set C 1 I D y = C 1 I D x .
 6:
Compute C 2 I D y = R K I D x I D y C 2 I D x + e 2
 7:
Set C I D y = { C 1 I D y , C 2 I D y } .
 8:
Set I 1 I D y = I 1 I D x .
 9:
for  i = 1 to l do
10:
    Compute I 2 , k i I D y = R K I D x I D y I 2 , k i I D x + e 4 , i .
11:
end for
12:
Set I I D y = { I 1 I D y , { I 2 , k i I D y } 1 i l } .
13:
Return ( C I D y , I I D y , I D y )
Algorithm A6 TokenGen
Require:  P P , S K I D , I D , R I D , and a keyword-search policy τ .
Ensure: A search token T K and I D .
 1:
Compute A I D = H 0 ( I D ) .
 2:
Set A I D = [ A | A I D ]
 3:
Compute H I D = H 1 ( I D )
 4:
Generate invertible matrices { T τ , k i } k i τ according to  τ .
 5:
for  i = 1 to l do
 6:
    if  k i τ  then
 7:
        Compute H k i = H 2 ( k i ) .
 8:
        Compute T k i = T τ , k i u .
 9:
        Compute T k i = H k i 1 T τ , k i .
10:
        Compute w k i = SampleD ( R I D , A I D , H I D , T k i , σ ) so that A I D w k i = H k i 1 T τ , k i u .
11:
    end if
12:
end for
13:
Set T K = ( τ , { w k i } k i τ ) .
14:
Return ( T K , I D ) .
Algorithm A7 Search
Require:  P P , T K , I D , and ( C I D , I I D ) .
Ensure:  C I D or ⊥.
 1:
for any keyword set { k 1 , k 2 , , k o } exactly satisfying τ  do
 2:
    Set z = 0 .
 3:
    for  i = 1 to l do
 4:
        if  k i { k 1 , k 2 , , k o }  then
 5:
           Compute z = z + w k i I 2 , k i I D .
 6:
        end if
 7:
    end for
 8:
    Compute f = | z I 1 I D | .
 9:
    if  f < q 4  then
10:
        Return C I D .
11:
    end if
12:
end for
13:
Return ⊥.
Algorithm A8 Dec
Require:  P P , S K I D , and C I D .
Ensure:  μ .
 1:
Compute μ = | C 1 I D x I D C 2 I D | .
 2:
if  μ < q 4 then
 3:
    Set μ = 0 .
 4:
else
 5:
    Set μ = 1 .
 6:
end if
 7:
Return ( μ ) .

References

  1. Shamir, A. Identity-based cryptosystems and signature schemes. In Proceedings of the Workshop on the Theory and Application of Cryptographic Techniques, Paris, France, 9–11 April 1984; Springer: Berlin/Heidelberg, Germany, 1984; pp. 47–53. [Google Scholar]
  2. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  3. Katz, J.; Maffei, M.; Malavolta, G.; Schröder, D. Subset predicate encryption and its applications. In Proceedings of the Cryptology and Network Security: 16th International Conference, CANS 2017, Hong Kong, China, 30 November–2 December 2017; Springer: Berlin/Heidelberg, Germany, 2018; pp. 115–134. [Google Scholar]
  4. Blaze, M.; Bleumer, G.; Strauss, M. Divertible protocols and atomic proxy cryptography. In Proceedings of the Advances in Cryptology—EUROCRYPT’98: International Conference on the Theory and Application of Cryptographic Techniques, Espoo, Finland, 31 May–4 June 1998; Springer: Berlin/Heidelberg, Germany, 1998; pp. 127–144. [Google Scholar]
  5. Green, M.; Ateniese, G. Identity-based proxy re-encryption. In Proceedings of the Applied Cryptography and Network Security: 5th International Conference, ACNS 2007, Zhuhai, China, 5–8 June 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 288–306. [Google Scholar]
  6. Liang, X.; Cao, Z.; Lin, H.; Shao, J. Attribute based proxy re-encryption with delegating capabilities. In Proceedings of the 4th International Symposium on Information, Computer, and Communications Security, Sydney, Australia, 10–12 March 2009; pp. 276–286. [Google Scholar]
  7. Song, D.X.; Wagner, D.; Perrig, A. Practical techniques for searches on encrypted data. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, S&P, Berkeley, CA, USA, 14–17 May 2000; IEEE: Piscataway, NJ, USA, 2000; pp. 44–55. [Google Scholar]
  8. Boneh, D.; Di Crescenzo, G.; 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; Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar]
  9. Hwang, Y.H.; Lee, P.J. Public key encryption with conjunctive keyword search and its extension to a multi-user system. In Proceedings of the Pairing-Based Cryptography–Pairing 2007: First International Conference, Tokyo, Japan, 2–4 July 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 2–22. [Google Scholar]
  10. Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 November 1994; IEEE: Piscataway, NJ, USA, 1994; pp. 124–134. [Google Scholar]
  11. Bos, J.; Ducas, L.; Kiltz, E.; Lepoint, T.; Lyubashevsky, V.; Schanck, J.M.; Schwabe, P.; Seiler, G.; Stehlé, D. CRYSTALS-Kyber: A CCA-secure module-lattice-based KEM. In Proceedings of the 2018 IEEE European Symposium on Security and Privacy (EuroS&P), London, UK, 24–26 April 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 353–367. [Google Scholar]
  12. Ajtai, M. Generating hard instances of lattice problems. In Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, Hiladelphia, PA, USA, 22–24 May 1996; pp. 99–108. [Google Scholar]
  13. Hoffstein, J.; Pipher, J.; Silverman, J.H. NTRU: A ring-based public key cryptosystem. In Proceedings of the International Algorithmic Number Theory Symposium, Burlington, VT, USA, 13–18 June 2004; Springer: Berlin/Heidelberg, Germany, 1998; pp. 267–288. [Google Scholar]
  14. Regev, O. On lattices, learning with errors, random linear codes, and cryptography. In Proceedings of the Thirty-Seventh Annual ACM Symposium on Theory of Computing, Baltimore, MD, USA, 22–24 May 2005; pp. 84–93. [Google Scholar]
  15. Boyen, X. Attribute-based functional encryption on lattices. In Proceedings of the Theory of Cryptography Conference, Tokyo, Japan, 3–6 March 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 122–142. [Google Scholar]
  16. Singh, K.; Rangan, C.P.; Banerjee, A. Lattice based identity based unidirectional proxy re-encryption scheme. In Proceedings of the International Conference on Security, Privacy, and Applied Cryptography Engineering, Pune, India, 18–22 October 2004; Springer: Berlin/Heidelberg, Germany, 2014; pp. 76–91. [Google Scholar]
  17. Liu, L.; Wang, S.; He, B.; Zhang, D. A keyword-searchable abe scheme from lattice in cloud storage environment. IEEE Access 2019, 7, 109038–109053. [Google Scholar] [CrossRef]
  18. Wang, P.; Chen, B.; Xiang, T.; Wang, Z. Lattice-based public key searchable encryption with fine-grained access control for edge computing. Future Gener. Comput. Syst. 2022, 127, 373–383. [Google Scholar] [CrossRef]
  19. Zhang, X.; Tang, Y.; Wang, H.; Xu, C.; Miao, Y.; Cheng, H. Lattice-based proxy-oriented identity-based encryption with keyword search for cloud storage. Inf. Sci. 2019, 494, 193–207. [Google Scholar] [CrossRef]
  20. Varri, U.S.; Pasupuleti, S.K.; Kadambari, K. CP-ABSEL: Ciphertext-policy attribute-based searchable encryption from lattice in cloud storage. Peer Peer Netw. Appl. 2021, 14, 1290–1302. [Google Scholar] [CrossRef]
  21. Chen, X.J. Lattice-Based Searchable Attribute-Based Encryption Supporting Dynamic Membership Management. Master’s Thesis, National Sun Yet-sen University, Kaohsiung, Taiwan, 2021. [Google Scholar]
  22. Wang, D.R. Multi-Keyword Searchable Attribute-Based Encryption Supporting Dynamic Membership Management from Lattices. Master’s Thesis, National Sun Yet-sen University, Kaohsiung, Taiwan, 2022. [Google Scholar]
  23. Regev, O. On lattices, learning with errors, random linear codes, and cryptography. J. ACM 2009, 56, 1–40. [Google Scholar] [CrossRef]
  24. Micciancio, D.; Peikert, C. Trapdoors for lattices: Simpler, tighter, faster, smaller. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cambridge, UK, 15–19 April 2012; Springer: Berlin/Heidelberg, Germany, 2012; pp. 700–718. [Google Scholar]
  25. Genise, N.; Micciancio, D. Faster Gaussian sampling for trapdoor lattices with arbitrary modulus. In Proceedings of the Advances in Cryptology–EUROCRYPT 2018: 37th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tel Aviv, Israel, 29 April–3 May 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 174–203. [Google Scholar]
  26. Huang, Q.; Yan, G.; Wei, Q. Attribute-based expressive and ranked keyword search over encrypted documents in cloud computing. IEEE Trans. Serv. Comput. 2022, 16, 957–968. [Google Scholar] [CrossRef]
  27. Wang, P.; Xiang, T.; Li, X.; Xiang, H. Public key encryption with conjunctive keyword search on lattice. J. Inf. Secur. Appl. 2020, 51, 102433. [Google Scholar] [CrossRef]
  28. Wang, Y. Lattice Ciphertext Policy Attribute-based Encryption in the Standard Model. Int. J. Netw. Secur. 2014, 16, 444–451. [Google Scholar]
  29. Zhang, E.; Hou, Y.; Li, G. A lattice-based searchable encryption scheme with the validity period control of files. Multimed. Tools Appl. 2021, 80, 4655–4672. [Google Scholar] [CrossRef]
  30. Hou, Y.; Yao, W.; Li, X. A Lattice-Based Semantic Aware Multi-Keyword Searchable Encryption for Multi-User Environments. SSRN 2022. [Google Scholar] [CrossRef]
Figure 1. Example of a Tree-Based Keyword-Search Policy τ .
Figure 1. Example of a Tree-Based Keyword-Search Policy τ .
Mathematics 11 03830 g001
Figure 2. The System Model.
Figure 2. The System Model.
Mathematics 11 03830 g002
Figure 3. Data Flow of The Proposed Scheme.
Figure 3. Data Flow of The Proposed Scheme.
Mathematics 11 03830 g003
Table 1. Notations.
Table 1. Notations.
NotationMeaning
P P Public parameters
λ A security parameter
χ A Gaussian distribution
σ A Gaussian parameter
qA modulo prime number
nThe dimension of a vector space
mThe number of vectors of a basis
lThe number of keywords
wA key generated by DelTrap has w bits
more than the original private key
K W A keyword set
k i The i-th keyword
A 0 A random matrix
A The transpose of a matrix A
H An invertible matrix
u A random vector
H 0 , H 1 , H 2 Hash functions
R A trapdoor of Λ q ( A )
I D A user’s identity
I D sA set of users’ identities
S K I D The private key of I D
μ One-bit message
T K A Search token
τ A keyword-search policy
T τ , k i An invertible matrix belongs to k i and is related to τ
fA flag used to determine search results
Table 2. Features Comparison.
Table 2. Features Comparison.
Quantum
Resistant
Multi-
Keyword
Offline
KGC
Proxy
Re-Encryption
AuthenticationNot
LSSS-Based
Functional
Encryption
DecryptionSearch
[26]  ABE
[27]IBE
[17]ABE
[20]ABE
[21]ABE
[22]ABE
[19]IBE
[18]SPE
[29]
[30]
OursIBE
KGC denotes the key generation center. ABE denotes attribute-based encryption. IBE denotes identity-based encryption. SPE denotes subset predicate encryption.
Table 3. Notations for Comparison.
Table 3. Notations for Comparison.
Meaning
nThe dimension of a vector space
mThe number of vectors of a basis
qA modulo prime number
N N = ( n + 1 ) log q
sThe number of attributes used in ABE
s The number of bits of a set used in SPE
β The number of random values to generate secret shares in LSSS
lThe number of keywords
wA key generated by DelTrap has w bits more than the original private key
ζ A security parameter
Table 5. Comparison of Computation Cost—Part 1.
Table 5. Comparison of Computation Cost—Part 1.
Encryption + IndexDecryption
[27] l T H + ( ( l + 2 ) m n + m ) T m u l
[17] l T H + n ( l + 2 l m + 2 m s + 1 ) T m u l T l s s s + s ( 3 + 4 m ) T m u l
[20] l T H + ( s β + m 2 + 2 l m n + n ) T m u l ( 2 m n + 2 m ) T m u l
[21] ζ T H + ( s β + 1 + n ) + ζ ( 1 + n ) + ( s + 2 m n s ) T m u l m n s T m u l
[22] ζ T H + ( s β + 1 + n ) + ζ ( 1 + n ) + ( s + 2 m n s ) T m u l m n s T m u l
[19] 2 T H + T s p + T i n v + ( 2 n m 2 + m n ) T m u l
[18] ( s m n + ζ n + m n + n ) T m u l 2 m T m u l
[29] T H + ( n 2 + m n + 4 n ) T m u l
[30] T f l a + ( N 3 + N m 2 ) T m u l
Ours ( l + 1 ) T H + ( n ( l + 1 ) ( m + w ) + 2 n ) T m u l ( m + w ) T m u l
✗ indicates that the scheme does not provide or detail the part.
Table 6. Comparison of Computation Cost—Part 2.
Table 6. Comparison of Computation Cost—Part 2.
TokenGen (Trapdoor)Search (Test)
[27] l T H + m T s p ( l + 2 ) m 2 T m u l
[17] T s l 2 l m T m u l
[20] T s l T l s s s + l ( s ( 2 m n + 2 ) ) + 2 m ) T m u l
[21] ζ T H + ζ T s p + T l s s s + ζ s T m u l ζ m n s T m u l
[22] ζ T H + ζ T s p + T l s s s + ( s β + ζ s ) T m u l 2 T l s s s + ζ ( 2 s + m n s + 1 ) T m u l
[19] T H + T b d + T s p T H + ( 2 m n ) T m u l
[18] 2 ζ m T m u l 2 ζ m T m u l
[29] T H + T s p 2 ( n + m 2 + m ) T m u l
[30] T f l a + ( N 3 + N m 2 ) T m u l T d e c F H E
Ours ( l + 2 ) T H + l T i n v + l T s d + 2 n 2 T m u l l ( m + w ) T m u l
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

Zhuang, E.-S.; Fan, C.-I. Multi-Keyword Searchable Identity-Based Proxy Re-Encryption from Lattices. Mathematics 2023, 11, 3830. https://doi.org/10.3390/math11183830

AMA Style

Zhuang E-S, Fan C-I. Multi-Keyword Searchable Identity-Based Proxy Re-Encryption from Lattices. Mathematics. 2023; 11(18):3830. https://doi.org/10.3390/math11183830

Chicago/Turabian Style

Zhuang, Er-Shuo, and Chun-I Fan. 2023. "Multi-Keyword Searchable Identity-Based Proxy Re-Encryption from Lattices" Mathematics 11, no. 18: 3830. https://doi.org/10.3390/math11183830

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