Next Article in Journal
Review of Methods for PCB Panel Depanelization and Methods for Correct Assembly of Electronic Components on PCB Panels
Next Article in Special Issue
A Data Sharing Model for Blockchain Trusted Sensor Leveraging Mimic Hash Mechanism
Previous Article in Journal
Enhancing Anomaly Detection for Cultural Heritage via Long Short-Term Memory with Attention Mechanism
Previous Article in Special Issue
A Novel Authentication Scheme Based on Verifiable Credentials Using Digital Identity in the Context of Web 3.0
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

SM9 Identity-Based Encryption with Designated-Position Fuzzy Equality Test

1
The State Key Laboratory of Integrated Service Networks, Xidian University, Xi’an 710071, China
2
School of Cyberspace Security, Xi’an University of Posts & Telecommunications, Xi’an 710121, China
3
School of Mathematics and Information Science, Baoji University of Arts and Science, Baoji 721016, China
*
Authors to whom correspondence should be addressed.
These authors contributed equally to this work.
Electronics 2024, 13(7), 1256; https://doi.org/10.3390/electronics13071256
Submission received: 24 February 2024 / Revised: 20 March 2024 / Accepted: 26 March 2024 / Published: 28 March 2024
(This article belongs to the Special Issue Applied Cryptography and Practical Cryptoanalysis for Web 3.0)

Abstract

:
Public key encryption with equality test (PKEET) is a cryptographic primitive that enables a tester to determine whether two ciphertexts encrypted with same or different public keys have been generated from the same message without decryption. Previous studies extended PKEET to public key encryption with designated-position fuzzy equality test (PKE-DFET), enabling testers to verify whether plaintexts corresponding to two ciphertexts are equal while ignoring specific bits at designated positions. In this work, we have filled the research gap in the identity-based encryption (IBE) cryptosystems for this primitive. Furthermore, although our authorization method is the all-or-nothing (AoN) type, it overcomes the shortcomings present in the majority of AoN-type authorization schemes. In our scheme, equality tests can only be performed between a ciphertext and a given plaintext. Specifically, even if a tester acquires multiple AoN-type authorizations, it cannot conduct unpermitted equality tests between users. This significantly reduces the risk of user privacy leaks when handling sensitive information in certain scenarios, while still retaining the flexible and simple characteristics of AoN-type authorizations. We use the Chinese national cryptography standard SM9-IBE algorithm to provide the concrete construction of our scheme, enhancing the usability and security of our scheme, while making deployment more convenient. Finally, we prove that our scheme achieves F-OW-ID-CCA security when the adversary has the trapdoor of the challenge ciphertext, and achieves IND-ID-CCA security when the adversary does not have the trapdoor of the challenge ciphertext.

1. Introduction

The emergence of cloud computing has shifted a significant computational and storage burden from users to cloud servers, resulting in a continuous decrease in the cost of data processing and storage. As a result, there is a surge of cloud-based applications, such as the Internet of Things, big data, and artificial intelligence, which further propel the advancement of cloud technology [1,2,3,4]. Compared to traditional local storage systems, cloud storage provides several advantages including cost-effectiveness, scalability, easy management, and maintenance. With cloud technology, users have the flexibility to select storage capacity and service types that align with their specific needs. Additionally, they can seamlessly carry out operations such as data uploading, downloading, backup, archiving, and sharing. However, a cloud computing setting often implies multiple users share hardware. In light of security concerns, data on a cloud is usually in an encrypted form. Consequently, there is an urgent need for novel cryptographic primitives tailored for processing encrypted data on cloud servers.
Several different cryptographic primitives are proposed to address the operation on encrypted data, such as searchable encryption [5,6], fully homomorphic encryption [7], and public key encryption with keyword search (PEKS) [8]. In PEKS, the server can check whether an encrypted ciphertext C is derived from a plaintext M without decryption. This property makes it well-suited for applications like the classification of public-key ciphertexts.
The above-mentioned PEKS scheme shares a similar limitation with previous searchable encryption schemes: it can only support operations on ciphertexts derived from the same public key, making it very limited in scenarios involving ciphertexts from multiple users. In 2010, Yang et al. [9] proposed a new cryptographic primitive: public key encryption with equality test (PKEET). In PKEET, an entity can check whether the corresponding plaintexts of two different ciphertexts encrypted with distinct public keys are equal without decryption.
In the original PKEET scheme [9], any entity can test the equality on two different users’ ciphertexts. Undoubtedly, this presents a significant risk to the confidentiality of the ciphertext. Therefore, researchers continuously supplemented and extended the notion of PKEET afterward. Their works started with restricting the authority of the tester. Tang proposed two different authorization approaches, denoted as the fine-grained PKEET (FG-PKEET) [10] and all-or-nothing PKEET (AoN-PKEET) [11]. In the former, two users need to jointly negotiate a token for the tester before the tester can perform an equality test on the ciphertexts of these two users. The advantage of this approach is that it can effectively limit the tester from conducting unauthorized equality tests between users. However, the drawback is that users need to jointly negotiate tokens online for authorization, and the tester also needs to store a lot of tokens for each user. If there are n users, the tester needs to store n ( n 1 ) 2 tokens. In AoN-PKEET, each user can independently generate its own token for authorization to the tester, who can then perform equality test among users who have submitted their tokens. Therefore, only n tokens need to be stored for n users. However, the drawback is that if user A only wants to perform ciphertext equality test with B, after having received A’s token, the tester can still perform equality test between the ciphertexts of A and those of user C who also authorized the tester with its token. Later, Huang et al. [12] proposed another authorization approach, which includes not only the approach in AoN-PKEET, but also an approach in which users can issue tokens on specific ciphertexts, and the tester cannot perform equality test on ciphertexts other than those authorized by the users. Building on these works, Ma et al. [13] proposed PKEET supporting flexible authorization (PKEET-FA). In this work, various authorization approaches were thoroughly summarized, essentially covering and integrating all types of authorization in previously proposed PKEET schemes.
We propose the notion of identity-based encryption with designated-position fuzzy equality test (IBE-DFET) and construct a concrete SM9-IBE-DFET scheme in this paper. The contributions of this paper are as follows:
  • We introduced the designated fuzzy equality test feature into IBEET and obtained an IBE-DFET scheme. In our construction, a tester can select a wildcard set, and after obtaining the authorized trapdoor from the user, it determines whether the plaintext underlying a ciphertext and the given plaintext are fuzzily equal while ignoring the designated positions in the wildcard set.
  • Our scheme has a distinct advantage compared to other PKEET schemes, which is that although the authorization approach in our scheme is an all-or-nothing (AoN)-type authorization, i.e., the user personally authorizes the tester to perform an equality test on its ciphertext, the tester can only perform a fuzzy equality test on the ciphertext of that user and its own plaintext, but cannot equality test the ciphertext of that user and another user who also authorized the tester with its trapdoor. This undoubtedly greatly enhances the confidentiality of user’s ciphertexts. In other words, our scheme combines the flexible and convenient characteristics of AoN-type authorization while avoiding the drawback of testers obtaining additional information with AoN-type authorization.
  • We use the Chinese national cryptography standard SM9-IBE algorithm [14] to construct the concrete scheme, with the symmetric encryption part using the Chinese national cryptography standard SM4 symmetric encryption algorithm. The use of standard algorithms demonstrates the practicality and security of our scheme in a very intuitive way. Specifically, the SM9-IBE algorithm based on the elliptic curve discrete logarithm problem not only has high security, but also has highly efficient bilinear pairing operations that are very suitable for constructing equality test schemes that still heavily rely on bilinear pairings.

2. Related Work

