Next Article in Journal
Efficient EM Scattering Modeling from Metal Targets Coated with Anisotropic Thin Layers
Next Article in Special Issue
Design of Secure and Efficient Authentication Protocol for Edge Computing-Based Augmented Reality Environments
Previous Article in Journal
Wide-Load-Range Double-T Resonant Converter for CC/CV Battery Charging
Previous Article in Special Issue
Lattice-Based Threshold Secret Sharing Scheme and Its Applications: A Survey
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Pairing-Free Certificate-Based Proxy Re-Encryption Plus Scheme for Secure Cloud Data Sharing

1
School of Computer, Xijing Unversity, Xi’an 710123, China
2
School of Cyberspace Security, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
3
Cryptographic Engineering College, Engineering University of Peoples Armed Police, Xi’an 710086, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(3), 534; https://doi.org/10.3390/electronics13030534
Submission received: 14 December 2023 / Revised: 17 January 2024 / Accepted: 24 January 2024 / Published: 29 January 2024
(This article belongs to the Special Issue Novel Methods Applied to Security and Privacy Problems)

Abstract

:
The popularity of secure cloud data sharing is on the rise, but it also comes with significant concerns about privacy violations and data tampering. While existing Proxy Re-Encryption (PRE) schemes effectively protect data in the cloud, challenges persist with certificate administration and key escrow. Moreover, the increasing number of users and prevalence of lightweight devices demand functional and cost-effective solutions. To address these issues, this paper presents a novel Pairing-free Certificate-Based Proxy Re-Encryption Plus scheme that leverages elliptic curve groups for improved effectiveness and performance. This scheme successfully resolves challenges related to certificate management and key escrow in traditional PRE schemes, while also introducing non-transferable and message-level fine-grained control characteristics. These enhancements bolster data security during sharing and minimize the risk of malicious information leakage. Our proposed scheme’s correctness, security, and effectiveness are rigorously verified and analyzed. The results demonstrate that the scheme achieves the chosen ciphertext security in the random oracle model. Compared to current PRE schemes, our approach offers greater advantages, lower computational overhead, and enhanced suitability for practical cloud computing applications.

1. Introduction

1.1. Background

With the rapid advancement and convergence of cloud computing, big data, and related technologies, public cloud storage has become immensely popular. Users increasingly depend on cloud storage solutions for online data storage and sharing. However, this convenience comes with security concerns. When users store their data in the cloud, they lose direct control, leading to potential issues such as privacy breaches and compromised data confidentiality. The semi-trustworthy nature inherent in third-party cloud service providers poses a challenge for users in conferring absolute trust. Consequently, the predominant strategy for ensuring data protection rests on the shoulders of the cloud subscribers themselves, who rightfully own and safeguard their data.
Data confidentiality is typically guaranteed via the pre-upload encryption of data to the cloud. Nevertheless, challenges arise in scenarios where data sharing among diverse users is essential. In the context of sharing data between User A and User B, User A is required to download and decrypt the data before transmitting it to User B. Upon reception, User B must re-encrypt the data before uploading it to the cloud storage platform. This method exhibits inefficiency and introduces the potential for data leakage during transmission, thereby compromising the security and convenience that public cloud storage platforms aim to provide.
Blaze et al. [1] introduced the concept of Proxy Re-Encryption (PRE) at the 1998 Euromonitor conference to address these challenges. In the PRE system, users can convert ciphertext encrypted by an authorized party into ciphertext that can be decrypted by another authorized party with the assistance of a semi-trusted third party. This process ensures that the third party cannot access the plaintext information of the data, providing an efficient and secure solution for cloud data sharing.
Utilizing a Proxy Re-Encryption (PRE) scheme empowers data owners to delegate access to their stored data, enabling designated individuals to download and access the data directly from the cloud. Proxy re-encryption serves to diminish the direct interaction between the authorizer and the authorized party, consequently elevating data-sharing security and mitigating overhead for the cloud subscriber.

1.2. Our Contribution

This paper introduces a novel scheme called Pairing-Free Certificate-Based Proxy Re-Encryption Plus (PCBPRE+), which combines the features of Pairing-free Proxy Re-Encryption (PPRE) and Certificate-Based Proxy Re-Encryption Plus (CBPRE+). The main contributions of this scheme are outlined below:
  • This paper introduces the PCBPRE+ scheme, which combines the properties of PPRE and CBPRE+ schemes. The proposed scheme improves computational efficiency by eliminating the reliance on bilinear pairs, effectively addressing the issue of high computation overhead present in existing schemes. As a result, the PCBPRE+ scheme is highly suitable for deployment on computationally or power-constrained devices.
  • The scheme presented in this paper effectively addresses the challenges related to certificate management and key escrow in traditional CBPRE schemes. Additionally, it incorporates non-transferable and message-level fine-grained control features. Through fine-grained data control and permission management, the scheme ensures that only authorized users can access the data, thereby preventing unauthorized information leakage and tampering.
  • This paper offers a formal conceptual description of the PCBPRE+ scheme, along with a defined security model. We designed a concrete PCBPRE+ scheme and rigorously verified and analyzed its correctness, security, and performance. Detailed empirical evidence and evaluation demonstrate the feasibility and practicality of the scheme.

1.3. Organization

This paper is structured as follows: Section 2 provides a review of the relevant literature for our strategy. In Section 3, background information is presented. The security model of the system is described in Section 4. Section 5 introduces the new PCBPRE+ scheme. Its accuracy and security are confirmed in Section 6, while Section 7 contains a study of its performance.

2. Related Work

Proxy Re-Encryption (PRE) has received increased academic attention recently, leading to the development of several well-known PRE schemes [2,3,4,5,6]. However, many of these schemes rely on traditional public-key cryptosystems (PKC) [7,8,9,10] or identity-based cryptosystems [11,12,13,14], which can introduce certain limitations and challenges.
Traditional proxy re-encryption schemes based on public-key cryptosystems face challenges in certificate management, while identity-based cryptosystems have inherent key escrow issues. To address these concerns, Sur introduced the concept of certificateless proxy re-encryption (CLPRE) within the framework of certificateless public-key cryptography (CLPKC) [15]. This approach allows users to overcome key escrow problems by combining a partially trusted key generation center (KGC) with a user-selected key value, generating an independent private key. This ensures that the KGC remains unaware of any user’s private key. However, the introduction of various CLPRE schemes [16,17] has revealed that the KGC still needs to securely transmit a portion of the private key to the user, leading to a new key distribution challenge. Consequently, CLPRE still has limitations in cloud storage applications.
Sur et al. proposed a scheme known as Certificate-Based Proxy Re-Encryption (CBPRE) that addresses the limitations and shortcomings of earlier proxy Re-Encryption (PRE) schemes [18]. CBPRE leverages the implicit certificate property of the Certificate-Based Encryption (CBE) paradigm, achieving a balance between identity-based encryption and conventional public-key encryption. This approach effectively tackles the challenge of certificate revocation in conventional public-key encryption and overcomes the issues of key escrow and distribution in identity-based encryption. As a result, CBPRE has emerged as an ideal solution for achieving secure and efficient cloud storage sharing [19,20].
Furthermore, Sur et al. established the first provably secure CBPRE scheme and provided a formal conception of CBPRE. Following this, Li et al. [21] proposed the Certificate-Based Conditional Proxy Re-Encryption (CB-CPRE) scheme and demonstrated its chosen ciphertext security in the random oracle model. The CB-CPRE scheme allows for conditional filtering of stored data; however, the authorized party can only obtain either all plaintexts or no plaintexts after decrypting the re-encrypted ciphertexts, thus lacking the ability to achieve fine-grained sharing at the message level.
Liu et al. [22] developed the CBPRE+ technique to address fine-grained sharing at the message level. This scheme combines the advantageous features of CBPRE and Proxy Re-Encryption Plus (PRE+) [23,24,25]. PRE+ was initially proposed by Wang et al., utilizing distinct ephemeral random values chosen by the authorizer to achieve fine-grained sharing and non-transferability features at the message level, which are highly desirable characteristics for cloud storage scenarios [26,27].
Currently, certificate-based proxy re-encryption schemes typically rely on computationally intensive bilinear pairings. However, with the continuous development of cloud computing technology and the widespread adoption of Internet of Things (IoT) applications in recent years, there is a geometric growth trend in both user numbers and data volume. This trend is particularly evident in various fields such as medical IoT and vehicular IoT, where the increase in data volume is accompanied by a more urgent demand for rapid data responsiveness. Consequently, the efficiency issues of cloud storage have drawn considerable attention, as the process of data sharing often consumes significant amounts of network and computational resources. Despite some progress in the implementation of bilinear pairings, they remain the most time-consuming and least efficient part of encryption operations. Therefore, proposing a more efficient data-sharing solution has become imperative.
To address this issue, Lu et al. introduced a certificate-based proxy re-encryption scheme in their paper [28], which eliminates the reliance on bilinear pairings and adopts a non-bilinear pairing approach. This method significantly improves computational efficiency and is better suited to the data development trends in modern society. However, achieving a balance between functionality and efficiency remains a challenge under the prerequisite of meeting both aspects.

