## 4 Security Proof and Efficiency
In addition, the re-encrypted trapdoor created by the PS is \(T_{kw}=(T_{q}(kw)\), \(L^{\prime}\), \(\{K^{\prime}_{x}\}_{x\in w})\), in which the parameter \(L^{\prime}\) is computed with the PS's private key \(\beta\). Therefore, without all of the above-mentioned information, no attackers could forge a legitimate trapdoor. (6) **Resistance to malicious cloud servers**  
Uploading sensitive data to the cloud server is risky. If the CS's behavior is malicious, the encrypted data and keywords uploaded by the user might be viewed. However, according to the proposed Encrypt, Re-Encrypt and Trapdoor algorithms, if a malicious CS lacks the information of correct user keys, the PS's private key and the utilized random number, it will encounter computational difficulty and fail to make it. Since the proposed scheme is modified from [PERSON] et al. 's mechanism [26], we will make a comparison of computational complexity. Table 3 shows the computational complexity analysis of the algorithms of the two systems. Note that we only consider the operations of bilinear pairing (\(T_{bp}\)) and exponential (\(T_{exp}\)), since they will take more computation time. From this table, it is evident that the Encrypt algorithm of our system is efficient than that of [PERSON] et al. 's work. The ciphertext length of the proposed scheme is also shorter, which could benefit to the reduction in communication overheads and cloud storage space. Although [PERSON] et al. 's system has the lower computational complexity in the algorithm of Trapdoor, their system does not support the functionalities of re-encryption and pre-decryption. To make a practical simulation of the proposed system, we adopt the experimental results of [30] which utilized the hardware of Macbook Pro laptop with a 2.7 GHz Intel Core i5 processor and 8 GB RAM. According to their results, shown in Table 4, the approximate running time of a bilinear pairing operation is about 10.243 milliseconds (ms), and that of an exponentiation computation is 1.266 ms. Figure 2 simulates the approximate running time of each participated party with respect to various \(\{x,l,k\}\) combinations. From this figure, we can observe that the running time of the PS remains constant no matter how the combination changes. As for the DU, its running time is mainly affected by the size of attribute sets. The major factor to affect the running time of the CS is the number of shared users, since the CS must spend more time to perform the Test procedure. The TA is responsible for performing the ABE-KeyGen and KS-KeyGen algorithms, i.e., its running time would be affected by the size of attribute sets along with the number of shared users. The latter also affects the execution time of the DO when performing the encryption procedure. In addition, the Index algorithm carried out by the DO would also be influenced by the number of keywords. \begin{table}
\begin{tabular}{c c} \hline \hline
**Item** & **Running Time** \\ \hline Bilinear pairing (\(T_{bp}\)) & \(\approx\)10.243 ms \\ \hline Exponentiation (\(T_{exp}\)) & \(\approx\)1.266 ms \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Approximate execution time of evaluated computation.