Identity-Based Encryption with Equality Test (IBEET): In 2016, Ma [15] extended PKEET to IBE [16], and constructed an IBEET scheme. In the same year, a similar IBEET scheme was proposed by Lee et al. [17]. Compared to PKEET, the IBEET scheme inherits the advantages of the IBE scheme: each user’s public key is the identifier for that user, which greatly simplifies key management and makes system deployment more convenient. Due to the favorable properties of IBEET, it has become a research hotspot, and a large number of related articles have subsequently appeared [18,19,20,21,22,23,24,25,26,27,28]. It is worth mentioning that some researchers have extended PKEET to other ID-based cryptosystems, resulting in attribute-based encryption with equality test (ABEET) [29,30,31,32,33,34] and certificateless encryption with equality test(CLEET) [35,36,37].
Public Key Encryption with Fuzzy Matching (PKEFM): Wang et al. [38] proposed the concept of Public Key Encryption with Fuzzy Matching (PKEFM), which can determine whether the edit distance between two encrypted messages is lower than a threshold. Thus, it can determine whether two messages are fuzzy equal based solely on their ciphertexts. This work is particularly suitable for detecting the equality of two messages when only a small number of foreseeable differences exist between them, such as spelling errors or differing formats. However, this scheme employs a method of computing similarity for equality test, making it unable to fulfill the task if users wish to check for fuzzy equality ignoring some designated positions.
Public Key Encryption with Designated-Position Fuzzy Equality Test (PKE-DFET): Zhao et al. [39] proposed a novel PKE-DFET scheme. Unlike most previous PKEET schemes, in this scheme, the tester can select a wildcard set, and when comparing two ciphertexts, the corresponding positions of the underlying plaintext indicated by the wildcard set will not affect the result of the equation test. In other words, the tester does not care whether the plaintexts at the wildcard set positions are equal or not. This scheme achieves fuzzy equation test at designated positions, making it highly suitable for constructing systems with specific requirements, i.e., systems with slight differences in plaintexts.
The DFET primitive has not yet been introduced into IBE cryptosystems where the certificate management problem is solved. Furthermore, in the original PKE-DFET scheme and many schemes supporting equality test for AoN-type authorizations, the tester can choose the object of equality test arbitrarily after obtaining authorization. In certain scenarios, such as dealing with highly sensitive medical records, the tester’s not-permitted equality test could likely lead to the disclosure of patient’s privacy. However, if we do not use the AoN-type authorization, for instance, if we use the FG-type [10] or ciphertext-level [13] authorization mentioned above, the complexity of the system will significantly increase. The above problems are well addressed in this work.

3. Preliminary

3.1. Bilinear Pairing

Let G 1 and G 2 be two additive cyclic groups of order N, and G T be a multiplicative cyclic group of order N, where N is a prime number. P and Q are generators of G 1 and G 2 respectively.
A bilinear pairing e : G 1 × G 2 G T satisfies the following properties:
(1) Bilinear: For any P G 1 , Q G 2 , a , b Z N * , we have e ( [ a ] P , [ b ] Q ) = e ( P , Q ) a b .
(2) Non-degenerate: There exist elements P G 1 , Q G 2 , such that e ( P , Q ) 1 G T , where 1 G T is the identity element of G T .
(3) Computable: For any P G 1 , Q G 2 , e ( P , Q ) can be computed efficiently.
Let P G 1 , Q G 2 , the security of the bilinear pairing is mainly based on the computational difficulty of the following problem.

3.2. Decision Bilinear Inversion Diffie–Hellman (DBIDH) Assumption [40,41]

For any positive integers a , b , r R Z N * , it is hard to distinguish
P 1 , P 2 , [ a ] P i , [ b ] P j , e ( P 1 , P 2 ) b / a and P 1 , P 2 , [ a ] P i , [ b ] P j , e ( P 1 , P 2 ) r ,
for some values of i , j { 1 , 2 } .

3.3. Gap- τ -Bilinear Collision Attack Assumption (Gap- τ -BCAA1) [40,41]

For any positive integers τ , x R Z N * , given
P 1 , P 2 , [ x ] P i , h 0 , ( h 1 , [ x h 1 + x ] P j ) , , ( h τ , [ x h τ + x ] P j ) ,
for some values of i , j { 1 , 2 } , where h i R Z N * and different from each other for 0 i τ , and a DBIDH oracle which solves a given DBIDH problem, computing e ( P 1 , P 2 ) x / ( h 0 + x ) is hard.

3.4. Public Key Encryption with Designated Fuzzy Equality Test [39]

We start with DFET: if every bit in two messages is equal except for the designated ignorable positions, then we can say that these two messages are designated-position fuzzy equal. A set of the designated positions is defined as a wildcard set, which means the bit positions in this set do not affect the result of the equality test. For example, if the wildcard set is { 3 , 5 } . Then the bit-string 10110 is designated-position fuzzy equal to 10011 but not to 00110.
The key technique of the proposed PKE-DFET is based on Viète formula [42,43], given two vectors x = { x 1 , x 2 , , x n } , y = { y 1 , y 2 , , y n } , and a set of wildcard J = { j 1 , j 2 , , j m } { 1 , 2 , , n } , the statement x i = y i i J for i = { 1 , 2 , , n } is the same as
i = 1 n x i j J ( i j ) = i = 1 i J n x i j J ( i j ) = i = 1 i J n y i j J ( i j ) = i = 1 n y i j J ( i j ) .
Modify the equation with Viète formula [42,43], j J ( i j ) = k = 0 m a k i k , where a k is the coefficient of i k , we have
k = 0 m a k i = 1 n x i i k = i = 1 n x i j J ( i j ) = i = 1 n y i j J ( i j ) = k = 0 m a k i = 1 n y i i k .
The definition of PKE-DFET is as follows: Given a wildcard set in PKE-DFET, the underlying messages of two ciphertexts in PKE-DFET will be regarded as designate-position fuzzy equal if they are equal on every position except for those belonging to the wildcard set.
Formally, given two ciphertexts C T 1 and C T 2 , with corresponding plaintexts M 1 and M 2 , we define a wildcard set J = { j 1 , j 2 , , j m } N , where N = { 1 , 2 , , n } . We represent messages in bit form as M i = M i , 1 , M i , 2 , , M i , n . If
M 1 , j = M 2 , j for each j N J ,
where N J J = and N J J = N , then we can say that M 1 and M 2 are designated-position fuzzy equal under the wildcard set J. This is denoted as
M 1 J = M 2 J .
It is evident that when J = , this designated-position fuzzy equality test becomes a regular equality test. On the other hand, when J = N , the equality test becomes meaningless because any two ciphertexts would be fuzzy equal. However, to ensure the practicality of the scheme, J must be freely selected by the test, but it should not be too large. Otherwise, for example, if we receive a ciphertext C T 1 generated from a plaintext M 1 , and the tester encrypt another message M 2 of the same length to obtain C T 2 while selecting J = { 2 , 3 , , n } , then test whether M 1 J = M 2 J would directly reveal whether the first bit of the two messages is equal. By repeating this process, we can determine the value of message M 1 after n tests. This renders the scheme insecure. Hence, we need to set a general upper bound U and select the permissible wildcard set during encryption as L where L U . When choosing J, the tester must satisfy J L ; otherwise, the algorithm will abort and output ⊥.

3.5. Chinese National Cryptographic Standard SM9 [14]

In 1984, Shamir [16] proposed the concept of identity-based encryption, where users can use their identity-related information, such as mobile numbers and e-mail addresses, as their public keys. This approach directly addresses the certificate management problem in traditional public key encryption cryptosystem. This excellent cryptographic primitive has seen significant development over the decades. Chinese State Cryptography Administration introduced the SM9 identity-based encryption standard [14]. SM9 includes a variety of algorithms such as digital signature algorithm, key exchange protocol, key encapsulation mechanism (KEM), and public key encryption (PKE) algorithm. Its applications have continued to evolve in the subsequent years.
We take SM9-IBE as the basic structure of our scheme. It is essentially a hybrid encryption consisting of SM9-KEM and a symmetrical encryption algorithm as data encapsulation mechanism (DEM).
A brief overview of the SM9-IBE algorithm is given as follows:
  • Setup( 1 λ ): Taking as input a security parameter λ , the setup algorithm generates the public parameter
    p p = { G 1 , G 2 , G T , P 1 , P 2 , e , h i d , H 1 } ,
    where G 1 and G 2 are two additive cyclic groups of order N, and P 1 G 1 and P 2 G 2 are the generators of the two groups. G T is a multiplicative group with order N. e represents the bilinear pairing: G 1 × G 2 G T . h i d is an identifier for private key generation functions. H 1 : { 0 , 1 } * Z N * is a cryptographic hash function. Additionally, there are some auxiliary functions: MAC (Message Authentication Code) is a function for message authentication, KDF (Key Derivation Function) is a function for key generation, and a secure DEM algorithm. KDF : { 0 , 1 } * k l e n , where k l e n = 256 . Afterward, the Key Generation Center (KGC) randomly selects k [ 1 , N 1 ] , and calculates P p u b = [ k ] P 1 . Let the master key pair be
    ( m p k , m s k ) = ( P p u b , k ) ,
    m p k represents the master public key, and m s k is the master secret key that must be kept secret.
  • KeyGen( p p , I D , m s k ): Taking as input the system parameter p p and an identifier I D . The KGC generates the private key d I D for user I D . On the finite field F N , it first calculates t 1 = H 1 ( I D | | h i d 1 , N ) + k . If t 1 = 0 , m s k is regenerated. Otherwise, continue to calculate t 2 = k · t 1 1 . The private key can be calculated from d I D = [ t 2 ] P 2 .
  • Enc( p p , I D , M ): Taking as input the system parameter p p , an identifier I D , and a message M. The ciphertext C T = { C 1 , C 2 , C 3 } is generated as follows
  • At first, calculate Q = [ H 1 ( I D | | h i d , N ) ] P 1 + P p u b .
  • Randomly choose r R [ 1 , N 1 ] . Calculate
    C 1 = [ r ] Q = [ r · t 1 ] P 1 ,
  • Calculate g = e ( P p u b , P 2 ) , w = g r , K = K D F ( C 1 | | w | | I D , k l e n ) . If K is an all-zero bit string, return to the second step; otherwise, The first 128 bits of K are denoted as K 1 , and the last 128 bits are denoted as K 2 . The message is encrypted and decrypted by the DEM algorithm, denoted as DEM.Enc and DEM.Dec, respectively.
    C 2 = DEM . Enc ( M , K 1 ) , C 3 = M A C ( C 2 , K 2 ) .
  • Dec( C T , d I D ): A user with the identifier I D , upon receiving a ciphertext C T = { C 1 , C 2 , C 3 } , performs the following calculations:
  • Verify if C 1 G 1 . If the result is false, it outputs ⊥ and aborts;
  • Calculate the element w = e ( C 1 , d I D ) in the group G T ;
  • Calculate K = K D F ( C 1 | | w | | I D , k l e n ) , where K has its first 128 bits as K 1 and the last 128 bits as K 2 ;
  • Calculate M = DEM . Dec ( C 2 , K 1 ) , C 3 = M A C ( C 2 , K 2 ) . If C 3 = C 3 , output M .