3. Preliminary

3.1. Elliptic Curve Group and Computational Assumption

To begin, a brief summary of the elliptic curve group, which serves as the foundation for the scheme, is provided.
Let F p be a finite field with the following operations, and let p be a prime number:
  • Addition: If a , b F p , then a + b = r mod p, where 0 r p 1 .
  • Multiplication: If a , b F p , then a · b = r mod p, where 0 r p 1 .
  • Inversion: If a is a non-zero element in F p , then the inverse of a is the only element c F p that satisfies a · c = r mod p.
Let F p be a p element finite field and a and b be two elements of F p satisfying the discriminant = 4 a 3 + 27 b 2 0 . The elliptic curve over the finite field F p , denoted as E ( F p ) , is formally defined as the set of all points ( x , y ) on F p that satisfy the Weierstrass equation y 2 = x 3 + a x + b , along with the inclusion of point O at infinity. In other words, all the points on E ( F p ) collectively form an exchange group denoted as G = ( x , y ) x , y F p a n d y 2 = x 3 + a x + b O .
The binary operation “+” on group G is formally defined as follows: Let P , Q G , L be the line through P and L (if P = Q , then L represents the tangent line to group G at point P ), L intersects G at a third point, denoted R , and reflecting R on the x-axis gives a point R, defining P + Q = R . Quantitative multiplication in group G: t P = P + P + + P (t times).
The security of this scheme relies on the underlying assumption of the Computational Diffie–Hellman (CDH) problem. This problem can be defined as follows:
Definition 1.
Let G be a large prime elliptic curve group of order q and P a generating element of group G. Then, the CDH problem on group G is as follows: Given P , a P , b P G 3 , compute a b P = P G for any a , b Z q * . Let us assume the existence of a probabilistic polynomial-time (PPT) algorithm, denoted as A C D H , that can effectively solve the Computational Diffie–Hellman (CDH) problem with a certain probability:
A d v ( A C D H ) = P r [ A C D H ( G , q , P , a P , b P ) = a b P ]
If the probability A d v ( A C D H ) of success for all PPT algorithms A C D H is negligible, then the CDH problem in group G is considered computationally hard to solve.

3.2. Program Definition

This scheme involves four key roles, including the sender, receiver, semi-trusted proxy, and Certificate Authority (CA). The CA is primarily responsible for authenticating the identities of the sender and receiver and issuing certificates. The sender is tasked with key generation, message encryption, and re-encryption key generation. The semi-trusted proxy is responsible for re-encrypting the ciphertext, and upon receiving the re-encrypted ciphertext, the receiver can decrypt it using their private key. Each role plays a unique and crucial part in the scheme, collectively constituting the complete operation of the proxy re-encryption scheme. In this collaborative system, each role contributes significantly to the overall functionality.
  • Setup (k): Given the security parameter k as input, the algorithm outputs the system’s public parameter p a r a m s and the master key m s k .
  • KeyGen ( p a r a m s ): Given the system’s public parameter p a r a m s as input, the algorithm generates and outputs the user’s private key s k and partial public key p k 1 .
  • Certify ( p a r a m s , m s k , i d , p k ): Given the system’s public parameter p a r a m s , master key m s k , user identity i d , and partial public key p k 1 as input, the algorithm generates and outputs all public keys p k = ( p k 1 , p k 2 ) and user certificate C e r t .
  • Encrypt ( p a r a m s , m , i d A , p k A ): Given the ephemeral randomness t , message m, user identity i d A , public key p k A , and the system’s public parameter p a r a m s as input, the algorithm creates and outputs the message’s original ciphertext C A .
  • ReKeyGen ( p a r a m s , t , p k A , C e r t A , i d B , p k B ): Given the ephemeral randomness t , the private key s k A of user A, certificate C e r t A , Identity i d B of authorized user B, public key p k B , and the system’s public parameter p a r a m s as input, the encryption key r k A B is created and output by the algorithm.
  • ReEncrypt ( p a r a m s , C A , r k A B ): Given the original ciphertext C A , the re-encryption key r k A B , and the system’s public parameter p a r a m s as input, the algorithm outputs the re-encryption ciphertext C B .
  • Decrypt1 ( p a r a m s , s k A , C e r t A , C A ): Given the system’s public parameter p a r a m s , the private key s k A of the authorizer, the certificate C e r t A and the original ciphertext C A as input, the algorithm outputs either the message m or the invalid symbol ⊥.
  • Decrypt2 ( p a r a m s , s k B , C e r t B , C B ): Given the system’s public parameter p a r a m s , the private key s k B of the authorized party, the certificate C e r t B , and the original ciphertext C B as input, the algorithm outputs either the message m or the invalid symbol ⊥.

4. Security Model

In the PCBPRE+ scheme’s security model, the adversaries can be divided into two groups: A 1 and A 2 . Adversary A 1 simulates an unauthenticated user who lacks access to the system’s master key. However, adversary A 1 has the ability to request the certificate of any user except for the target user. On the other hand, adversary A 2 acts as a malicious Certification Authority ( C A ) by simulating its behavior to gain access to the system’s master key. A 2 has the ability to request the private key of any user except for the private key of the target user.
The security of the scenario can be characterized by the interactive game I N D - C C A 2 - G a m e , involving adversaries A 1 and A 2 , as well as the challenger. A security model diagram is shown in Figure 1.

4.1. Game IND-CCA2-I

  • System parameter setting: The challenger executes the algorithm S e t u p ( λ ) to generate the system’s public parameter set p a r a m s , with C A corresponding to master key m s k . The challenger outputs the master key m s k and outputs the system parameter set p a r a m s to adversary A 1 .
  • Phase 1: Adversary A 1 is able to make the following inquiries in an adaptive manner.
    • Users generation oracle: The challenger keeps track of the user’s private key, public key, and certificate in a table called L u s e r that is initially empty. Adversary A 1 inputs the identity i d u , and if there is already a record in table L u s e r , the challenger outputs the public key i d u to adversary A 1 ; otherwise, the challenger generates the public key p k u , private key s k u , and certificate C e r t u corresponding to the identity i d u , records them in L u s e r , and outputs the public key p k u to A 1 .
    • Private key generation oracle: Adversary A 1 enters the identity i d u , and the challenger extracts the private key s k u from the L u s e r table and outputs it to the A 1 .
    • Certificate generation oracle: Certificate Inquiry: Adversary A 1 enters the identity i d u , and the challenger obtains the certificate C e r t u from table L u s e r and outputs it to A 1 .
    • Re-encryption key generation oracle: Adversary A 1 inputs the identity ( i d i , i d j ) , randomly selects ephemeral randomness t Z q * , and the challenger generates a re-encryption key r k i j , and outputs the re-encryption key r k i j to adversary A 1 .
    • Re-encryption oracle: Adversary A 1 inputs an original ciphertext C i and the identity ( i d i , i d j ) , and the challenger generates a re-encrypted ciphertext C j , and outputs the re-encrypted ciphertext C j to adversary A 1 .
    • Decryption oracle: Adversary A 1 inputs identity i d i and a ciphertext C i , and the challenger performs the decryption algorithm on C i and outputs the resulting value to A 1 .
  • Challenge stage: After the Stage 1 inquiries, adversary A 1 produces an identity i d c and two plaintexts of equal length, denoted as m 0 , m 1 . The restriction is that adversary A 1 has not made an inquiry about the certificate corresponding to the identity i d c . The challenger randomly chooses β 0 , 1 , runs the algorithm E n c r y p t to generate the original ciphertext C c of m β , and outputs it as the challenge ciphertext to A 1 , where A 1 does not interrogate the re-encryption key for ( i d c , i d i ) .
  • Phase 2: The same as the phase 1 interrogation, with the following restrictions: adversary A 1 cannot interrogate the certificate of the challenging identity i d c ; for any i d i i d c , adversary A 1 cannot make an inquiry about the ( i d c , i d i ) with the re-encryption key; adversary A 1 cannot interrogate the ( i d c , C c ) and the ( i d d , C d ) with the decryption key, and in the process, C d interrogates the output of the ( i d c , i d d , C c ) for the re-encryption.
  • Guess: Adversary A 1 outputs a guess β for β . If β = β , then adversary A 1 wins the game. The advantage for adversary A 1 to win is A d v ( A 1 ) = P r β = β 1 / 2 .

