### Related Work  
In 1998, [PERSON] et al. [6] presented the first proxy-re encryption (PRE) in which a semit trusted agent could obtain one re-encryption key to transform the ciphertext intended for the user A to the ciphertext intended for the user B, so that the user B could decrypt the ciphertext with his/her private key. In order to ensure the confidentiality of the ciphertext during the re-encryption process, the agent should not be capable of learning any information related to encrypted messages. In 2005, [PERSON] et al. [7] introduced the PRE mechanism based on bilinear pairings and proved that their scheme could withstand chosen-ciphertext attacks. In 2007, [PERSON] and [PERSON] [8] addressed a multiple-hop PRE scheme which could also resist the chosen-ciphertext attack. Meanwhile, they proved the security of their mechanism in the standard security proof model. Thinking of identity-based cryptosystems, in 2016, [PERSON] et al. [9] presented two ID-based PRE variants which are suitable for secure data sharing in the cloud. Considering secure cloud storage, in 2018, [PERSON] and [PERSON] [10] addressed a so-called conditional PRE scheme with efficient computation. Nowadays, the PRE mechanism has many practical applications [6; 11; 12; 13; 14; 15] like the forwarding of e-mails, the distribution of private keys and the management of key escrow. To further provide the ciphertext with the search function, [PERSON] et al. [17] introduced the mechanism of public key encryptions with the characteristic of keyword search (PEKS) utilizing the assumption of Decision Diffie-Hellman Problem (DDHIP). In their scheme, a data owner can use the public key to encrypt data along with keywords such that data users could request the keyword search on stored ciphertexts and decrypt it. In 2016, [PERSON] et al. [18] realized an expressive PEKS system in prime order groups. Their scheme supports the multi-keyword search using the expressive Boolean formula. They also proved the security of their scheme in the standard model. To date, lots of methods for PEKS have been presented. The PEKS is a security mechanism that is often applied to cloud storage and could be utilized to seek for encrypted data. Unfortunately, the scheme is inherently subject to the attacks of keyword guessing. To solve this security flaw, in 2016, [PERSON] et al. [19] presented a sever-aided public key encryption with a keyword search (SA-PEKS). In their construction, a semi-trust keyword server (KS) will be independent from the storage server and the data user must be authenticated by the KS to obtain credentials. Their scheme is different from the PEKS as users must request the KS to run an authentication protocol for generating a KS-derived keyword in SA-PEKS. Consequently, it is secure against the offline keyword-guessing attacks. In order to share a ciphertext with many persons, [PERSON] and [PERSON] [20] presented an extension of IBE, called an attribute-based encryption (ABE) scheme. ABE is a promising cryptographic primitive which offers reliable and dynamic data-sharing. The notion of ABE utilizes the attributes of users to match an access policy associated with the ciphertext or the private key. More precisely, the ABE schemes could be classified into two categories, namely Ciphertext-Policy ABE (CP-ABE) [21] and Key-Policy ABE (KP-ABE) [22]. In 2007, [PERSON] et al. [21] introduced the CP-ABE. In a CP-ABE cloud storage system, a data owner encrypts data into ciphertext and then specifies an access policy before storing the ciphertext in the cloud server. The data user's private key is correlated with a set of attributes based on his/her identity. On the other hand, in a KP-ABE cloud storage system, a data owner's ciphertext is associated with a set of attributes, while the data user's private key is correlated with an access policy. In 2017, [PERSON] et al. [23] proposed a collaborative key management mechanism using CP-ABE to share data in clouds. In their scheme, a key authority will be responsible for generating, issuing and storing private keys.