Bentahar et al. [44] extended the hybrid encryption formalized by Cramer and Shoup [45] to identity-based cryptosystems. Their work showed that an IND-ID-CCA (Indistinguishable against adaptive identity adaptive chosen-ciphertext-attacks) secure IBE can be constructed by an IND-ID-CCA identity-based KEM and a secure DEM.
To maintain consistency in algorithmic style, we adopt the SM4 symmetric encryption algorithm [46] as the DEM algorithm. Similar to the approach taken in the security proofs for SM9-KEM, we do not consider the security of the DEM and other auxiliary functions in SM9. The focus of the security proof primarily lies in the security of the KEM algorithm.

4. System Model, Definitions and Security Models

We give the system model of our SM9-Identity-based Encryption with Designated-Position Fuzzy Equality Test scheme, then the formal definition and security models of it.

4.1. System Model of IBE-DFET

The system model of our IBE-DFET scheme is illustrated in Figure 1. There are four types of entities in our work, as follows:
  • Key Generation Center (KGC): Key Generation Center (KGC): This entity is responsible for setting up the system, safeguarding the master secret key, and issuing private keys to users based on their IDs.
  • User: This entity, as the data owner, can upload the ciphertexts to the cloud server or download ciphertexts for decryption, and grant authorization to testers for designated-position fuzzy equality test.
  • Cloud server: This entity stores the ciphertexts generated by message senders, allows message receivers to download ciphertexts, and often serves as the tester.
  • Tester: After being authorized, this entity can choose a wildcard set J, and conduct an equality test on a ciphertext and a given message.
Figure 2 presents a significant feature of our IBE-DFET scheme. A tester can choose a wildcard set and perform fuzzy equality test between the received ciphertext and a given plaintext. When the plaintext corresponding to the ciphertext is completely equal to the existing plaintext at positions outside of the wildcard set, the equality test algorithm outputs 1. If there is at least one different bit outside the wildcard set, the equality test algorithm outputs 0.

4.2. Identity-Based Encryption with Designated-Position Fuzzy Equality Test

An IBE-DFET system consists of six algorithms as follows:
  • Setup ( 1 λ ) : This algorithm takes the security parameter λ as input and outputs the system parameter p p and the master key pair ( m p k , m s k ) .
  • KeyGen( p p , I D , m s k ): Taking as input the system parameter p p and an identifier I D . The KGC generates the private key d I D for user I D .
  • Enc( p p , I D , M ): Taking as input the system parameter p p , an identifier I D , and a message M. The algorithm generates the ciphertext C T .
  • Dec( C T , d I D ): This algorithm outputs the message M or ⊥.
  • Aut ( d I D ) : This algorithm outputs a token t d that authorizes the tester to perform an equality test on the ciphertexts of users who own d I D .
  • Test( C T , t d , M , J ): Taking as input a ciphertext C T , a trapdoor I D , a sample message M , and a wildcard set J. The algorithm checks if | J | | L | . If not, it outputs ⊥ and aborts. Otherwise, it outputs 1, implying that the underlying message of C T is fuzzy equal to M under the wildcard set J, or 0, implying that the messages are not fuzzy equal.
Correctness: We can say an IBE-DFET scheme is correct if the following conditions hold.
(1) For any security parameter λ , and any message M M , we have
Pr Dec ( C T , d I D ) = M p p Setup ( 1 λ ) d I D KeyGen ( p p , I D , m s k ) C T Enc ( p p , I D , M ) = 1 .
(2) For any security parameter λ , any message M M , any wildcard set J satisfying | J | | L | , and any message M satisfying M J = M J , we have
Pr Test ( C T , t d , M , J ) = 1 p p Setup ( 1 λ ) d I D KeyGen ( p p , I D , m s k ) C T Enc ( p p , I D , M ) t d Aut ( d I D )
is overwhelming.

4.3. Security Models of IBE-DFET

We consider two types of adversaries in IBE-DFET.
  • Type-I Adversary: This type of adversary can make trapdoor queries on any user, which means it can test the equality between any ciphertext and a given plaintext. Therefore, we define the goal of a Type-I adversary as recovering the underlying message from the given ciphertext. It is worth noting that it is not necessary to recover the complete message here. Only the positions not contained in the wildcard set need to be recovered.
  • Type-II Adversary: This type of adversary can make trapdoor queries on any user except the target user. Therefore, we define the goal of Type-II adversary as distinguishing the underlying message from the given ciphertext with two known messages.
We define two games for these two types of adversaries.
Game 1: F-OW-ID-CCA Game
p p Setup ( 1 λ ) ;
d I D i KeyGen ( p p , I D i , m s k ) for 1 i N ;
M i / Dec ( C T i , d I D i ) ;
t d i Aut ( d I D i ) ;
I D * A O KeyGen ( · ) , O Dec ( · ) , O token ( · ) ( { I D i } i = 1 N ) ;
C T * Enc ( p p , I D * , M * ) for random M;
M A O KeyGen ( · ) , O Dec ( · ) , O token ( · ) ( { I D i } i = 1 N ) .
In Game 1, O KeyGen ( · ) , O Dec ( · ) , O token ( · ) denote the private key oracle, the decryption oracle, and the token oracle, respectively. The adversary is not allowed to make a private-key query on I D * . We define the advantage of the adversary in winning this game as
Adv SM 9 IBE DFET F OW ID CCA , Type I ( λ ) = Pr [ M J = M * J ] .
Game 2: IND-ID-CCA Game
p p Setup ( 1 λ ) ;
d I D i KeyGen ( p p , I D i , m s k ) for 1 i N ;
M i / Dec ( C T i , d I D i ) ;
t d i Aut ( d I D i ) ;
( I D * , M 0 * , M 1 * ) A O KeyGen ( · ) , O Dec ( · ) , O token ( · ) ( { I D i } i = 1 N ) ;
C T * Enc ( p p , I D * , M b * ) for b { 0 , 1 } ;
b A O KeyGen ( · ) , O Dec ( · ) , O token ( · ) ( { I D i } i = 1 N ) .
In Game 2, the adversary is restricted to make a private-key query or a token query on I D * . We define the advantage of the adversary in winning this game as
Adv SM 9 IBE DFET IND ID CCA , Type II ( λ ) = Pr [ b = b ] 1 / 2 .

5. The Proposed SM9-IBE-DFET Scheme

In identity-based encryption with designated-position fuzzy equality test (IBE-DFET), a tester can choose a wildcard set J. After being authorized by a user, the tester is enabled to perform a fuzzy equality test between the ciphertext of the user and a given message, while the positions in the wildcard set do not affect the result of the equality test.