4.2. Game IND-CCA2-II

  • System parameter setting: The challenger executes the algorithm S e t u p ( λ ) to generate the system’s public parameter p a r a m s , with C A corresponding to the master key m s k . The challenger outputs the master key m s k and outputs the system parameter set p a r a m s to adversary A 2 .
  • Phase 1: Adversary A 2 is able to make the following inquiries in an adaptive manner.
    1.
    Users generation oracle: The challenger keeps track of the user’s private key, public key, and certificate in a table called L u s e r that is initially empty. Adversary A 2 inputs the identity i d u , and if there is already a record in table L u s e r , the challenger outputs the public key p k u to adversary A 2 ; otherwise, the challenger generates the public key p k u , private key s k u , and certificate C e r t u corresponding to the identity i d u , records them in L u s e r , and outputs the public key p k u to A 2 .
    2.
    Private key generation oracle: Adversary A 2 enters the identity i d u , and the challenger obtains the private key s k u from the table L u s e r and outputs it to A 2 .
    3.
    Re-encryption key generation oracle: Adversary A 2 inputs the identity ( i d i , i d j ) , randomly selects ephemeral randomness t Z q * , and the challenger generates a re-encryption key r k i j , and outputs the re-encryption key r k i j to adversary A 2 .
    4.
    Re-encryption oracle: Adversary A 2 inputs an original ciphertext C i , and identity ( i d i , i d j ) , and the challenger generates a re-encrypted ciphertext C j , and outputs the re-encrypted ciphertext C j to adversary A 2 .
    5.
    Decryption oracle: Adversary A 2 inputs identity i d i and a ciphertext C i , and the challenger performs the decryption algorithm on C i and outputs the resulting value to A 2 .
  • Challenge stage: Following the Stage 1 inquiries, adversary A 2 produces an identity i d c along with two plaintexts of equal length, denoted as m 0 and m 1 . The restriction is that adversary A 2 has not asked for the private key corresponding to identity i d c . The challenger randomly chooses β 0 , 1 , runs the algorithm E n c r y p t to generate the original ciphertext C c of m β , and outputs it as the challenge ciphertext to A 2 , where A 2 does not interrogate the re-encryption key for ( i d c , i d i ) .
  • Phase 2: The same as the phase 1 interrogation, with the following restrictions: Adversary A 2 cannot ask for the private key of the challenge identity i d c ; for any i d i i d c , adversary A 2 cannot inquiry the ( i d c , i d i ) with the re-encryption key; adversary A 2 cannot interrogate the ( i d c , C c ) and the ( i d d , C d ) with the decryption key, and in the process, the C d interrogates the output of the ( i d c , i d d , C c ) for the re-encryption.
  • Guess: Adversary A 2 outputs a guess β for β . If β = β , then adversary A 2 wins the game. The advantage for adversary A 2 to win is A d v ( A 2 ) = P r β = β 1 / 2 .
Definition 2.
A certificate-based proxy re-encryption scheme is considered to satisfy indistinguishable security under adaptive chosen ciphertext attacks (IND-CCA2 security) if no PPT adversary can gain a significant advantage in winning the aforementioned game.

5. Pairing-Free Certificate-Based Proxy Re-Encryption Plus Scheme

The PCBPRE+ scheme consists of eight algorithms, and Figure 2 provides a concise depiction of the scheme.
  • Setup: On inputting security parameters k, generate the master key m s k and the set of public parameters p a r a m s as follows:
    (a)
    The k-bit prime q is chosen to produce a cyclic additive group, where group G comprises elliptic curves whose order is the large prime q and P is the generating element of G.
    (b)
    Choose five hash functions, where n and l denote the length of the random bit string used by the plaintext and encryption algorithms, respectively:
    H 1 : 0 , 1 * × G 2 Z q *
    H 2 : 0 , 1 n × 0 , 1 l × 0 , 1 * × G 2 Z q *
    H 3 : G 0 , 1 n + l
    H 4 : G × Z q * × G × 0 , 1 n + l × G Z q *
    H 5 : 0 , 1 * × 0 , 1 * × G Z q *
    (c)
    CA randomly selects α Z q * , calculates P p u b = α P , and outputs the master key m s k = α and the set of public parameters:
    p a r a m s = G , q , P , P p u b , n , l , H 1 , H 2 , H 3 , H 4 , H 5 .
  • KeyGen: On inputting public parameters p a r a m s , this algorithm randomly selects s k i = x i Z q * as the user i private key and computes the partial public key p k i 1 = x i P . Output user i’s private keys s k i and partial public key p k i 1 .
  • Certify: On inputting public parameter p a r a m s , master key m s k , identity i d i , and the partial public key p k i 1 .
    (a)
    The algorithm randomly selects y i Z q * , user i’s public key p k i = ( p k i 1 , p k i 2 ) = ( x i P , y i P ) .
    (b)
    The algorithm calculates user i’s certificate C e r t i = y i + α H 1 ( i d i , p k i ) .
  • Encrypt: On inputting message m 0 , 1 n , identity i d A , the public key p k A = ( p k A 1 , p k A 2 ) , and public parameter p a r a m s , the user does the following:
    (a)
    Choose ephemeral randomness c Z q * at random.
    (b)
    Randomly select a l-bit δ 0 , 1 l , and calculate r = H 2 ( m , δ , i d A , p k A ) , f = c r .
    (c)
    Computer the ciphertext C 1 = r P , C 2 = r , C 3 = c r P , C 4 = ( m δ ) H 3 ( f Q A ) , where Q A = p k A 1 + p k A 2 + h A P p u b , h A = H 1 ( i d A , p k A ) .
    (d)
    Randomly select t Z q * , and compute the ciphertext C 5 = t P , C 6 = t + c r H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) .
    (e)
    Output the original ciphertext C = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ) .
  • ReKeyGen: On inputting ephemeral randomness c, public parameter p a r a m s , identity i d A , certificate C e r t A , the public key p k A of sender A, and the identity i d B and public key p k B = ( p k B 1 , p k B 2 ) of receiver B, this algorithm performs as follows:
    (a)
    Calculate s = H 5 ( i d A , i d B , p k B 1 + p k B 2 + h B P p u b ) , where h B = H 1 ( i d B , P K B ) .
    (b)
    Then, compute r k 1 = s 1 · c · C e r t A , r k 2 = s 1 · c · p k A 1 , r k 3 = s 1 · C e r t A .
    (c)
    Set the proxy re-encryption key r k A B = ( r k 1 , r k 2 , r k 3 ) .
  • ReEncrypt: On inputting a re-encryption key r k A B , ciphertext C, and public parameter p a r a m s , the steps that the proxy takes are as follows:
    (a)
    If C 6 P = C 5 + H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) C 3 , then continue; otherwise, output ⊥.
    (b)
    Compute C 1 = r k 1 · C 1 , C 2 = r k 2 · C 2 , C 3 = C 4 , C 4 = r k 3 · C 1 , and output a new ciphertext C = ( i d A , C 1 , C 2 , C 3 , C 4 ) .
  • Decrypt1: On inputting ciphertext C, identity i d A , private keys s k A , the certificate C e r t A of sender A, and public parameter p a r a m s , the receiver A operates as follows:
    (a)
    If C 6 P = C 5 + H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) C 3 , then proceed; if not, output ⊥.
    (b)
    Compute ( m δ ) = C 4 H 3 ( s k A + C e r t A ) C 5 .
    (c)
    If C 3 = c r P , where r = H 2 ( m , δ , i d A , P K A ) , the algorithm returns m as the message. Otherwise, it outputs ⊥, indicating a failure or invalid condition.
  • Decrypt2: On inputting ciphertext C , identity i d A , the public key p k A of sender A and identity i d B , private keys s k B , the certificate C e r t B of receiver B, and public parameter p a r a m s , the receiver B operates as follows:
    (a)
    Compute s = H 5 ( i d A , i d B , ( s k B + C e r t B ) P ) .
    (b)
    Compute ( m δ ) = C 3 H 3 ( s ( C 1 + C 2 ) ) .
    (c)
    If C 4 = ( s ) 1 r ( p k A 2 + h A P p u b ) , where h A = H 1 ( i d A , p k A ) , r = H 2 ( m , δ , i d A , p k A ) , the algorithm returns m as the message. Otherwise, it outputs ⊥, indicating a failure or invalid condition.

6. Security Analysis

6.1. Correctness Analysis

