Multi-Keyword Searchable Identity-Based Proxy Re-Encryption from Lattices
Multi-Keyword Searchable Identity-Based Proxy Re-Encryption from Lattices
Article
Multi-Keyword Searchable Identity-Based Proxy Re-Encryption
from Lattices
Er-Shuo Zhuang 1 and Chun-I Fan 1,2,3, *
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.
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 tradi-
tional 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 loga-
rithm 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] pro-
posed a one-way hash function based on the shortest vector problem. In 1997, Goldreich et al., pro-
posed 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
Mathematics 2023, 11, 3830 3 of 27
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 func-
tional 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–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.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.
Mathematics 2023, 11, 3830 4 of 27
2. Preliminaries
The definitions of lattice, trapdoors, and hardness assumptions are shown here. Fur-
thermore, 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 a1 , a2 , ..., am ∈ Zn .
Λ = {∑im=1 xi ai | xi ∈ Z},
Definition 2. Given a prime number q, a basis A = {a1 , a2 , ..., am } ∈ Znq ×m , and a vector
u ∈ Znq .
Three types of lattices are defined as follows:
ρα,c ( L) = ∑ x∈ L ρα,c ( 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.
Definition 5 (D-LWE problem). Given a polynomial number of samples from O . Decide whether
O is Os or O$ .
g> ···
0 0
0 g> ··· 0
G = In ⊗ g> = . ∈ Znq ×w , where w = nk.
.. ..
.. 0 . .
0 ··· 0 g>
R
x = p+ z.
Iw
4. Output x.
0 0
Definition 10. R0 ← DelTrap(A = [A|A1 ], R, H , σ )
0 0
Given a matrix A = [A|A1 ] ∈ Znq ×m × Znq ×w (A1 is an arbitrary matrix), a trapdoor R ∈ Zm ×w of
0
A, an invertible matrix H0 ∈ Znq ×n , and a Gaussian parameter σ. Output a trapdoor R0 of A .
DelTrap will call SampleD repeatedly until getting a trapdoor R0 containing d linearly
0 0
independent vectors [y1 , ..., yd ] such that AR = H G − A1 .
1
Adv I ND−CPA (A) = Pr b0 = b −
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.
1
Adv I ND−CKA (A) = Pr b0 = b −
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.
access structure of the data before generating a search token. The algorithms of his scheme
are shown as follows:
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.
Mathematics 2023, 11, 3830 11 of 27
Table 1. Notations.
Notation Meaning
PP Public parameters
λ A security parameter
χ A Gaussian distribution
σ A Gaussian parameter
q A modulo prime number
n The dimension of a vector space
m The number of vectors of a basis
l The number of keywords
A key generated by DelTrap has w bits
w
more than the original private key
KW A keyword set
ki The i-th keyword
A0 A random matrix
A> The transpose of a matrix A
H An invertible matrix
u A random vector
H0 , H1 , H2 Hash functions
R A trapdoor of Λ⊥
q (A)
ID A user’s identity
IDs A set of users’ identities
SK ID The private key of ID
µ One-bit message
TK A Search token
τ A keyword-search policy
Tτ,ki An invertible matrix belongs to k i and is related to τ
f A flag used to determine search results
0
The concept of re-encryption is to compute a matrix R IDx → IDy so that the matrix A IDx
0
multiplied by R IDx → IDy will be equal to the matrix A IDy . Moreover, the determinant
|R>
IDx → IDy | 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> IDx → IDy |
needs to be small, the difficulty for an adversary to compute an effective re-encryption
key is equivalent to solving the ISIS problem.
• (C IDx , I IDx ) ← Enc(PP, IDx , µ, KWID )
Taking a one-bit message µ ∈ {0, 1} and a keyword set KWIDx ⊆ KW = {k i }1≤i≤l ,
DO encrypts µ with its IDx by the following steps:
1. Compute A IDx = H0 ( IDx ) ∈ Znq ×w .
0 n×(m+w)
2. Set A IDx = [A|A IDx ] ∈ Zq .
3. Sample noises e1 , e3 ∈ χ and e2 , e4,1 , e4,2 , . . . e4,l ∈ χm+w .
4. Choose two secret vectors s, v ∈ Znq .
q
5. Compute C1IDx = u> s + µ 2 + e1 ∈ Zq .
0>
6. Compute C2IDx = A ID x
s + e2 ∈ Zqm+w .
7. Set the ciphertext C IDx = {C1IDx , C2IDx }.
8. Compute I1IDx = u> v + e3 ∈ Zq .
9. For i = 1 to l,
(a) if the keyword k i ∈
/ KWIDx ,
IDx
i. generate a random matrix I2,k ∈ Zm
q
+w .
i
4.2. Correctness
• Correctness in Search
Suppose ∑io=1 Tτ,k0 = In , which means that the keyword set {k01 , k02 , . . . , k0o } can exactly
i
satisfy the keyword-search policy τ. Note that In is an identity matrix.
f = |z − I1ID |
o
= | ∑ w> ID ID
k0 I2,k0 − I1 |
i i
i =1
o
0
= | ∑ (w> > > > >
k0 A ID Hk0 v + wk0 e4,i0 ) − ( u v + e3 )|
i i i
i =1
o o
>
= | ∑ u> Tτ,k0 H−
k0
1
k0 v + ∑ wk0 e4,i0 − u v − e3 |
H> > >
i i i i
i =1 i =1
o o
= | ∑ u> Tτ,k0 v + ∑ w> >
k0 e4,i0 − u v − e3 |
i i
i =1 i =1
o
= |u> v + ∑ w> >
k0 e4,i0 − u v − e3 |i
i =1
o
= | ∑ w>
k0 e4,i0 − e3 |
i
i =1
| {z }
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
0
µ = |C1ID − x> C2ID |
jqk 0>
= |(u> s + µ + e1 ) − (x> A ID s + x> e2 )|
jqk2
= |u> s + µ + e1 − u > s − x > e2 |
2
q
= | µ b c + e1 − x > e2 |
2 | {z }
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.
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 ID ∗ to S . S chooses two integers (m0 , w) and sets m = m0 +
w. Then S receives (1 + m + w) samples (u0 , v0 ), (u1 , v1 ), (u2 , v2 ), . . . , (um+w , vm+w )
from the D-LWE oracle O , where each (ui , vi ) ∈ (Znq × Zq ).
• Setup:
– S chooses λ and runs Setup(λ) algorithm to generate the following parameters
and hash functions (χ, σ, q, n, l, KW = {k i }1≤i≤l , H0 , H1 , H2 ).
Mathematics 2023, 11, 3830 16 of 27
0
– S sets u = u0 , A0 = [u1 |u2 | . . . |um0 ] ∈ Znq ×m , and A1 = [um0 +1 |um0 +2 | . . . |um ] ∈
Znq ×w . Note that m = m0 + w.
– S computes an invertible matrix H and a small matrix R such that A1 = −A0 R +
HG, where G ∈ Znq ×w is a gadget matrix defined in Section 2.5.
– S sets MSK = R, A = [A0 |A1 ], and PP = (χ, σ, q, n, m, l, w, KW, H2 , A, u).
– Finally, S sends PP to A.
• Phase 1: A may adaptively issue the following queries.
– H0 query: A gives an identity ID to S .
* If ID 6= ID ∗ , S computes A ID = H0 ( ID ) ∈ Znq ×w and sends it to A.
* If ID = ID ∗ , S sets A ID∗ = [um+1 |um+2 | . . . |um+w ] ∈ Znq ×w and sends A ID∗
to A.
– H1 query: A gives an identity ID to S .
* If ID 6= ID ∗ , S computes H ID = H1 ( ID ) ∈ Znq ×n and sends it to A.
* If ID = ID ∗ ,
· if H ID∗ exists, S returns H ID∗ to A.
· else, S computes an invertible matrix H ID∗ and a small matrix R ID∗
such that AR ID∗ = H ID∗ G − A ID∗ . S stores H ID∗ and sends it to A.
– KeyGen query: A gives an identity ID to S .
* If ID 6= ID ∗ ,
· if SK ID exists, S returns SK ID to A.
· else, S runs KeyGen( PP, MSK, ID ) to generate SK ID . S stores SK ID
and sends it to A.
* If IDx = ID ∗ , S aborts it.
– Re-KeyGen query: A gives DO’s identity IDx and DU’s indetiy IDy to S .
* If IDx 6= ID ∗ , S runs Re-KeyGen(PP, IDx , IDy , SK IDx ) to generate RK IDx → IDy
and sends it to A.
* If IDx = ID ∗ , 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 C1ID = v0 + µb 2q ∈ Zq .
–
∗
– S sets C2ID = [v1 , v2 , . . . , vm+w ]> ∈ Zmq
+w .
∗ ∗
– S sets the ciphertext C ID∗ = {C1ID , C2ID } and sends it to A.
• Phase 2: A may do more queries as in Phase 1.
0 0
• 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 Os . Otherwise, S answers that
the samples are from the truly random sampler O$ .
If the samples from the D-LWE assumption are generated from Os , the ciphertext C ID∗
will be: jqk
∗
C1ID = v0 + µb
2
> q
= u 0 s + µ b b c + e0
2
q
= u > s + µ b b c + e0
2
Mathematics 2023, 11, 3830 17 of 27
∗
C2ID = [v1 , v2 , . . . , vm+w ]>
= [[u1 , . . . , um0 ]|[um0 +1 , . . . , um ]|[um+1 , . . . , um+w ]] > s + [e1 , e2 , . . . , em+w ]>
= [[A0 |A1 ]|A ID∗ ] > s + [e1 , e2 , . . . , em+w ]>
= [A|A ID∗ ]> s + [e1 , e2 , . . . , em+w ]>
= [A0 ID∗ ]> s + [e1 , e2 , . . . , em+w ]>
Therefore, the ciphertext simulated by S will conform to the format of the proposed
scheme. If A has a non-negligible advantage e to win the IND-CPA game defined in
Section 2.8.1, the probability that A can correctly guess b is ( 12 + e).
Otherwise, if the samples are from O$ , then the ciphertext C ID∗ is uniformly random.
In this case, the probability that A can correctly guess b is 12 .
Thus, the advantage for S to break the D-LWE assumption is
1 1
Pr [ AOs = 1] − Pr [ AO$ = 1] = ( + e) − =e
2 2
Therefore, if A has an advantage e to win the IND-CPA game, then S has an advantage
e 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.
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 ID ∗ and two target keywords (k00 , k01 ) to S .
– S randomly chooses b ∈ {0, 1} and will use k0b for the challenge.
– S chooses two integers (m0 , w) and sets m = m0 + w. Then S receives (1 + m + w)
samples (u0 , v0 ), (u1 , v1 ), (u2 , v2 ), . . . , (um+w , vm+w ) from the D-LWE oracle O ,
where each (ui , vi ) ∈ (Znq × Zq ).
• Setup:
– S chooses λ and runs Setup(λ) algorithm to generate the following parameters
and hash functions (χ, σ, q, n, l, KW = {k i }1≤i≤l , H0 , H1 , H2 ).
0
– S sets u = u0 , B0 = [u1 |u2 | . . . |um0 ] ∈ Znq ×m , and B1 = [um0 +1 |um0 +2 | . . . |um ] ∈
Znq ×w . Note that m = m0 + w.
– S computes Hk0 = H2 (k0b ) ∈ Znq ×n and its inverse matrix H− k0
1
. Then S stores H− k0
1
.
b b b
– S computes the following matrices:
* A0 = H −
k0
1
B0 ,
b
* A1 = H −
k0
1
B1 .
b
Note that B0 = Hk0 A0 , and B1 = Hk0 A1 .
b b
– S computes an invertible matrix H and a small matrix R such that A1 = −A0 R +
HG, where G ∈ Znq ×w is a gadget matrix defined in Section 2.5.
– S sets MSK = R, A = [A0 |A1 ], and PP = (χ, σ, q, n, m, l, w, KW, H2 , A, u).
– Finally, S sends PP to A.
• Phase 1: A may adaptively issue the following queries.
– H0 query: A gives an identity ID to S .
* If ID 6= ID ∗ , S computes A ID = H0 ( ID ) ∈ Znq ×w and sends it to A.
Mathematics 2023, 11, 3830 18 of 27
Therefore, the index simulated by S will conform to the format of the proposed scheme.
If A has a non-negligible advantage e to win the IND-CKA game defined in Section 2.8.2,
the probability that A can correctly guess b is ( 21 + e).
Otherwise, if the samples are from O$ , then the index I ID∗ is uniformly random. In
this case, the probability that A can correctly guess b is 21 .
Thus, the advantage for S to break the D-LWE assumption is
1 1
Pr [ AOs = 1] − Pr [ AO$ = 1] = ( + e) − =e
2 2
Therefore, if A has an advantage e to win the IND-CKA game, then S has an advantage
e 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.
[26] % ! ! % ! ! ! ABE
[27] ! ! ! % % ! ! IBE
[17] ! % % % ! % % ABE
[20] ! % % % % ! % ABE
[21] ! % ! % ! ! % ABE
[22] ! ! ! % ! ! % ABE
[19] ! % ! % % ! ! IBE
[18] ! % ! % ! ! ! SPE
[29] ! % % ! % ! ! %
[30] ! ! % ! % ! ! %
Ours ! ! ! ! ! ! ! IBE
KGC denotes the key generation center. ABE denotes attribute-based encryption. IBE denotes identity-based
encryption. SPE denotes subset predicate encryption.
Meaning
n The dimension of a vector space
m The number of vectors of a basis
q A modulo prime number
N N = (n + 1) log q
s The number of attributes used in ABE
s0 The number of bits of a set used in SPE
Mathematics 2023, 11, 3830 20 of 27
Table 3. Cont.
Meaning
β The number of random values to generate secret shares in LSSS
l The number of keywords
w A key generated by DelTrap has w bits more than the original private key
ζ A security parameter
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 2TH + (4mn +
2n) Tmul , the Decryption cost is 2mTmul , the TokenGen cost is 3TH + Tinv + Tsd + 2n2 Tmul ,
and the Search cost is 2mTmul . 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 trans-
mission 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 trap-
door 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.
Mathematics 2023, 11, 3830 22 of 27
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 searcha-
bility 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 ad-
versaries 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 transmis-
sion 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.; vali-
dation, 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:
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 PP and the master secret key MSK.
1: Select a Gaussian distribution χ, a Gaussian parameter σ, a prime q, and four integers n,
m0 , l, and w, a keyword set KW = {k i }1≤i≤l , a random matrix A0 , an invertible matrix
H, a random vector u.
2: Set m = m0 + w.
3: Select three hash functions H0 : {0, 1}∗ → Zn q
×w , H : {0, 1}∗ → Zn×n , and H :
1 q 2
∗ n × n
{0, 1} → Zq , where the output of H1 or H2 is an invertible matrix.
4: Generate a matrix A = [ A0 | − A0 R + HG ] and a corresponding trapdoor R of Λ⊥ q (A)
by performing GenTrap(A0 , H).
5: Set PP = (χ, σ, q, n, m, l, w, KW = { k i }1≤i ≤l , A, H0 , H1 , H2 , u ).
6: Set MSK = R.
7: Return ( PP, MSK ).
Algorithm A2 KeyGen
Require: PP, MSK, the user’s ID.
Ensure: The private key SK ID .
1: Compute A ID = H0 ( ID ) ∈ Zn ×w .
q
0
2: Set A ID = [A|A ID ].
3: Compute H ID = H1 ( ID ) ∈ Znq ×n .
0
4: Generate R ID = DelTrap(A ID , R, H ID , σ) so that AR ID = H ID .
0 0
5: Compute x ID = SampleD(R ID , A ID , H ID , u, σ) so that A ID x ID = u.
6: Set SK ID = { R ID , x ID }.
7: Return (SK ID ).
Algorithm A3 Re-KeyGen
Require: PP, SK IDx , the user’s IDx , the delegate’s IDy .
Ensure: The re-encryption key RK IDx → IDy .
1: Compute A IDx = H0 ( IDx ).
0
2: Set A ID = [ A | A IDx ].
x
3: Compute A IDy = H0 ( IDy ).
0
4: Set A IDy = [A|A IDy ].
5: Compute H IDx = H1 ( IDx ).
0 0 0
6: Compute R IDx → IDy = SampleD(R IDx , A ID , H IDx , A ID , σ) so that A ID R IDx → IDy =
x y x
0
A IDy .
7: Set RK IDx → IDy = R IDx → IDy .
8: Return RK IDx → IDy .
Mathematics 2023, 11, 3830 24 of 27
Algorithm A4 Encrypt
Require: PP, a one-bit message µ ∈ {0, 1}, a keyword set KWIDx ⊆ KW = {k i }1≤i≤l , and DO’s
identity IDx .
Ensure: The ciphertext C IDx , the index I IDx , IDx , and DUs’ identities IDs.
1: Compute A IDx = H0 ( IDx )
0
2: Set A ID = [A|A IDx ].
x
3: Sample noises e1 , e2 , e3 .
4: for i = 1 to l do
5: Sample a noise e4,i .
6: end for
7: Select two vectors s, v. q
ID
8: Compute C1 x = u> s + µ 2 + e1 .
ID 0 > s+e .
9: Compute C2 x = A ID 2
x
ID ID
10: Set C IDx = {C1 x , C2 x }.
ID
11: Compute I1 x = u> v + e3 ∈ Zq .
12: for i = 1 to l do
13: if k i ∈
/ KWIDx then
IDx
14: Generate a random matrix I2,k .
i
15: else
16: Compute Hki = H2 (k i ).
IDx 0>
17: I2,k = A ID x
H> k i v + e4,i .
i
18: end if
19: end for
20: Set I IDx = { I1IDx , { I2,k
IDx
}1≤ i ≤ l }.
i
21: Choose IDs.
22: Return ((C IDx , I IDx , IDx ), IDs)
Algorithm A5 Re-Enc
Require: (C IDx , I IDx , IDx ), IDy , and a re-encryption key RK IDx → IDy
Ensure: The re-encrypted ciphertext C IDy , the re-encrypted index I IDy , and IDy .
0
1: Sample a noise e2 .
2: for i = 1 to l do
0
3: Sample a noise e4,i .
4: end for
IDy
5: Set C1 = C1IDx .
IDy 0
6: Compute C2 = RK IDx → IDy C2IDx + e2
IDy IDy
7: Set C IDy = {C1 , C2 }.
IDy
8: Set I1 = I1IDx .
9: for i = 1 to l do
IDy IDx 0
10: Compute I2,k = RK IDx → IDy I2,k + e4,i .
i i
11: end for
IDy IDy
12: Set I IDy = { I1 , { I2,k }1≤i ≤l }.
i
13: Return (C IDy , I IDy , IDy )
Mathematics 2023, 11, 3830 25 of 27
Algorithm A6 TokenGen
Require: PP, SK ID , ID, R ID , and a keyword-search policy τ.
Ensure: A search token TK and ID.
1: Compute A ID = H0 ( ID ).
0
2: Set A ID = [ A | A ID ]
3: Compute H ID = H1 ( ID )
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 Hki = H2 (k i ).
0
8: Compute Tk = T> τ,k u.
i i
00 0
9: Compute Tk = H− 1
k Tτ,k .
i i i
0 00 0
10: Compute wki = SampleD(R ID , A ID , H ID , Tk , σ) so that A ID wki = H− 1 >
k i Tτ,k i u.
i
11: end if
12: end for
13: Set TK = (τ, {wki }ki ∈τ ).
14: Return ( TK, ID ).
Algorithm A7 Search
Require: PP, TK, ID, and (C ID , I ID ).
Ensure: C ID or ⊥.
1: for any keyword set { k 01 , k 02 , . . . , k 0o } exactly satisfying τ do
2: Set z = 0.
3: for i = 1 to l do
4: if k i ∈ {k01 , k02 , . . . , k0o } then
5: Compute z = z + w> ID
k i I2,k i .
6: end if
7: end for
8: Compute f = |z − I1ID |.
q
9: if f < 4 then
10: Return C ID .
11: end if
12: end for
13: Return ⊥.
Algorithm A8 Dec
Require: PP, SK ID , and C ID .
Ensure: µ.
0
1: Compute µ = |C1ID − x> ID
ID C2 |.
0 q
2: if µ < 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.
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.
Mathematics 2023, 11, 3830 26 of 27
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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. [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. [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. [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. [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.
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.
23. Regev, O. On lattices, learning with errors, random linear codes, and cryptography. J. ACM 2009, 56, 1–40. [CrossRef]
24. Micciancio, D.; Peikert, C. Trapdoors for lattices: Simpler, tighter, faster, smaller. In Proceedings of the Annual Interna-
tional Conference on the Theory and Applications of Cryptographic Techniques, Cambridge, UK, 15–19 April 2012; Springer:
Berlin/Heidelberg, Germany, 2012; pp. 700–718.
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.
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. [CrossRef]
Mathematics 2023, 11, 3830 27 of 27
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. [CrossRef]
28. Wang, Y. Lattice Ciphertext Policy Attribute-based Encryption in the Standard Model. Int. J. Netw. Secur. 2014, 16, 444–451.
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. [CrossRef]
30. Hou, Y.; Yao, W.; Li, X. A Lattice-Based Semantic Aware Multi-Keyword Searchable Encryption for Multi-User Environments.
SSRN 2022. [CrossRef]
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.