5.1. Our Construction

  • Setup ( 1 λ ) : Taking as input a security parameter λ , the setup algorithm generates the public parameter
    p p = { G 1 , G 2 , G T , P 1 , P 2 , e , h i d 1 , h i d 2 , H 1 , H 2 , H 3 } ,
    where G 1 and G 2 are two additive cyclic groups of order N, and P 1 G 1 and P 2 G 2 are the generators of the two groups. G T is a multiplicative group with order N. e represents the bilinear pairing: G 1 × G 2 G T . h i d 1 and h i d 2 are two distinct identifiers for private key generation functions. H 1 : { 0 , 1 } * Z N * , H 2 : { 0 , 1 } * G 1 , H 3 : G 1 G T are cryptographic hash functions. Afterward, the Key Generation Center (KGC) randomly selects k [ 1 , N 1 ] , and calculates P p u b = [ k ] P 1 . Let the master key pair be:
    ( m p k , m s k ) = ( P p u b , k ) ,
    m p k represents the master public key, and m s k is the master secret key that must be kept secret. Additionally, within the SM9 framework, there are several auxiliary functions, along with the DEM algorithm SM4 that we selected. Specifically: SM4.Enc and SM4.Dec represent the standard SM4 algorithm for encryption and decryption, respectively. MAC denotes the message authentication code function. The key derivation function KDF : { 0 , 1 } * k l e n , where k l e n = 256 .
  • KeyGen( p p , I D , m s k ): Taking as input the system parameter p p and an identifier I D . The KGC generates the private key d I D for user I D . On the finite field F N , it first calculate t 1 = H 1 ( I D | | h i d 1 , N ) + k ,   t 3 = H 1 ( I D | | h i d 2 , N ) + k . If t 1 = 0 or t 3 = 0 , m s k is regenerated. Otherwise, continue to calculate t 2 = k · t 1 1 ,   t 4 = k · t 3 1 . The private key can be calculated from d 1 = [ t 2 ] P 2 , d 2 = [ t 4 ] P 2 . The complete private key pair of the user is
    d I D = ( d 1 , d 2 ) = ( [ t 2 ] P 2 , [ t 4 ] P 2 ) .
  • Enc( p p , I D , M ): Taking as input the system parameter p p , an identifier I D , and a message M. The message can be represented in the bit form: M = { M 1 , M 2 , , M n } .
The ciphertext is generated as follows:
  • At first, calculate Q 1 = [ H 1 ( I D | | h i d 1 , N ) ] P 1 + P p u b , Q 2 = [ H 1 ( I D | | h i d 2 , N ) ] P 1 + P p u b ;
  • Randomly choose r 1 , r 2 R [ 1 , N 1 ] . Calculate
    C 1 = [ r 1 ] Q 1 = [ r 1 · t 1 ] P 1 , C 4 = [ r 2 ] Q 2 = [ r 2 · t 3 ] P 1 ,
  • Calculate g = e ( P p u b , P 2 ) , w 1 = g r 1 , K = K D F ( C 1 | | w 1 | | I D , k l e n ) , if K is an all-zero bit string, return to the second step; otherwise, The first 128 bits of K are denoted as K 1 , and the last 128 bits are denoted as K 2 . Calculate
    C 2 = SM 4 . Enc ( M , K 1 ) ,
    C 3 = M A C ( C 2 , K 2 ) ;
  • Calculate
    C 5 , l = i = 1 n i l H 2 ( M i | | i ) · r 2 Q 2 l = { 0 , 1 , , L }
  • Calculate w 2 = g r 2 , C 6 = H 3 ( C 1 | | C 2 | | C 3 | | C 4 | | { C 5 , l } l = 0 L | | w 2 ) .
The complete ciphertext C T is
C T = { C 1 , C 2 , C 3 , C 4 , { C 5 , l } l = 0 L , C 6 } .
  • Dec( C T , d I D ): A user with the identifier I D , upon receiving a ciphertext C T = { C 1 , C 2 , C 3 , C 4 , { C 5 , l } l = 0 L , C 6 } , performs the following calculations:
  • Verify if C 1 G 1 . If the result is false, it outputs ⊥ and aborts;
  • Calculate the element w 1 = e ( C 1 , d 1 ) , w 2 = e ( C 4 , d 2 ) in the group G T . Check if
    C 6 = H 3 ( C 1 | | C 2 | | C 3 | | C 4 | | { C 5 , l } { l = 0 , 1 , , L } | | w 2 ) ,
    if not, it outputs ⊥ and aborts;
  • Calculate K = K D F ( C 1 | | w 1 | | I D , k l e n ) , where K has its first 128 bits as K 1 and the last 128 bits as K 2 ;
  • Calculate M = SM 4 . Dec ( C 2 , K 1 ) , C 3 = M A C ( C 2 , K 2 ) . If C 3 = C 3 , output M .
  • Aut( d I D ): The trapdoor sent by the user to the tester is given by:
    t d = d 2 = [ t 4 ] P 2 .
  • Test( C T , t d , M , J ): Upon receiving the ciphertext C T = { C 1 , C 2 , C 3 , C 4 , { C 5 , l } { l = 0 , 1 , , L } , C 6 } from the authorized user, along with the corresponding trapdoor t d = d 2 , the plaintext M for comparison, and the wildcard set J = { j 1 , j 2 , , j m } { 1 , 2 , , n } , the tester performs the following calculations:
  • Verify if C 4 G 1 . If the result is false, it outputs ⊥ and aborts;
  • Calculate the element w 2 = e ( C 4 , t d ) in the group G T . If
    C 6 = H 3 ( C 1 | | C 2 | | C 3 | | C 4 | | { C 5 , l } { l = 0 , 1 , , L } | | w 2 ) ,
    then w 2 = w 2 ;
  • For each 0 l m , calculate
    a m l = ( 1 ) l 1 i 1 i 2 i l m j i 1 j i 2 j i l ;
  • Calculate
    X = e l = 0 m a l ( C 5 , l ) , t d ,
    and
    Y = w 2 i = 1 n H 2 ( M i | | i ) l = 0 m a l i l ,
    where M i is a bit of the given plaintext M which is ( M 1 , , M n ) in bit form. If X = Y , then M J = M J , and the algorithm outputs 1; otherwise, if X Y , then M J M J , and the algorithm outputs 0.

5.2. Correctness of SM9-IBE-DFET

We analyze the correctness of the proposed SM9-IBE-DFET construction as below.
(1) In the decryption algorithm, denoted as Dec, the decryption process computes the following: For any legitimate ciphertext C T = { C 1 , C 2 , C 3 , C 4 , { C 5 , l } l = 0 L , C 6 } , calculate the element w 1 on group G T :
w 1 = e ( C 1 , d 1 )   = e ( [ r 1 · t 1 ] P 1 , [ t 2 ] P 2 )   = e ( k · P 1 , P 2 ) r 1 · t 2 1 t 2   = e ( P p u b , P 2 ) r 1
Compute K = K D F ( C 1 | | w 1 | | I D , k l e n ) , where K has its first 128 bits as K 1 and the last 128 bits as K 2 . Clearly, if w 1 = w 1 , then K = K . Additionally, C 3 = M A C ( C 2 , K 2 ) , and if w 1 w 1 , it is challenging to obtain C 3 = C 3 . Thus, we can verify the correctness of decryption, implying that
Pr Dec ( C T , d I D ) = M = 1 .
(2) In the test algorithm, denoted as Test, for any legal ciphertext C T = { C 1 , C 2 , C 3 , C 4 , { C 5 , l } l = 0 L , C 6 } , the corresponding user trapdoor is t d = d 2 , plaintext M used for comparison, and wildcard set J = { j 1 , j 2 , , j m } { 1 , 2 , , n } .
Calculate
X = e l = 0 m a l ( C 5 , l ) , t d   = e l = 0 m a l i = 1 n i l H 2 ( M i | | i ) · r 2 Q 2 , [ t 4 ] P 2   = e [ k ] P 1 , P 2 l = 0 m a l i = 1 n i l H 2 ( M i | | i ) · r 2 t 4 1 t 4   = e ( P p u b , P 2 ) r 2 i = 1 n H 2 ( M i | | i ) i J ( i j )
Then calculate
Y = w 2 i = 1 n H 2 ( M i | | i ) l = 0 m a l i l   = e ( P p u b , P 2 ) r 2 i = 1 n H 2 ( M i | | i ) i J ( i j )
From this, it can be seen that if M J = M J , then X = Y , and the algorithm outputs 1. We have
Test ( C T , t d , M , J ) = 1
with overwhelming probability.
Otherwise, if X Y , then M J M J , and the algorithm outputs 0. We have
Test ( C T , t d , M , J ) = 0
with overwhelming probability.