Original ciphertext verification:
C 6 P = ( t + c r H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) ) P = C 5 + H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) C 3
Original ciphertext decryption verification:
C 4 H 3 ( ( s k A + C e r t A ) C 3 ) = C 4 H 3 ( ( x A + y A + α H 1 ( i d A , p k A ) ) c r P ) = C 4 H 3 ( ( p k A 1 + p k A 2 + H 1 ( i d A , p k A ) P p u b ) c r ) = C 4 H 3 ( c r Q A ) = ( m δ ) H 3 ( c r Q A ) H 3 ( c r Q A ) = ( m δ )
Re-encryption ciphertext decryption verification:
s = H 5 ( i d A , i d B , ( s k B + C e r t B ) P ) = H 5 ( i d A , i d B , ( p k B 1 + p k B 2 + h B P p u b ) ) = s
C 3 H 3 ( s ( C 1 + C 2 ) ) = C 3 H 3 ( s ( r k 1 · C 1 + r k 2 · C 2 ) = C 3 H 3 ( s ( s 1 · C e r t A · c · r P + s 1 · p k A 1 · c r ) ) = C 3 H 3 ( C e r t A · c r P + p k A 1 · c r ) = ( m δ ) H 3 ( c r Q A ) H 3 ( c r ( C e r t A · P + p k A 1 ) ) = ( m δ ) H 3 ( c r Q A ) H 3 ( c r ( ( y A + α H 1 ( i d A , p k A ) ) P + p k A 1 ) ) = ( m δ ) H 3 ( c r Q A ) H 3 ( c r ( p k A 2 + h A P h u b + p k A 1 ) ) = ( m δ ) H 3 ( c r Q A ) H 3 ( c r Q A ) = ( m δ )

6.2. Security Analysis

Theorem 1.
Assuming that H 1 H 5 are random prophecies, if there exists a first class adversary A 1 about the security of this scheme IND-CCA2 with advantage ε, asking at most q c u user-generated queries, q k private key queries, q c e r certificate queries, q r e k re-encryption key queries, q r e n re-encryption queries, q d e c decryption queries, and q i random prophecy H i queries ( 1 i 5 ) , then the CDH problem on group G is solved by the A C D H algorithm with advantage ε 1 q 3 ε q c u q r e n + q d e c 2 λ q 2 2 l + 1 .
Proof. 
In this paper, an algorithm A C D H is constructed to mimic the challenger of IND-CCA2, a CDH problem example is given as ( G , q , P , a P , b P ) , and the algorithm A C D H interacts with the first class adversary A 1 to solve the CDH problem:
  • System parameter setting: The algorithm A C D H probabilistically selects an index value θ 1 , q c u , a Z q * , P p u b = a P and A C D H outputs { q , P , G , n , l , H 1 , H 2 , H 3 , H 4 , H 5 , P p u b } to adversary A 1 as an open parameter set p a r a m s .
  • Hash Oracle Queries: Adversary A 1 generates a random prophecy H 1 H 5 query, algorithm A C D H maintains table L H 1 L H 5 , where L H 1 L H 5 is initially empty, and algorithm A C D H interacts with adversary A 1 as follows:
    H 1 Queries: Adversary A 1 inputs ( i d i , p k i ) , if table L H 1 already has records ( i d i , p k i , h 1 ) , algorithm A C D H outputs h 1 to adversary A 1 ; otherwise, algorithm A C D H randomly selects h 1 Z q * , records ( i d i , p k i , h 1 ) into L H 1 , and outputs h 1 to adversary A 1 .
    H 2 Queries: Adversary A 1 inputs ( m , δ , i d i , p k i ) , if table L H 2 already has records ( m , δ , i d i , p k i , h 2 , f ) , algorithm A C D H outputs h 2 to adversary A 1 ; otherwise, algorithm A C D H randomly selects h 2 Z q * , records ( m , δ , i d i , p k i , h 2 , f ) into L H 2 , and outputs h 2 to adversary A 1 .
    H 3 Queries: Adversary A 1 inputs R, if table L H 3 already has records ( R , h 3 ) , algorithm A C D H outputs h 3 to adversary A 1 ; otherwise, algorithm A C D H randomly selects h 3 0 , 1 n + l , records ( R , h 3 ) into L H 3 , and outputs h 3 to adversary A 1 .
    H 4 Queries: Adversary A 1 inputs ( C 1 , C 2 , C 3 , C 4 , C 5 ) , if table L H 4 already has records ( C 1 , C 2 , C 3 , C 4 , C 5 , h 4 ) , algorithm A C D H outputs h 4 to adversary A 1 ; otherwise, algorithm A C D H randomly selects h 4 Z q * , records C 1 , C 2 , C 3 , C 4 , C 5 , h 4 ) into L H 4 , and outputs h 4 to adversary A 1 .
    H 5 Queries: Adversary A 1 inputs ( i d i , i d j , S ) , if table L H 5 already has records ( i d i , i d j , S , h 5 ) , algorithm A C D H outputs h 5 to adversary A 1 ; otherwise, algorithm A C D H randomly selects h 5 Z q * , records ( i d i , i d j , S , h 5 ) into L H 5 , and outputs h 5 to adversary A 1 .
  • Phase 1: Adversary A 1 adaptively makes the following queries, and the algorithm A C D H maintains the table below as initially empty.
  • User generation query: Adversary A 1 enters i d i :
    (1)
    If there is already a record ( i d i , p k i , s k i , y i , C e r t i ) in table L u s e r , algorithm A C D H outputs p k i to adversary A 1 .
    (2)
    If i d i is the user identity i d θ ( θ 1 , q c u ) asked by adversary A 1 , that is, i d i = i d θ , the algorithm A C D H randomly selects x θ , y θ Z q * , p k θ = ( x θ P , y θ P ) , s k θ = x θ , records ( i d θ , p k θ , s k θ , y θ , ) into table L u s e r , and outputs p k θ to adversary A 1 .
    (3)
    If i d i i d θ , algorithm A C D H randomly select x i , s i , t i Z q * , let p k i = ( p k i 1 , p k i 2 ) = ( x i P , t i P s i P p u b ) , s k i = x i , C e r t i = t i , add ( i d i , p k i , s i ) and ( i d i , p k i , s k i , , C e r t i ) to table L H 1 and table L u s e r , respectively, and output p k i to adversary A 1 .
  • Private key generation query: Adversary A 1 inputs i d i , algorithm A C D H obtains the records ( i d i , p k i , s k i , C e r t i ) from table L u s e r , and outputs s k i to adversary A 1 .
  • Certificate generation query: Adversary A 1 inputs i d i , if i d i = i d θ , Algorithm A C D H stops the game; otherwise, Algorithm A C D H obtains the records ( i d i , p k i , s k i , C e r t i ) from Table L u s e r and outputs C e r t i to Adversary A 1 .
  • Re-encryption key generation query: Adversary A 1 inputs ( i d i , i d j ) , if i d i = i d θ , algorithm A C D H aborts the game; otherwise, algorithm A C D H obtains ephemeral randomness c, certificate C e r t i , and public key p k j , executes algorithm R e K e y G e n to produce a new re-encryption key r k i j = ( r k 1 , r k 2 , r k 3 ) , which is then output to adversary A 1 .
  • Re-encryption query: Adversary A 1 inputs ( i d i , i d j , C i = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ) ) , Algorithm A C D H first verifies the equation C 6 P = C 5 + H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) C 3 . If the equation does not hold, Algorithm A C D H rejects the query; if it does, Algorithm A C D H executes as follows:
    (1)
    If i d i = i d θ , then algorithm A C D H searches the table L H 2 for the record ( m , δ , i d i , p k i , h 2 ) satisfying C 1 = h 2 P , C 2 = h 2 , C 3 = h 2 c P , C 4 = ( m δ ) H 3 ( f Q i ) , where Q i = p k i 1 + p k i 2 + h i P p u b , h i = H 1 ( i d i , p k i ) . If there is no such record, the algorithm A C D H rejects the query; if it exists, then C 1 = s 1 · c · ( p k i 2 + H 1 ( i d i , p k i ) P p u b ) · h 2 , C 2 = s 1 · p k i 1 · h 2 c , C 3 = C 4 , C 4 = s 1 · ( p k i 2 + H 1 ( i d i , p k i ) P p u b ) · h 2 . where s = H 5 ( i d i , i d j , p k j 1 + p k j 2 + H 1 ( i d j , p k j ) P p u b ) . Algorithm A C D H outputs C j = ( i d i , C 1 , C 2 , C 3 , C 4 ) to adversary A 1 .
    (2)
    If i d i i d θ , algorithm A C D H undergoes a re-encryption key query on ( i d i , i d j ) to obtain r k i j , then outputs C j = R e E n c r y p t ( p a r a m s , r k i j , C i ) to adversary A 1 .
  • Decryption query: Adversary A 1 inputs ( i d i , C i ) , and the algorithm A C D H is executed as follows:
    (1)
    If i d i = i d θ , C i = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ) is an original ciphertext, Algorithm A C D H checks C 6 P = C 5 + H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) C 3 , if the query is not valid, Algorithm A C D H rejects the query; otherwise, algorithm A C D H searches the table L H 2 for records ( m , δ , i d i , p k i , h 2 ) that satisfy C 1 = h 2 P ,   C 2 = h 2 ,   C 3 = h 2 c P , C 4 = ( m δ ) H 3 ( f Q i ) , where Q i = p k i 1 + p k i 2 + h i P p u b , h i = H 1 ( i d i , p k i ) . If there is no such record, Algorithm A C D H rejects the query; if it exists, it outputs m to adversary A 1 as the decryption of ciphertext C i .
    (2)
    If i d i = i d θ , C i = ( i d j , C 1 , C 2 , C 3 , C 4 ) is a re-encrypted ciphertext, the algorithm A C D H performs the re-encryption key interrogation ( i d i , i d j ) to obtain the re-encryption key r k i j = ( r k 1 , r k 2 , r k 3 ) , and computes C 1 = ( r k 1 ) 1 · C 1 , C 2 = ( r k 2 ) 1 · C 2 ,   C 4 = ( r k 3 ) 1 · C 1 . Algorithm A C D H searches the table L H 2 for records ( m , δ , i d j , p k j , h 2 ) that satisfy C 1 = h 2 P ,   C 2 = h 2 ,   C 3 = h 2 c P , C 4 = ( m δ ) H 3 ( f Q j ) , where Q j = p k j 1 + p k j 2 + h j P p u b , h j = H 1 ( i d j , p k j ) . If there is no such record, algorithm A C D H rejects the query; if it exists, it outputs m to adversary A 1 as the decryption of ciphertext C i .
    (3)
    If i d i i d θ , the algorithm A C D H obtains s k i and C e r t i , decrypts C i using the appropriate decryption algorithm, then outputs m to adversary A 1 .
  • Challenge: After phase 1 queries, adversary A 1 outputs identity i d c and two plaintexts of equal length m 0 , m 1 . Adversary A 1 does not make a re-encryption key query for ( i d c , i d i ) . If i d c i d θ , the algorithm A C D H terminates the game, resulting in a failed simulation; otherwise, the algorithm A C D H probabilistically selects a value β 0 , 1 ,   e * Z q * ,   C 4 c 0 , 1 n + l , C 6 c , calculates C 1 c = b P ,   C 2 c = b , C 3 c = c b P , C 5 c = C 6 c P e * ( c b P ) , records ( C 1 c , C 2 c , C 3 c , C 4 c , C 5 c , e * ) in table L H 4 , and gives C c = ( C 1 c , C 2 c , C 3 c , C 4 c , C 5 c , C 6 c ) to A 1 as the challenge ciphertext. Obviously, C 6 c P = C 5 c + H 4 ( C 1 c , C 2 c , C 3 c , C 4 c , C 5 c ) C 3 c holds.
    Decrypt C c :
    C 4 c H 3 ( ( s k θ + C e r t θ ) C 3 c ) = C 4 c H 3 ( ( x θ + y θ + a H 1 ( i d θ , p k θ ) ) c b p )
    where H 2 ( m β , δ * , i d θ , p k θ ) = b , δ * 0 , 1 l .
  • Phase 2: The algorithm A C D H answers the same as the phase 1 interrogation with the following constraints: adversary A 1 cannot interrogate the certificate of challenge identity i d c ; for any i d i i d c , no re-encryption key interrogation can be performed on ( i d c , i d i ) ; no decryption interrogation can be performed on ( i d c , C c ) and ( i d d , C d ) . The result of the re-encryption query ( i d c , i d d , C c ) is C d during the procedure.
  • Guess: Adversary A 1 outputs a guess β for β . If β = β , then A 1 wins the game.
    During the challenge, if adversary A 1 chooses the identity i d θ as the challenge identity, which is i d θ = i d c , then Algorithm A C D H does not abort the game. Algorithm A C D H selects a random record ( R , h 3 ) in table L H 3 and uses T = ( c H 1 ( i d θ , p k θ ) ) 1 ( R x θ c b P y θ c b P ) as the solution to the given CDH problem.