6. Security Proof

We employ the proof technique introduced in [39,41] to perform the security proof of our SM9-IBE-DFET scheme.
Theorem 1.
For any PPT Type-I adversary, our SM9-IBE-DFET scheme is F-OW-ID-CCA (fuzzy-one-way against adaptive identity adaptive chosen-ciphertext-attacks) secure based on the soundness of G a p τ B C A A 1 1 , 2 assumption in the random oracle model.
Proof of Theorem 1.
We divide the security proof of Theorem 1 into two lemmas. In Lemma 1, we prove the OW-ID-CCA security of our SM9-IBE-DFET scheme. In Lemma 2, we prove our OW-ID-CCA security can be reduced to F-OW-ID-CCA security. □
Lemma 1.
Our SM9-IBE-DFET construction is provably secure in the OW-ID-CCA security model against Type-I adversary if functions H 1 , H 2 , H 3 and K D F are random oracles.
Proof. 
Assume there is an adversary A 1 who can break the OW-ID-CCA security of our SM9-IBE-DFET scheme with advantage ϵ 1 ( k ) , we can construct a simulator B to break the G a p τ B C A A 1 1 , 2 problem with non-negligible advantage.
Given an instance of the G a p q 1 B C A A 1 1 , 2 problem: ( P 1 , P 2 , [ k ] P 1 , h 0 , ( h 1 , 1 , [ k h 1 , 1 + k ] ) , , ( h q 1 2 , 1 , [ k h q 1 2 , 1 + k ] ) , ( h 1 , 2 , [ k h 1 , 2 + k ] ) , , ( h q 1 2 , 2 , [ k h q 1 2 , 2 + k ] ) ) where h i , j R Z N * for 0 i q 1 2 , j { 1 , 2 } , and O DBIDH is the D B I D H 1 , 1 oracle. B runs Setup ( 1 λ ) to generate the public parameter p p = { G 1 , G 2 , G T , P 1 , P 2 , e , h i d 1 , h i d 2 , H 1 , H 2 , H 3 } , P p u b = [ k ] P 1 , g = e ( P p u b , P 2 ) . B randomly chooses 1 I q 1 + 1 and interacts with A 1 as follows:
-
O H 1 : B maintains two lists L H 1 , j for j { 1 , 2 } of tuples ( I D i , h i , j , d i , j ) as explained below. When A 1 queries O H 1 on ( I D i , h i d j ) . B responds as follows:
If I D i is on L H 1 , j with a tuple ( I D i , h i , j , d i , j ) , B returns with H 1 ( I D i , h i d j ) = h i , j .
Otherwise, if the query is on the I-th distinct I D , then B stores ( I D I , h 0 , ) into the list L H 1 , j and responds with H 1 ( I D I , h i d j ) = h 0 .
Otherwise, B selects a random integer h i , j which was not chosen before from the given G a p q 1 B C A A 1 1 , 2 instance, stores ( I D i , h i , j , d i , j ) into L H 1 , j and responds with H 1 ( I D i , h i d j ) = h i , j .
-
O H 2 : B maintains a list L H 2 of ( U i , σ i ) . When A 1 queries O H 2 on U i . B responds as follows:
If Q i is on L H 2 with a tuple ( U i , σ i ) , B returns with H 2 ( U i ) = σ i .
Otherwise, B selects a random integer σ i Z N * , stores ( U i , σ i ) into L H 2 and responds with H 2 ( U i ) = σ i .
-
O H 3 : B maintains a list L H 3 of ( V i , η i ) . When A 1 queries O H 3 on V i . B responds as follows:
If V i is on L H 3 with a tuple ( V i , η i ) , B returns with H 3 ( V i ) = η i .
Otherwise, B selects a random bitstring η { 0 , 1 } λ , stores ( V i , η i ) into L H 3 and responds with H 3 ( V i ) = η i .
-
O KDF : B maintains a list L K D F of tuples ( I D i , h i d j , W i , C i , K i , j ) . B interacts with A 1 on a query of ( I D i , h i d j , W i , C i ) as follows:
If ( I D i , h i d j , W i , C i , K i , j ) is on L K D F , B returns with K D F ( I D i , h i d j , W i , C i ) = K i , j .
Otherwise, B searches L H 1 , j with entry ( I D i , h i d j ) , if ( I D i , h i d j ) is not on the list, B makes a query of ( I D i , h i d j ) on O H 1 .
*
If d i , j = , B makes a query on O DBIDH with ( [ k ] P 1 , P 2 , [ h 0 + k ] P 1 , C i , X i ) .
If O DBIDH returns 1, and a tuple indexed by ( I D i , h i d j , C i ) is on list L D , B returns K i , j after storing ( I D i , h i d j , W i , C i , K i , j ) into L K D F .
Otherwise, B randomly chooses a bitstring K i , j { 0 , 1 } 256 and adds ( I D i , h i d j , W i , C i , K i , j ) into L K D F . Then returns K i , j to A 1 .
*
Otherwise, B randomly chooses a bitstring K i , j { 0 , 1 } 256 and adds ( I D i , h i d j , W i , C i , K i , j ) into L K D F . Then returns K i , j to A 1 .
-
O KeyGen : B searches L H 1 , 1 for entry ( I D i , h i d 1 ) . If it is not in the list, B makes a query on O H 1 with ( I D i , h i d 1 ) . If d i , 1 , B adds ( I D i , h i d 1 , h i , 1 , d i , 1 ) into list L H 1 , 1 and return d i , 1 to A 1 . If d i , 1 = . B aborts the game. (Event E 1 )
-
O Token : B searches L H 1 , 2 for entry ( I D i , h i d 2 ) . If it is not in the list, B makes a query on O H 1 with ( I D i , h i d 2 ) . If d i , 2 , B adds ( I D i , h i d 2 , h i , 2 , d i , 2 ) into list L H 1 , 2 and return d i , 2 to A 1 . If d i , 2 = . B aborts the game. (Event E 2 )
-
O Dec : B maintains a list L D e c of entries in form ( I D i , h i d j , C i , K i , j ) . On a query ( I D i , h i d j , C i ) . B searches L H 1 , j for the entry indexed by ( I D i , h i d j ) . If it is not in the list, B makes a query on O H 1 with ( I D i , h i d j ) . Then, B responds depending on the value d i , j .
If d i , j , B computes g r = e ( C i , d i , j ) , makes a query of ( I D i , h i d j , g r , C i ) on O KDF . Then B returns K i , j to A 1 .
Otherwise ( d i , j = ),
*
If there is a tuple indexed by ( I D i , h i d j , C i ) is on L D e c , return K i , j .
*
Otherwise, B randomly chooses K i , j { 0 , 1 } 256 and stores ( I D i , h i d j , C i , K i , j ) into L D e c .
Challenge: At some point, A 1 will return a challenge identifier I D * . B searches L H 1 , j for the items ( I D i , h i d 1 ) and ( I D i , h i d 2 ) . If both d i , 1 and d i , 2 are not equal to ⊥, B aborts (Event E 3 ). B chooses a random value y Z N * and a random bistring K * = { 0 , 1 } 256 , returns ( K * , [ y ] P 1 ) as the challenge.
Guess: Once A 1 outputs its guess, B answers the G a p q 1 B C A A 1 1 , 2 challenge in the following way.
  • For the tuple ( I D * , h i d j , W i , [ y ] P 1 , K i , j ) in list L K D F , B makes queries on O DBIDH with ( [ k ] P 1 , P 2 , [ h 0 + k ] P 1 , [ y ] P 1 ) , W i , if O DBIDH returns 1, B outputs W i 1 y as the answer to the G a p q 1 B C A A 1 1 , 2 challenge.
  • If there is no such tuple in L K D F . B aborts. (Event E 4 )
Analysis: As long as B does not abort, from the perspective of A 1 , B ’s responses to A ’s queries on H 1 , H 2 , H 3 , and K D F are all uniform and independent, indistinguishable from a real attack. Now we evaluate the probability that B does not abort the game. Event E 4 implies e ( C * , [ k h 0 + k ] P 2 ) is not queried on O KDF . Obviously, we have
Pr [ A 1 w i n s ] = Pr [ A 1 w i n s | E 4 ] Pr [ E 4 ] + Pr [ A 1 w i n s | E 4 ¯ ] Pr [ E 4 ¯ ]   1 2 ( 1 Pr [ E 4 ¯ ] ) + Pr [ E 4 ¯ ]   = 1 2 + 1 2 Pr [ E 4 ¯ ] . Pr [ A 1 w i n s ] Pr [ A 1 w i n s | E 4 ] Pr [ E 4 ]   = 1 2 ( 1 Pr [ E 4 ¯ ] )   = 1 2 1 2 Pr [ E 4 ¯ ] .
Therefore, Pr [ E 4 ¯ ] ϵ 1 ( k ) . Due to the game rules, E 3 ¯ implies E 2 ¯ and E 1 ¯ . Overall, we have
Pr [ B w i n s ] = Pr [ E 1 ¯ E 2 ¯ E 3 ¯ ] ϵ 1 ( k ) q 1 + 1 .
This completes the security analysis of our SM9-IBE-DFET scheme. □
Lemma 2.
If our proposed SM9-IBE-DFET is OW-ID-CCA secure, it is then F-OW-ID-CCA secure.
Proof. 
Suppose there is an adversary A 1 that can break the F-OW-ID-CCA security of our SM9-IBE-DFET scheme with non-negligible advantage ϵ 2 ( k ) , we can construct a simulator B to break the OW-ID-CCA security running A 1 as a subroutine.
The interaction between B and A 1 is the same as the interaction process in the proof of Lemma 1, with the addition of the following steps.
Attack: When A 1 outputs a message M { 0 , 1 } n and a wildcard set J = { j 1 , , j m } N , where N = { 1 , 2 , , n } . and | J | L * = U .
Solution:  B transforms M into bit form M = M 1 , , M n , picks random bits { s 1 , , s m } { 0 , 1 } and resets
M j i = s i for each i { 1 , , m } .
It then sends the new message to A 1 as the underlying message of the challenge ciphertext.
Analysis: We have M J = M * J will hold with non-negligible advantage ϵ 2 ( k ) since A 1 has non-negligible advantage ϵ 2 ( k ) in breaking the F-OW-ID-CCA security of our scheme. We can guess all the positions in J with the probability 1 2 m . Therefore, the probability of breaking the OW-ID-CCA security is ϵ 2 ( k ) 2 m ϵ 2 ( k ) 2 U . Since 2 U is polynomial size, B can break the OW-ID-CCA security with a non-negligible advantage. □
Theorem 2.
For any PPT Type-II adversary, our SM9-IBE-DFET scheme is IND-ID-CCA secure based on the G a p τ B C A A 1 1 , 2 assumption in the random oracle model.
Proof of Theorem 2.
Assume there exists an adversary A 2 to attack the IND-ID-CCA security of our scheme.
  • Game G 0 :
G 0 is the original Game 2 defined in Section 4.3, except H 2 , H 3 are random oracles. And the oracles work as follows:
-
O KeyGen : On inputting an identifier I D i I D * , calculate the correponding private key d I D i and return to A 2 .
-
O Dec : On inputting a ciphertext C T i C T * of I D i , calculate the message M i with the correponding private key d I D i and return to A 2 .
-
O Token : On inputting a I D i I D * , return the t d i = d i , 2 to A 2 .
-
O H 2 : On inputting a bitstring from { 0 , 1 } * , a compatible random value is returned, which means if the same random value is returned if the input bitstring is same.
-
O H 3 : On inputting a bitstring from { 0 , 1 } * , a compatible random value is returned.
  • Game G 1 :
G 1 and G 0 are almost the same, except for one oracle O H 3 :
-
O H 3 : Let T H 3 = . On input a hash query W 1 , 3 , look for the entry in T H 3 ; if it does not exist, return a random value h 3 { 0 , 1 } λ , and add { W 1 , 3 , h 3 } into T H 3 . We have C 6 * = h 3 * .
Due the idealness of the random oracle, G 1 is identical to G 0 .
  • Game G 2 :
G 2 and G 1 are almost the same, except for one oracle O H 2 :
-
O H 2 : Let T H 2 = . On inputting a hash query W 2 , 2 , look for the entry in T H 2 ; if ti does not exist, return a random value h 2 Z N , and add { W 2 , 2 , h 2 } into T H 2 . We have C 5 , l * = i = 1 n i l h i , 2 * · r 2 Q 2 l = { 0 , 1 , , L } .
Due the idealness of the random oracle, G 2 is identical to G 1 .
  • Game G 3
G 3 and G 2 are almost the same, except in the challenge phase: randomly choose a value R * G 1 , let C 4 * = R * . According to the construction in Section 5.1, C 4 = [ r 2 ] Q 2 = [ r 2 · t 3 ] P 1 . From the perspective of A 2 , due to the hardness of the discrete logarithm problem, R * and [ r 2 * · t 3 ] P 1 are indistinguishable when the random number r 2 * is unknown. Therefore, Game G 3 is identical to G 2 .
After successfully simulating C 4 * , C 5 * , and C 6 * in the ciphertext C T * , the structure of C 1 * , C 2 * , and C 3 * is completely identical to that of the SM9-IBE scheme. Previously, Cheng et al. [41] have proven the CCA security of SM9-IBE under the random oracle model. Therefore, our security model (which is Game G 0 ) shares the same level of security as SM9-IBE (which is Game G 3 ): assuming the soundness of G a p τ B C A A 1 1 , 2 problem and that both H 1 and K D F are random oracles, thus obtaining IND-ID-CCA security. Therefore, our SM9-IBE-DFET scheme achieves IND-ID-CCA against any PPT Type-II adversary under the hardness of G a p τ B C A A 1 1 , 2 assumption in the random oracle model. □

7. Performance Analysis of SM9-IBE-DFET

We have visually compared our scheme with several existing ones, including [15,38,39]. Ref. [15] is a standard IBEET scheme that does not support a fuzzy equality test; Ref. [38] is a fuzzy matching scheme, with its fuzzy matching algorithm based on edit distance calculation to achieve a fuzzy equality test. Therefore, it does not support fuzzy matching at designated positions; Ref. [39] is the PKE-DFET scheme, which has a certificate management problem because it is a public key encryption scheme. Additionally, due to the lack of an authorization algorithm, it cannot achieve IND security. The results are presented in Table 1.
The comparison of these schemes was based on algorithm computational cost of encryption, decryption, and testing. Furthermore, we also consider other metrics like ciphertext size, security level, whether they support fuzzy equality tests, the ability to address the certificate management problem, and the type of authorization. In the computation of algorithm complexity, we primarily considered metrics such as exponentiation calculations, hash calculations, and bilinear pairings, while efficient operations like addition, multiplication, and XOR were not included.
As shown in Table 1, our SM9-IBE-DFET scheme inherits the advantages of traditional IBEET algorithms, effectively addressing the certificate management problem. Moreover, our scheme employs the designated-position fuzzy equality test, granting users the flexibility to adjust the positions requiring fuzzy matching, thereby offering greater freedom. In comparison to other schemes, the inclusion of an authorization step enables us to achieve IND-ID-CCA security when the adversary does not have the trapdoor of the challenge ciphertext. Taking into account the authorization approach, our scheme utilizes an improved AoN-type authorization, which retains the flexibility of AoN-type authorization while also restricting the testers’ selection of objects for equality test, thereby enhancing the security of the scheme. In terms of computational complexity, our scheme also inherits the advantages of the SM9 algorithm, particularly in decryption algorithms, giving it a significant edge over other schemes and making it more convenient for deployment in computationally constrained scenarios. In summary, as shown in Table 1, our scheme offers fuzzy matching feature compared to the standard IBEET scheme, along with a more flexible authorization method and higher security. Compared to other fuzzy equality test schemes, our approach combines the advantages of IBE cryptosystems, an outstanding fuzzy matching type, an efficient and secure authorization approach, and the highest level of security.

8. Conclusions

In this study, we introduce the concept of identity-based encryption with designated-position fuzzy equality test (IBE-DFET), which integrates the functionality of designated-position fuzzy equality test into the IBE framework. Our proposed scheme is constructed utilizing the SM9-IBE algorithm, forming an SM9-IBE-DFET scheme. Notably, within our work, a tester is restricted to conducting fuzzy equality tests solely between its own plaintext and the ciphertext of a designated user, but not equality tests between the ciphertexts of different users, even if such users have authorized the tester by sharing their respective trapdoors. We formalized the system model and two security models for our SM9-IBE-DFET scheme, and subsequently demonstrates that our scheme is robust, achieving F-OW-ID-CCA/IND-ID-CCA security against adversaries with/without the trapdoor of the challenge ciphertext.

Author Contributions