Analysis: We define the following events in order to calculate the benefit of A C D H in solving the specified CDH problem:
(1)
A s k H 2 * : Adversary A 1 makes a random oracle H 2 query on ( m θ , δ * , i d θ , p k θ ) .
(2)
A s k H 3 * : Adversary A 1 makes a random oracle H 3 query on ( x θ + y θ + a H 1 ( i d θ , p k θ ) ) c b p .
(3)
A b o r t : During the simulation, A C D H stops the game.
(4)
R e E n c E r r : A C D H rejects a legitimate re-encryption query.
(5)
D e c E r r : A C D H rejects a legitimate decryption query.
Let E = ( R e E n c E r r D e c E r r A s k H 2 * A s k H 3 * ) ¬ A b o r t , obviously, P r β = β ¬ E 1 / 2 , we have
P r β = β = P r β = β ¬ E P r ¬ E + P r β = β E P r E P r ¬ E / 2 + P r E = 1 / 2 + P r E / 2
The scheme of [28] in the literature specifically proves that since the advantage of adversary A 1 to win is ε , there is.
ε = 2 P r β = β 1 / 2 P r E P r ( R e E n c E r r D e c E r r A s k H 2 * A s k H 3 * ) ¬ A b o r t ( P r R e E n c E r r + P r D e c E r r + P r A s k H 2 * + P r A s k H 3 * ) / P r ¬ A b o r t
where P r ¬ A b o r t = 1 / q c u , P r R e E n c E r r q r e n / 2 λ , P r D e c E r r q d e c / 2 λ , P r A s k H 2 * q 2 / 2 l + 1 . Therefore
P r A s k H 3 * P r ¬ A b o r t ε P r R e E n c E r r P r D e c E r r P r A s k H 2 * ε / q c u q r e n / 2 λ q d e c / 2 λ q 2 / 2 l + 1
If the event A s k H 3 * occurs, the algorithm A C D H obtains a correct record in L H 3 , then:
ε P r A s k H 3 * / q 3 1 q 3 ε q c u q r e n + q d e c 2 λ q 2 2 l + 1
Theorem 2.
Assuming that H 1 H 5 are random prophecies, if there exists a second class adversary A 2 about the security of this scheme IND-CCA2 with advantage ε, asking at most q c u user-generated queries, q k private key queries, q r e k re-encryption key queries, q r e n re-encryption queries, q d e c decryption queries, and q i random prophecy H i queries ( 1 i 5 ) , then the CDH problem on group G is solved by the A C D H algorithm with advantage ε 1 q 3 ε q c u q r e n + q d e c 2 λ q 2 2 l + 1 .
Proof. 
In this paper, an algorithm A C D H is constructed to mimic the challenger of IND-CCA2, given a CDH problem example ( G , q , P , a P , b P ) , and the algorithm A C D H interacts with the first class adversary A 2 to solve the CDH problem:
  • System parameter setting: The algorithm A C D H randomly selects an index value θ 1 , q c u , α Z q * , P p u b = α P , master private key m s k = α , and A C D H outputs public parameters p a r a m s = q , P , G , n , l , H 1 , H 2 , H 3 , H 4 , H 5 , P p u b and master private key m s k to adversary A 2 .
  • Phase 1: Adversary A 2 adaptively makes the following queries, and the algorithm A C D H maintains the table below as initially empty.
  • User generation query: Adversary A 2 inputs i d i :
    (1)
    If there is already a record ( i d i , p k i , s k i , y i , C e r t i ) in table L u s e r , algorithm A C D H outputs p k i to adversary A 2 .
    (2)
    If i d i is the user identity i d θ ( θ 1 , q c u ) asked by adversary A 2 , that is, i d i = i d θ , the algorithm A C D H randomly selects h θ , y θ Z q * , p k θ = ( a P , y θ P ) , C e r t θ = y θ + α h θ , Record ( i d θ , p k θ , h θ ) and ( i d θ , p k θ , , y θ , C e r t θ ) into table L H 1 and table L u s e r , respectively, and output p k θ to adversary A 2 .
    (3)
    If i d i i d θ , algorithm A C D H randomly select x i , y i , h i Z q * , let p k i = ( p k i 1 , p k i 2 ) = ( x i P , y i P ) , s k i = x i , C e r t i = y i + α h i , add ( i d i , p k i , h i ) and ( i d i , p k i , s k i , y i , C e r t i ) to table L H 1 and table L u s e r , respectively, and output p k i to adversary A 2 .
  • Private key generation query: Adversary A 2 inputs i d i , if i d i = i d θ , algorithm A C D H aborts the game; otherwise, algorithm A C D H obtains the records ( i d i , p k i , s k i , y i , C e r t i ) from table L u s e r and outputs s k i to adversary A 2 .
  • Certificate generation query: Adversary A 1 inputs i d i , if i d i = i d θ , Algorithm A C D H stops the game; otherwise, Algorithm A C D H obtains the records ( i d i , p k i , s k i , C e r t i ) from Table L u s e r and outputs C e r t i to Adversary A 1 .
  • Re-encryption key generation query: Adversary A 1 inputs ( i d i , i d j ) , if i d i = i d θ , algorithm A C D H aborts the game; otherwise, algorithm A C D H obtains ephemeral randomness c, certificate C e r t i and public key p k j , executes algorithm R e K e y G e n to produce a new re-encryption key r k i j = ( r k 1 , r k 2 , r k 3 ) , which is then output to adversary A 1 .
  • Re-encryption query: Adversary A 1 inputs ( i d i , i d j , C i = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ) ) , Algorithm A C D H first verifies the equation C 6 P = C 5 + H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) C 3 . If the equation does not hold, Algorithm A C D H rejects the query; if it does, Algorithm A C D H executes as follows:
    (1)
    If i d i = i d θ , the algorithm A C D H searches the table L H 2 for the record ( m , δ , i d i , p k i , h 2 ) satisfying C 1 = h 2 P , C 2 = h 2 , C 3 = h 2 c P , C 4 = ( m δ ) H 3 ( f Q i ) , where Q i = p k i 1 + p k i 2 + h i P p u b , h i = H 1 ( i d i , p k i ) . If there is no such record, the algorithm A C D H rejects the query; if it exists, then C 1 = s 1 · c · ( p k i 2 + H 1 ( i d i , p k i ) P p u b ) · h 2 , C 2 = s 1 · p k i 1 · h 2 c , C 3 = C 4 , C 4 = s 1 · ( p k i 2 + H 1 ( i d i , p k i ) P p u b ) · h 2 . where s = H 5 ( i d i , i d j , p k j 1 + p k j 2 + H 1 ( i d j , p k j ) P p u b ) . Algorithm A C D H output C j = ( i d i , C 1 , C 2 , C 3 , C 4 ) to adversary A 1 .
    (2)
    If i d i i d θ , algorithm A C D H does re-encryption key query on ( i d i , i d j ) to obtain r k i j , then output C j = R e E n c r y p t ( p a r a m s , r k i j , C i ) to adversary A 1 .
  • Decryption query: Adversary A 1 inputs ( i d i , C i ) , and the algorithm A C D H is executed as follows:
    (1)
    If i d i = i d θ , C i = ( C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ) is an original ciphertext, Algorithm A C D H checks C 6 P = C 5 + H 4 ( C 1 , C 2 , C 3 , C 4 , C 5 ) C 3 , if the query is not valid, Algorithm A C D H rejects the query; otherwise, algorithm A C D H searches the table L H 2 for records ( m , δ , i d i , p k i , h 2 ) that satisfy C 1 = h 2 P , C 2 = h 2 , C 3 = h 2 c P , C 4 = ( m δ ) H 3 ( f Q i ) , where Q i = p k i 1 + p k i 2 + h i P p u b , h i = H 1 ( i d i , p k i ) . If there is no such record, Algorithm A C D H rejects the query; if it exists, it outputs m to adversary A 1 as the decryption of ciphertext C i .
    (2)
    If i d i = i d θ , C i = ( i d j , C 1 , C 2 , C 3 , C 4 ) is a re-encrypted ciphertext, the algorithm A C D H performs the re-encryption key interrogation ( i d i , i d j ) to obtain the re-encryption key r k i j = ( r k 1 , r k 2 , r k 3 ) , and computes C 1 = ( r k 1 ) 1 · C 1 , C 2 = ( r k 2 ) 1 · C 2 , C 4 = ( r k 3 ) 1 · C 1 . Algorithm A C D H searches the table L H 2 for records ( m , δ , i d j , p k j , h 2 ) that satisfy C 1 = h 2 P , C 2 = h 2 , C 3 = h 2 c P , C 4 = ( m δ ) H 3 ( f Q j ) , where Q j = p k j 1 + p k j 2 + h j P p u b , h j = H 1 ( i d j , p k j ) . If there is no such record, algorithm A C D H rejects the query; if it exists, it outputs m to adversary A 1 as the decryption of ciphertext C i .
    (3)
    If i d i i d θ , the algorithm A C D H obtains s k i and C e r t i , decrypts C i using the appropriate decryption algorithm, then outputs m to adversary A 1 .
  • Challenge: After phase 1 queries, adversary A 2 outputs identity i d c and two plaintexts of equal length m 0 , m 1 . Adversary A 2 does not make re-encryption key query for ( i d c , i d i ) . If i d c i d θ , the algorithm A C D H terminates the game, resulting in a failed simulation; otherwise, the algorithm A C D H probabilistically selects a value β 0 , 1 , e * Z q * , C 4 c 0 , 1 n + l , C 6 c , calculates C 1 c = b P , C 2 c = b , C 3 c = c b P , C 5 c = C 6 c P e * ( c b P ) , records ( C 1 c , C 2 c , C 3 c , C 4 c , C 5 c , e * ) in table L H 4 , and gives C c = ( C 1 c , C 2 c , C 3 c , C 4 c , C 5 c , C 6 c ) to A 1 as the challenge ciphertext. Obviously, C 6 c P = C 5 c + H 4 ( C 1 c , C 2 c , C 3 c , C 4 c , C 5 c ) C 3 c holds.
    Decrypt C c :
    C 4 c H 3 ( ( s k θ + C e r t θ ) C 3 c ) = C 4 c H 3 ( ( a + y θ + α H 1 ( i d θ , p k θ ) ) c b p )
    where H 2 ( m β , δ * , i d θ , p k θ ) = b , δ * 0 , 1 l .
  • Phase 2: The algorithm A C D H answers the same as the phase 1 interrogation with the following constraints: adversary A 2 cannot interrogate the private key of challenge identity i d c ; for any i d i i d c , no re-encryption key interrogation can be performed on ( i d c , i d i ) ; no decryption interrogation can be performed on ( i d c , C c ) and ( i d d , C d ) . The result of the re-encryption query ( i d c , i d d , C c ) is C d during the procedure.
  • Guess: Adversary A 2 produces a guess β for β . If β = β , then A 2 wins the game.
    During the challenge, if adversary A 2 chooses the identity i d θ as the challenge identity, which is i d θ = i d c , then Algorithm A C D H does not abort the game. Algorithm A C D H selects a random record ( R , h 3 ) in table L H 3 and uses T = c 1 ( R y θ c b P α H 1 ( i d θ , p k θ ) c b p ) as the solution to the given CDH problem.
As proved in Theorem 1, the advantage of the algorithm A C D H to solve the CDH problem is as follow:
ε P r A s k H 3 * / q 3 1 q 3 ε q c u q r e n + q d e c 2 λ q 2 2 l + 1

7. Performance Analysis

In this section, we conduct a comprehensive comparison between the PCBPRE+ scheme proposed in this paper and several existing PRE schemes, focusing on both functional and efficiency aspects.
For the functional analysis, we compare the properties of various existing PRE schemes used for data sharing. We consider aspects such as fine-grained sharing capabilities, non-transferability, and security, and compare them with other PRE schemes. This comparison highlights the advantages and features of the PCBPRE+ scheme in terms of functionality.
In the efficiency analysis, we perform both theoretical analysis and experimental simulations. The theoretical analysis evaluates the performance of each PRE scheme by analyzing its algorithmic complexity and computational overhead. The experimental simulation, on the other hand, assesses the performance of each scheme in a real scenario, constructing an actual test environment and data set. We thoroughly evaluate the efficiency of each PRE scheme, considering the findings from both the theoretical study and the experimental simulation.

7.1. Property Analysis

In this section, we provide a comparison between our scheme and existing PRE schemes from the literature [5,18,19,21,22], as shown in Table 1. Our scheme offers several advantages over other schemes, which are as follows:
  • Improved Efficiency: In contrast to the predominant proxy re-encryption schemes relying on bilinear pairings, our study introduces a bilinear pair-free approach employing elliptic curves for construction. This innovative methodology substantially diminishes the computational overhead, amplifies efficiency, and elevates the scalability of the scheme in comparison to prevailing methods. Noteworthy is the adaptability of our scheme, especially in scenarios involving power-constrained devices, rendering it highly applicable across diverse settings.
  • Fine-Grained Message-Level Delegation: In our scheme, fine-grained control at the message level is attained via the utilization of ephemeral random values. This distinctive feature bestows upon the authorizer the ability to encrypt specific data intended for sharing, utilizing the same ephemeral random value, while employing distinct values for encrypting other messages. Through the strategic selection of diverse ephemeral random values, the authorizer acquires meticulous control over data access, facilitating the nuanced and selective sharing of information. This heightened level of flexibility and precision empowers users to authorize and share data with the utmost accuracy, finely tailored to their specific needs.
  • Non-Transferability Guarantee: Our PCBPRE+ scheme integrates ephemeral randomness, the message, and the sender’s public key in the computation and generation of the re-encryption key. This approach guarantees complete independence among sender A, receiver B, and proxy P, preventing any collusion between P and B to deduce the ephemeral random value generated by A. Consequently, authorized users are unable to transfer their decryption privileges to others, ensuring data security and maintaining ownership control. This robust protection mechanism prevents authorized users from transferring their decryption rights to unauthorized parties, thus mitigating unauthorized data dissemination and misuse. By upholding the independence of decryption rights, our scheme enhances data protection and control, fostering secure and accountable data sharing.
  • Enhanced Functionality: Our proxy re-encryption scheme, founded on certificate-based encryption (CBE), presents notable advancements compared to conventional public-key proxy re-encryption. By harnessing the advantageous properties inherent in CBE, we adeptly tackle the challenge associated with certificate revocation. Moreover, our scheme proficiently eradicates both the key escrow and distribution challenges inherent in identity-based proxy re-encryption, thereby augmenting its functionality and applicability.
  • Re-encryption Control Capability: In our scheme, the cryptographer encrypts the original ciphertext by generating unique ephemeral random values for each message. This strategy guarantees the resilience of the original ciphertext decryption, even in scenarios where the encryption algorithm fails to produce a corresponding random number for the message. However, this also signifies that decrypting the re-encrypted ciphertext becomes impractical, granting the encryptor full control over the re-encryption process.
The PCBPRE+ scheme presented in this paper introduces an innovative and efficient solution for secure cloud storage sharing. It incorporates notable advantages such as fine-grained sharing, non-transferable characteristics, and computational efficiency. These advantages bear substantial implications for fostering secure cloud storage sharing and have the potential to contribute significantly to the advancement of this field.

7.2. Efficiency Analysis