Conceptualization, S.D. and Z.Z.; methodology, S.D. and Z.Z.; writing—original draft preparation, S.D.; writing—review and editing, W.G. and S.Z.; supervision, B.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Key R&D Program of China under Grant No. 2023YFB4403500, the National Natural Science Foundation of China under Grant 61972457, 62102299, 62002288, U19B2021, 62272362, 62202363, and the Youth Innovation Team of Shaanxi Universities, Science and Technology on Communication Security Laboratory Foundation (614210302020 12103).

Data Availability Statement

Data is contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Qian, L.; Luo, Z.; Du, Y.; Guo, L. Cloud Computing: An Overview. In Cloud Computing; Hutchison, D., Kanade, T., Kittler, J., Kleinberg, J.M., Mattern, F., Mitchell, J.C., Naor, M., Nierstrasz, O., Pandu Rangan, C., Steffen, B., et al., Eds.; Springer: Berlin/Heidelberg, Germany, 2009; Volume 5931, pp. 626–631. [Google Scholar] [CrossRef]
  2. Dillon, T.; Wu, C.; Chang, E. Cloud Computing: Issues and Challenges. In Proceedings of the 2010 24th IEEE International Conference on Advanced Information Networking and Applications, Perth, Australia, 20–23 April 2010; pp. 27–33. [Google Scholar] [CrossRef]
  3. Hu, C.; Zhang, C.; Lei, D.; Wu, T.; Liu, X.; Zhu, L. Achieving Privacy-Preserving and Verifiable Support Vector Machine Training in the Cloud. IEEE Trans. Inf. Forensics Secur. 2023, 18, 3476–3491. [Google Scholar] [CrossRef]
  4. Zhang, C.; Hu, C.; Wu, T.; Zhu, L.; Liu, X. Achieving Efficient and Privacy-Preserving Neural Network Training and Prediction in Cloud Environments. IEEE Trans. Dependable Secur. Comput. 2023, 20, 4245–4257. [Google Scholar] [CrossRef]
  5. Goldreich, O.; Ostrovsky, R. Software Protection and Simulation on Oblivious RAMs. J. ACM 1996, 43, 431–473. [Google Scholar] [CrossRef]
  6. 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 2000, Berkeley, CA, USA, 4–17 May 2000; pp. 44–55. [Google Scholar] [CrossRef]
  7. Gentry, C. Fully Homomorphic Encryption Using Ideal Lattices. In Proceedings of the Forty-First Annual ACM Symposium on Theory of Computing, Bethesda, MD, USA, 31 May–2 June 2009; pp. 169–178. [Google Scholar] [CrossRef]
  8. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keyword Search. In Advances in Cryptology—EUROCRYPT 2004; Kanade, T., Kittler, J., Kleinberg, J.M., Mattern, F., Mitchell, J.C., Nierstrasz, O., Pandu Rangan, C., Steffen, B., Terzopoulos, D., Tygar, D., et al., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 506–522. [Google Scholar] [CrossRef]
  9. Yang, G.; Tan, C.H.; Huang, Q.; Wong, D.S. Probabilistic Public Key Encryption with Equality Test. In Topics in Cryptology—CT-RSA 2010; Hutchison, D., Kanade, T., Kittler, J., Kleinberg, J.M., Mattern, F., Mitchell, J.C., Naor, M., Nierstrasz, O., Pandu Rangan, C., Steffen, B., et al., Eds.; Springer: Berlin/Heidelberg, Germany, 2010; Volume 5985, pp. 119–131. [Google Scholar] [CrossRef]
  10. Tang, Q. Towards Public Key Encryption Scheme Supporting Equality Test with Fine-Grained Authorization. In Information Security and Privacy; Parampalli, U., Hawkes, P., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; Volume 6812, pp. 389–406. [Google Scholar] [CrossRef]
  11. Tang, Q. Public Key Encryption Supporting Plaintext Equality Test and User-specified Authorization. Secur. Commun. Netw. 2012, 5, 1351–1362. [Google Scholar] [CrossRef]
  12. Huang, K.; Chen, Y.C.; Tso, R. Semantic Secure Public Key Encryption with Filtered Equality Test—PKE-FET. In Proceedings of the 12th International Conference on Security and Cryptography, Colmar, France, 20–22 July 2015; pp. 327–334. [Google Scholar] [CrossRef]
  13. Ma, S.; Huang, Q.; Zhang, M.; Yang, B. Efficient Public Key Encryption With Equality Test Supporting Flexible Authorization. IEEE Trans. Inf. Forensics Secur. 2015, 10, 458–470. [Google Scholar] [CrossRef]
  14. State Cryptography Administration. Information Security Technology. In Identity-Based Cryptographic Algorithms SM9—Part 2: Algorithms; Cryptocurrency Industry Standardization Technical Committee: Beijing, China, 2020; p. 11. [Google Scholar]
  15. Ma, S. Identity-Based Encryption with Outsourced Equality Test in Cloud Computing. Inf. Sci. 2016, 328, 389–402. [Google Scholar] [CrossRef]
  16. Shamir, A. Identity-Based Cryptosystems and Signature Schemes. In Advances in Cryptology; Blakley, G.R., Chaum, D., Eds.; Springer: Berlin/Heidelberg, Germany, 1985; Volume 196, pp. 47–53. [Google Scholar] [CrossRef]
  17. Lee, H.T.; Ling, S.; Seo, J.H.; Wang, H. Semi-Generic Construction of Public Key Encryption and Identity-Based Encryption with Equality Test. Inf. Sci. 2016, 373, 419–440. [Google Scholar] [CrossRef]
  18. Wu, T.; Ma, S.; Mu, Y.; Zeng, S. ID-Based Encryption with Equality Test Against Insider Attack. In Information Security and Privacy; Pieprzyk, J., Suriadi, S., Eds.; Springer International Publishing: Cham, Switzerland, 2017; Volume 10342, pp. 168–183. [Google Scholar] [CrossRef]
  19. Wu, L.; Zhang, Y.; Choo, K.K.R.; He, D. Efficient and Secure Identity-Based Encryption Scheme with Equality Test in Cloud Computing. Future Gener. Comput. Syst. 2017, 73, 22–31. [Google Scholar] [CrossRef]
  20. Wu, L.; Zhang, Y.; Choo, K.K.R.; He, D. Efficient Identity-Based Encryption Scheme with Equality Test in Smart City. IEEE Trans. Sustain. Comput. 2018, 3, 44–55. [Google Scholar] [CrossRef]
  21. Lin, X.J.; Sun, L.; Qu, H. Generic Construction of Public Key Encryption, Identity-Based Encryption and Signcryption with Equality Test. Inf. Sci. 2018, 453, 111–126. [Google Scholar] [CrossRef]
  22. Alornyo, S.; Asante, M.; Hu, X.; Mireku, K.K. Encrypted Traffic Analytic Using Identity Based Encryption with Equality Test for Cloud Computing. In Proceedings of the 2018 IEEE 7th International Conference on Adaptive Science & Technology (ICAST), Accra, Ghana, 22–24 August 2018; pp. 1–4. [Google Scholar] [CrossRef]
  23. Li, H.; Huang, Q.; Ma, S.; Shen, J.; Susilo, W. Authorized Equality Test on Identity-Based Ciphertexts for Secret Data Sharing via Cloud Storage. IEEE Access 2019, 7, 25409–25421. [Google Scholar] [CrossRef]
  24. Ming, Y.; Wang, E. Identity-Based Encryption with Filtered Equality Test for Smart City Applications. Sensors 2019, 19, 3046. [Google Scholar] [CrossRef] [PubMed]
  25. Ramadan, M.; Liao, Y.; Li, F.; Zhou, S.; Abdalla, H. IBEET-RSA: Identity-Based Encryption with Equality Test over RSA for Wireless Body Area Networks. Mob. Netw. Appl. 2020, 25, 223–233. [Google Scholar] [CrossRef]
  26. Alornyo, S.; Zhao, Y.; Zhu, G.; Xiong, H. Identity Based Key-Insulated Encryption with Outsourced Equality Test. Int. J. Netw. Secur. 2020, 22, 257–264. [Google Scholar] [CrossRef]
  27. Susilo, W.; Duong, D.H.; Le, H.Q. Efficient Post-quantum Identity-based Encryption with Equality Test. In Proceedings of the 2020 IEEE 26th International Conference on Parallel and Distributed Systems (ICPADS), Hong Kong, China, 2–4 December 2020; pp. 633–640. [Google Scholar] [CrossRef]
  28. Lin, X.J.; Wang, Q.; Sun, L.; Qu, H. Identity-Based Encryption with Equality Test and Datestamp-Based Authorization Mechanism. Theor. Comput. Sci. 2021, 861, 117–132. [Google Scholar] [CrossRef]
  29. Zhu, H.; Wang, L.; Ahmad, H.; Niu, X. Key-Policy Attribute-Based Encryption With Equality Test in Cloud Computing. IEEE Access 2017, 5, 20428–20439. [Google Scholar] [CrossRef]
  30. Eltayieb, N.; Elhabob, R.; Hassan, A.; Li, F. Fine-Grained Attribute-Based Encryption Scheme Supporting Equality Test. In Algorithms and Architectures for Parallel Processing; Vaidya, J., Li, J., Eds.; Springer International Publishing: Cham, Switzerland, 2018; Volume 11337, pp. 220–233. [Google Scholar] [CrossRef]
  31. Wang, Q.; Peng, L.; Xiong, H.; Sun, J.; Qin, Z. Ciphertext-Policy Attribute-Based Encryption With Delegated Equality Test in Cloud Computing. IEEE Access 2018, 6, 760–771. [Google Scholar] [CrossRef]
  32. Cui, Y.; Huang, Q.; Huang, J.; Li, H.; Yang, G. Outsourced Ciphertext-Policy Attribute-Based Encryption with Equality Test. In Information Security and Cryptology; Guo, F., Huang, X., Yung, M., Eds.; Springer International Publishing: Cham, Switzerland, 2019; Volume 11449, pp. 448–467. [Google Scholar] [CrossRef]
  33. Wang, S.; Yao, L.; Chen, J.; Zhang, Y. KS-ABESwET: A Keyword Searchable Attribute-Based Encryption Scheme With Equality Test in the Internet of Things. IEEE Access 2019, 7, 80675–80696. [Google Scholar] [CrossRef]
  34. Cui, Y.; Huang, Q.; Huang, J.; Li, H.; Yang, G. Ciphertext-Policy Attribute-Based Encrypted Data Equality Test and Classification. Comput. J. 2019, 62, 1166–1177. [Google Scholar] [CrossRef]
  35. Qu, H.; Yan, Z.; Lin, X.J.; Zhang, Q.; Sun, L. Certificateless Public Key Encryption with Equality Test. Inf. Sci. 2018, 462, 76–92. [Google Scholar] [CrossRef]
  36. Hassan, A.; Wang, Y.; Elhabob, R.; Eltayieb, N.; Li, F. An Efficient Certificateless Public Key Encryption Scheme with Authorized Equality Test in Healthcare Environments. J. Syst. Archit. 2020, 109, 101776. [Google Scholar] [CrossRef]
  37. Dong, S.; Zhao, Z.; Wang, B.; Gao, W.; Zhang, S. Certificateless Encryption Supporting Multi-Ciphertext Equality Test with Proxy-Assisted Authorization. Electronics 2023, 12, 4326. [Google Scholar] [CrossRef]
  38. Wang, Y.; Huang, Q.; Li, H.; Xiao, M.; Huang, J.; Yang, G. Public Key Encryption with Fuzzy Matching. In Provable and Practical Security; Huang, Q., Yu, Y., Eds.; Springer International Publishing: Cham, Switzerland, 2021; Volume 13059, pp. 39–62. [Google Scholar] [CrossRef]
  39. Zhao, Z.; Guo, F.; Wu, G.; Susilo, W.; Wang, B. Secure Infectious Diseases Detection System With IoT-Based e-Health Platforms. IEEE Internet Things J. 2022, 9, 22595–22607. [Google Scholar] [CrossRef]
  40. Chen, L.; Cheng, Z. Security Proof of Sakai-Kasahara’s Identity-Based Encryption Scheme. In Cryptography and Coding; Hutchison, D., Kanade, T., Kittler, J., Kleinberg, J.M., Mattern, F., Mitchell, J.C., Naor, M., Nierstrasz, O., Pandu Rangan, C., Steffen, B., et al., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3796, pp. 442–459. [Google Scholar] [CrossRef]
  41. Cheng, Z. Security Analysis of SM9 Key Agreement and Encryption. In Information Security and Cryptology; Guo, F., Huang, X., Yung, M., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2019; pp. 3–25. [Google Scholar] [CrossRef]
  42. Sedghi, S.; Van Liesdonk, P.; Nikova, S.; Hartel, P.; Jonker, W. Searching Keywords with Wildcards on Encrypted Data. In Security and Cryptography for Networks; Hutchison, D., Kanade, T., Kittler, J., Kleinberg, J.M., Mattern, F., Mitchell, J.C., Naor, M., Nierstrasz, O., Pandu Rangan, C., Steffen, B., et al., Eds.; Springer: Berlin/Heidelberg, Germany, 2010; Volume 6280, pp. 138–153. [Google Scholar] [CrossRef]
  43. Phuong, T.V.X.; Yang, G.; Susilo, W. Efficient Hidden Vector Encryption with Constant-Size Ciphertext. In Computer Security—ESORICS 2014; Kutyłowski, M., Vaidya, J., Eds.; Springer International Publishing: Cham, Switzerland, 2014; Volume 8712, pp. 472–487. [Google Scholar] [CrossRef]
  44. Bentahar, K.; Farshim, P.; Malone-Lee, J.; Smart, N.P. Generic Constructions of Identity-Based and Certificateless KEMs. J. Cryptol. 2008, 21, 178–199. [Google Scholar] [CrossRef]
  45. Cramer, R.; Shoup, V. Design and Analysis of Practical Public-Key Encryption Schemes Secure against Adaptive Chosen Ciphertext Attack. SIAM J. Comput. 2003, 33, 167–226. [Google Scholar] [CrossRef]
  46. State Cryptography Administration. Information Security Technology. In SM4 Block Cipher Algorithm; Cryptocurrency Industry Standardization Technical Committee: Beijing, China, 2016; p. 8. [Google Scholar]