The performance of the proposed scheme is assessed in the subsequent analysis. Table 2 presents a comparison of the attributes between our scheme and the scheme mentioned in the literature [18,19,21,22]. The comprehensive cost analysis of our scheme is presented in Table 3. In these tables, we use the notations P, E, M, and H to represent the bilinear pair operation, exponential operation in group G T , multiplicative operation in group G, and the Hash operation, respectively, along with their respective coefficients indicating the number of operations performed.
To provide a comprehensive time complexity analysis of the comparison scheme, we refer to Boyen [29], who offers estimated relative times for individual asymmetric operations when instantiating group elements in super singular curves with 80 bits of security (SS/80) and MNT curves with 80 bits of security (MNT/80).
We denote the time complexities of pairing, exponential operations in group G T , multiplication operations in group G, and hash operations as T p , T e , T m , and T h respectively. The relevant information can be found in Table 4. Utilizing the data from Table 4, we computed the time complexities of the comparison schemes, presented in Table 5 and Table 6. The results demonstrate that our proposed strategy outperforms the previous pairing-based PRE scheme in terms of computational efficiency.
Finally, we conducted simulations to implement the scheme using the MIRACL library (version 7.0.0) and the PBC library (version 0.5.14). The experiments took place on a personal computer with an AMD Ryzen 7 5800H CPU operating at a frequency of 3.20 GHz. The simulation platform ran on Windows 11.
In this study, our main focus was on time-consuming operations, including exponential operations, scalar multiplication on elliptic curves, and bilinear pairing operations. We disregarded the computational costs associated with elliptic curve addition, modular multiplication, and regular hashing, as their impact was considered negligible. For detailed information about the symbols and execution times of these operations, please refer to Table 7. The comparison of computational costs between the scheme [18,19,21,22] and our proposed scheme is presented in Table 8, Figure 3 and Figure 4.
The PCBPRE+ scheme proposed in this paper not only overcomes the limitations of existing schemes but also offers significant advantages in terms of efficiency, security, and functionality. These advancements are crucial for ensuring secure and efficient sharing of cloud storage and providing a viable solution for applications on computationally or power-constrained devices.

7.3. Application Analysis

In specific scenarios, our solution demonstrates irreplaceable advantages, especially in data transmission within the context of the Medical Internet of Things (MIoT). The emergence of MIoT has facilitated the expansion and implementation of remote medical care, allowing patients to comfortably receive real-time medical services at home. MIoT technology leverages cloud storage, thereby increasing storage capacity and computing power, driving the development of the MIoT framework. Our proposed solution offers three key advantages in this domain.
Firstly, it achieves fine-grained access control, enabling seamless data sharing at the message level. In the extensive backdrop of medical data, where some may be confidential and sensitive, and others have limited value to healthcare practitioners, this capability becomes crucial. By implementing fine-grained access control, our solution effectively regulates the sharing of medical data. This empowers the sender to exercise significant control over the data-sharing process, including the content that is re-encrypted, ensuring that only important medical data is transmitted and preventing unnecessary leakage of personal and sensitive privacy data.
Secondly, our solution possesses the non-transferable characteristic. Given the sensitivity of medical data, it is imperative to ensure that only authorized healthcare institutions have access to individuals’ health information. The non-transferability of our solution effectively prevents malicious disclosure, as only authorized recipients are allowed to transmit data within the framework.
Thirdly, the efficient implementation of our solution enables effective data sharing even in scenarios of rapid data growth or when the computational power of healthcare institutions is moderate.
Certainly, we should also consider potential limitations or conditions under which the solution may not perform as expected, such as excessive data storage, insufficient device computational power, or issues with third-party server failures. Adequate contingency plans should be prepared for such situations.

8. Conclusions

In this paper, we present a novel scheme called Pairing-free Certificate-Based Proxy Re-Encryption Plus (PCBPRE+) that facilitates the secure delegation of decryption privileges from one user to another, enabling flexible sharing of encrypted data among cloud users. Our innovative approach allows users to efficiently and securely send their encrypted data to recipients using public cloud storage, without the need for bilinear pairs. This results in improved efficiency and enhanced suitability for practical application environments. Moreover, PCBPRE+ addresses the challenges of certificate management and key distribution encountered in traditional PRE schemes. A key advantage of our scheme is the incorporation of non-transferability and message-level fine-grained delegation mechanisms, ensuring exclusive sharing of user data with authorized individuals and preventing any malicious leaks. We rigorously verify and evaluate the correctness, security, and performance of the proposed approach, demonstrating its ability to satisfy the chosen ciphertext security in the random oracle model. Overall, the PCBPRE+ scheme offers several advantages and significant application potential compared to existing PRE schemes. It provides a secure and efficient solution for data sharing in cloud environments, making it well suited for various practical scenarios.

Author Contributions

Methodology, L.Y. and H.Q.; Writing—review & editing, K.Y., H.X., X.A.W. and S.L. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by National Natural Science Foundation of China under Grant (NO. 62102312), Natural Science Foundation of Shaanxi Province (No. 2023-JC-YB-584), Engineering University of PAP’s Funding for Key Researcher (No. KYGG202011), and Xijing University Fund (No: XJ210206).

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Blaze, M.; Bleumer, G.; Strauss, M. Divertible protocols and atomic proxy cryptography. In Proceedings of the Advances in Cryptology—EUROCRYPT’98: International Conference on the Theory and Application of Cryptographic Techniques, Espoo, Finland, 31 May–4 June 1998; Springer: Berlin/Heidelberg, Germany, 1998; pp. 127–144. [Google Scholar]
  2. Kim, S.; Lee, I. IoT device security based on proxy re-encryption. J. Ambient. Intell. Humaniz. Comput. 2018, 9, 1267–1273. [Google Scholar] [CrossRef]
  3. Ge, C.; Susilo, W.; Baek, J.; Liu, Z.; Xia, J.; Fang, L. A verifiable and fair attribute-based proxy re-encryption scheme for data sharing in clouds. IEEE Trans. Dependable Secur. Comput. 2021, 19, 2907–2919. [Google Scholar] [CrossRef]
  4. Yao, S.; Dayot, R.V.J.; Kim, H.J.; Ra, I.H. A novel revocable and identity-based conditional proxy re-encryption scheme with ciphertext evolution for secure cloud data sharing. IEEE Access 2021, 9, 42801–42816. [Google Scholar] [CrossRef]
  5. Kan, J.; Zhang, J.; Liu, D.; Huang, X. Proxy re-encryption scheme for decentralized storage networks. Appl. Sci. 2022, 12, 4260. [Google Scholar] [CrossRef]
  6. Susilo, W.; Dutta, P.; Duong, D.H.; Roy, P.S. Lattice-based HRA-secure attribute-based proxy re-encryption in standard model. In Proceedings of the Computer Security–ESORICS 2021: 26th European Symposium on Research in Computer Security, Darmstadt, Germany, 4–8 October 2021; Proceedings, Part II 26. Springer: Berlin/Heidelberg, Germany, 2021; pp. 169–191. [Google Scholar]
  7. Ateniese, G.; Fu, K.; Green, M.; Hohenberger, S. Improved proxy re-encryption schemes with applications to secure distributed storage. ACM Trans. Inf. Syst. Secur. (TISSEC) 2006, 9, 1–30. [Google Scholar] [CrossRef]
  8. Canetti, R.; Hohenberger, S. Chosen-ciphertext secure proxy re-encryption. In Proceedings of the 14th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 2 November–31 October 2007; pp. 185–194. [Google Scholar]
  9. Libert, B.; Vergnaud, D. Unidirectional chosen-ciphertext secure proxy re-encryption. In Proceedings of the Public Key Cryptography—PKC 2008: 11th International Workshop on Practice and Theory in Public-Key Cryptography, Barcelona, Spain, 9–12 March 2008; Springer: Berlin/Heidelberg, Germany, 2008; pp. 360–379. [Google Scholar]
  10. Shao, J.; Cao, Z. CCA-secure proxy re-encryption without pairings. In Proceedings of the Public Key Cryptography—PKC 2009: 12th International Conference on Practice and Theory in Public Key Cryptography, Irvine, CA, USA, 18–20 March 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 357–376. [Google Scholar]
  11. Armbrust, M.; Fox, A.; Griffith, R.; Joseph, A.D.; Katz, R.; Konwinski, A.; Lee, G.; Patterson, D.; Rabkin, A.; Stoica, I.; et al. A view of cloud computing. Commun. ACM 2010, 53, 50–58. [Google Scholar] [CrossRef]
  12. Han, J.; Susilo, W.; Mu, Y. Identity-based data storage in cloud computing. Future Gener. Comput. Syst. 2013, 29, 673–681. [Google Scholar] [CrossRef]
  13. Luo, S.; Shen, Q.; Chen, Z. Fully secure unidirectional identity-based proxy re-encryption. In Proceedings of the Information Security and Cryptology-ICISC 2011: 14th International Conference, Seoul, Korea, 30 November–2 December 2011; Revised Selected Papers 14. Springer: Berlin/Heidelberg, Germany, 2012; pp. 109–126. [Google Scholar]
  14. Liang, K.; Chu, C.K.; Tan, X.; Wong, D.S.; Tang, C.; Zhou, J. Chosen-ciphertext secure multi-hop identity-based conditional proxy re-encryption with constant-size ciphertexts. Theor. Comput. Sci. 2014, 539, 87–105. [Google Scholar] [CrossRef]
  15. Sur, C.; Jung, C.D.; Park, Y.; Rhee, K.H. Chosen-ciphertext secure certificateless proxy re-encryption. In Proceedings of the Communications and Multimedia Security: 11th IFIP TC 6/TC 11 International Conference, CMS 2010, Linz, Austria, 31 May–2 June 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 214–232. [Google Scholar]
  16. Xu, L.; Wu, X.; Zhang, X. CL-PRE: A certificateless proxy re-encryption scheme for secure data sharing with public cloud. In Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security, Seoul, Republic of Korea, 2–4 May 2012; pp. 87–88. [Google Scholar]
  17. Wang, L.L.; Chen, K.F.; Mao, X.P.; Wang, Y.T. Efficient and provably-secure certificateless proxy re-encryption scheme for secure cloud data sharing. J. Shanghai Jiaotong Univ. (Sci.) 2014, 19, 398–405. [Google Scholar] [CrossRef]
  18. Sur, C.; Park, Y.; Shin, S.U.; Rhee, K.H.; Seo, C. Certificate-based proxy re-encryption for public cloud storage. In Proceedings of the 2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, Taichung, Taiwan, 3–5 July 2013; IEEE: Piscataway, NJ, USA, 2013; pp. 159–166. [Google Scholar]
  19. Xu, J.; Chen, K.; Shen, Z.; Xu, X. Pairing-free certificate-based multi-domain conditional proxy re-encryption scheme. J. Cryptologic Res. 2018, 5, 55–67. [Google Scholar]
  20. Tian, J.; Lu, Y.; Wang, F.; Yu, X. Efficient Multi-receiver Certificate-Based Proxy Re-encryption Scheme for Secure Cloud Data Sharing. In Proceedings of the Advances in Artificial Intelligence and Security: 7th International Conference, ICAIS 2021, Dublin, Ireland, 19–23 July 2021; Proceedings, Part II 7. Springer: Berlin/Heidelberg, Germany, 2021; pp. 593–605. [Google Scholar]
  21. Li, J.; Zhao, X.; Zhang, Y.; Yao, W. Provably Secure Certificate-based Conditional Proxy Re-encryption. J. Inf. Sci. Eng. 2016, 32, 813. [Google Scholar]
  22. Liu, S.; Qin, H.; Taniar, D.; Liu, W.; Li, Y.; Zhang, J. A certificate-based proxy re-encryption plus scheme for secure medical data sharing. Internet Things 2023, 23, 100836. [Google Scholar] [CrossRef]
  23. Wang, X.A.; Xhafa, F.; Ma, J.; Zheng, Z. Controlled secure social cloud data sharing based on a novel identity based proxy re-encryption plus scheme. J. Parallel Distrib. Comput. 2019, 130, 153–165. [Google Scholar] [CrossRef]
  24. Singh, K.; Rangan, C.P.; Sheshank, S.; Agrawal, R. Lattice-based unidirectional Proxy Re-Encryption and Proxy Re-Encryption+ schemes. IET Inf. Secur. 2021, 15, 1–12. [Google Scholar] [CrossRef]
  25. Singh, K.; Rangan, C.P.; Agrawal, R.; Sheshank, S. Provably secure lattice based identity based unidirectional PRE and PRE+ schemes. J. Inf. Secur. Appl. 2020, 54, 102569. [Google Scholar] [CrossRef]
  26. Wang, X.A.; Ge, Y.; Yang, X. PRE+: Dual of proxy re-encryption and its application. Cryptol. ePrint Arch. 2013, 2013, 872. [Google Scholar]
  27. Wang, X.A.; Xhafa, F.; Ma, J.; Barolli, L.; Ge, Y. PRE+: Dual of proxy re-encryption for secure cloud data sharing service. Int. J. Web Grid Serv. 2018, 14, 44–69. [Google Scholar] [CrossRef]
  28. Lu, Y.; Li, J. A pairing-free certificate-based proxy re-encryption scheme for secure data sharing in public clouds. Future Gener. Comput. Syst. 2016, 62, 140–147. [Google Scholar] [CrossRef]
  29. Boyen, X. The BB1 Identity-Based Cryptosystem: A Standard for Encryption and Key Encapsulation; IEEE P1363.3; Identity-Based Public Key Cryptocraphy; IEEE: Piscataway, NJ, USA, 2006. [Google Scholar]
Figure 1. Security Architecture.
Figure 1. Security Architecture.
Electronics 13 00534 g001
Figure 2. Flowchart of the CBPRE+.
Figure 2. Flowchart of the CBPRE+.
Electronics 13 00534 g002
Figure 3. Efficiency Analysis Line Chart [18,19,21,22].
Figure 3. Efficiency Analysis Line Chart [18,19,21,22].
Electronics 13 00534 g003
Figure 4. Average running time of each phase [18,19,21,22].
Figure 4. Average running time of each phase [18,19,21,22].
Electronics 13 00534 g004
Table 1. Properties analysis and comparison of the schemes.
Table 1. Properties analysis and comparison of the schemes.
SchemeSur [18]Li [21]Kan [5]Liu [22]Xu [19]Ours
Pairing-freeNoNoNoNoYesYes
ConditionalNoYesNoYesYesYes
Complexity assumptionBDHBDHCDHBDHCDHCDH
Non-transferable delegationNoNoYesYesNoYes
Solve the key distribution problemYesYesNoYesYesYes
Fine-grained delegation (message level)NoNoNoYesNoYes
Re-encryption authority of the encryptorNoNoYesYesNoYes
Table 2. Efficiency analysis.
Table 2. Efficiency analysis.
SchemeEncryptReKeyGenReEncryptDecrypt1Decrypt2
Sur [18]2P + 2E + 3M2P + 2E + 3M8P2P + E + 2M4P + E + M
Li [21]3P + 2E + 3M2P + E + 5M5P4P + 2E4P + E + M
Liu [22]3P + 2E + 4M2P + 2E + 2M6P2P + E + M4P + E + M
Xu [19]5M5M3M4M5M
Ours5M2M5M4M4M
Table 3. Computation cost in proposed scheme.
Table 3. Computation cost in proposed scheme.
ProcessEncryptReKeyGenReEncryptDecrypt1Decrypt2
Calculation volume5M + 4H2M + 2H5M + H4M + 3H4M + 4H
Table 4. Temporal overhead of cryptographic operations (Relative time: 1 unit = 1 T m ).
Table 4. Temporal overhead of cryptographic operations (Relative time: 1 unit = 1 T m ).
Curves T p T e T m T h
MNT/801503611
SS/8020411
Table 5. Time complexities of MNT/80.
Table 5. Time complexities of MNT/80.
SchemeEncryptReKeyGenReEncryptDecrypt1Decrypt2
Sur [18]375 T m 375 T m 1200 T m 338 T m 637 T m
Li [21]525 T m 341 T m 750 T m 602 T m 637 T m
Liu [22]526 T m 374 T m 900 T m 337 T m 637 T m
Xu [19]5 T m 5 T m 3 T m 4 T m 5 T m
Ours5 T m 2 T m 5 T m 4 T m 4 T m
Table 6. Time complexities of SS/80.
Table 6. Time complexities of SS/80.
SchemeEncryptReKeyGenReEncryptDecrypt1Decrypt2
Sur [18]51 T m 51 T m 160 T m 46 T m 85 T m
Li [21]71 T m 49 T m 100 T m 82 T m 85 T m
Liu [22]72 T m 50 T m 120 T m 45 T m 85 T m
Xu [19]5 T m 5 T m 3 T m 4 T m 5 T m
Ours5 T m 2 T m 5 T m 4 T m 4 T m
Table 7. Executing time.
Table 7. Executing time.
SymbolOperationTime Cost (ms)
T p Bilinear pairing11.571
T e Exponential operation in group G T 6.469
T m Multiplicative operation in group G3.690
T h Hash to points operation4.017
Table 8. Efficiency comparison (ms).
Table 8. Efficiency comparison (ms).
SchemeEncryptReKeyGenReEncryptDecrypt1Decrypt2
Sur [18]47.24147.06992.65036.08056.534
Li [21]58.63248.15257.74659.13156.476
Liu [22]65.45743.39969.42033.29356.352
Xu [19]18.50118.45811.09114.79518.431
Ours18.4907.40518.41714.76914.542
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

Yan, L.; Qin, H.; Yang, K.; Xie, H.; Wang, X.A.; Liu, S. Pairing-Free Certificate-Based Proxy Re-Encryption Plus Scheme for Secure Cloud Data Sharing. Electronics 2024, 13, 534. https://doi.org/10.3390/electronics13030534

AMA Style

Yan L, Qin H, Yang K, Xie H, Wang XA, Liu S. Pairing-Free Certificate-Based Proxy Re-Encryption Plus Scheme for Secure Cloud Data Sharing. Electronics. 2024; 13(3):534. https://doi.org/10.3390/electronics13030534

Chicago/Turabian Style

Yan, Lu, Haozhe Qin, Kexin Yang, Heye Xie, Xu An Wang, and Shuanggen Liu. 2024. "Pairing-Free Certificate-Based Proxy Re-Encryption Plus Scheme for Secure Cloud Data Sharing" Electronics 13, no. 3: 534. https://doi.org/10.3390/electronics13030534

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