Figure 1. System Model of IBE-DFET.
Figure 1. System Model of IBE-DFET.
Electronics 13 01256 g001
Figure 2. Equality Test of CLE-MET-PA.
Figure 2. Equality Test of CLE-MET-PA.
Electronics 13 01256 g002
Table 1. Comparison among several equality test schemes.
Table 1. Comparison among several equality test schemes.
Schemes[15][38][39]Ours
Enc6E + 3H + 2P ( 3 n + 5 ) E + ( 2 n + 1 ) H ( n L + n + 2 ) E + ( n + 1 ) H ( n L + n + 4 ) E(+) + 2E + ( n + 2 ) H + 1P
Dec4E + 3H + 2P 2 n E + 2 n P ( n L + n + 2 ) E + ( n + 1 ) H2H + 2P
Test2E + 4P 3 n E + ( 2 n + 2 ) P 2 ( m + 1 ) E + 2P ( m + 1 ) E(+) + E + ( n + 1 ) H + 2P
| C T | 5 | G | + | Z p | ( 2 n + 4 ) | G | ( L + 2 ) | G | + 2 | Z p | + { 0 , 1 } n ( L + 3 ) | G | + { 0 , 1 } 2 n + λ
SecurityOW-ID-CCAIND-CPAF-OW-CCAF-OW/IND-ID-CCA
Fuzzy×Designated-DistanceDesignated-PositionDesignated-Position
AntiCM××
Aut-typeAoN-typeCiphertext-level×AoN-type(improved)
E, E(+), H, and P represent the computation cost of an exponential operation on multiplicative group, an exponential operation on additive group, a hash operation, and a pairing operation. | Z p | , | G | represent the bit length of a group element in Z p , G respectively. n: The size of a message. L: Maximum allowable size of the wildcard set. AntiCM represents the anti-certificate management feature. Aut-type represents the authorization type. “✓” indicates that the scheme supports the feature, while “×” indicates that the scheme does not possess the feature.
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

Dong, S.; Zhao, Z.; Wang, B.; Gao, W.; Zhang, S. SM9 Identity-Based Encryption with Designated-Position Fuzzy Equality Test. Electronics 2024, 13, 1256. https://doi.org/10.3390/electronics13071256

AMA Style

Dong S, Zhao Z, Wang B, Gao W, Zhang S. SM9 Identity-Based Encryption with Designated-Position Fuzzy Equality Test. Electronics. 2024; 13(7):1256. https://doi.org/10.3390/electronics13071256

Chicago/Turabian Style

Dong, Siyue, Zhen Zhao, Baocang Wang, Wen Gao, and Shanshan Zhang. 2024. "SM9 Identity-Based Encryption with Designated-Position Fuzzy Equality Test" Electronics 13, no. 7: 1256. https://doi.org/10.3390/electronics13071256

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