## 4 Implementation of Policy Hiding in CP-ABE Using Logical Connective
### Encrypt (Pk, M, A) \(\rightarrow\) Ct  
In this module, we input public parameter \(PK\), Message \(M\) and access structure \(\mathbb{A}=((\mathbf{A},\mathbf{\rho})\mathcal{T}))\) and produced the ciphertext, \(CT\). In access structure \(\mathbb{A}\), \(A\) is an access matrix \(l\times n\) and \(\mathbf{\rho}\) mapped each row \(\mathbf{A}_{x}\) to an index of the attribute name. Meanwhile \(\mathcal{T}=\left(t_{\rho(1)},\ t_{\rho(2)},t_{\rho(3)},\ldots,t_{\rho(l)} \right)\in\ \mathbb{Z}_{N}^{l}\left(t_{\rho(x)}\in AV_{\rho(x)}\right)\) is a set of attribute-value related to the access policy \((\mathbf{A},\ \mathbf{\rho})\). The encryption algorithm selected a random vector \(V=(s,y_{2},y_{3},\ldots,\ y_{n}\) where \(s,\ y_{2},\ y_{3},\ \ldots,\ y_{n}\) was randomly selected from \(\mathbb{Z}_{N}\) and \(s\) is a shared value. For \(x=1\) to \(l\), it computed \(\lambda_{x}=\mathbf{A}_{x}\times V\), where \(\mathbf{A}_{x}\) corresponded to the \(x^{th}\) row of \(\mathbf{A}\) and calculated \(X=\mathcal{E}_{Enc}(k,\ M^{\prime}),\ \mathcal{F}=H_{1}(k\ \parallel M^{\prime})\). Additionally, it also randomly took \(Q_{0},\{Q_{x}\}_{1\leq x\leq 1\in R}\mathbb{G}_{pt}\). Finally, it calculated the entire ciphertext components \(C_{0},C_{1}\{C_{x}\}_{1\leq x\leq 1}\) as follows:\[C_{0}=k\epsilon(g,g_{1})^{\alpha\alpha 1\mathrm{s}},\]  
\[C_{1}=g^{\alpha 1}.Q_{0},\]  
\[C_{x}=g^{\alpha x}\Big{(}g^{H(tp(x))}g^{\beta}\Big{)}s.Q_{x}.\]  
Previously, the access policy (\((A,\ \rho),\ \mathcal{T}\)) is appended to the ciphertext \(CT\) then outsourced to the cloud storage. However, this access policy is in a readable format, possibly exposing several sensitive information about the users. The researchers in [25] had emphasized that the attribute mapping function \(\rho\) will be caused attribute leakage. Hence, we improved the scheme to prevent the user's privacy leakage by eliminating the attribute mapping function. In this scheme, we replaced attribute value in access structure \(\mathbb{A}=((A,\rho)\mathcal{T}))\) with attribute location in the form of \((x,y)\). Nonetheless, this strategy is insufficient to preserve Cloud data privacy. Therefore, XOR-based logical connective is used in policy hiding strategy to enhance the privacy of access policy.  
Our policy hiding logical connective (PHLC) strategy is used to convert the location attribute value (\(\mathcal{T}\)) in the access policy to ciphertext. We specifically extracted the exact location of attribute value from the access policy (\((A,\ \rho),\ \mathcal{T}\)). Once the location is obtained, it has then been converted into a ciphertext based on the XOR operation. Figure 4 portrays the example of the access matrix \(Att_{(x,y)}\) where the \(-x\) and \(-y\) values are represented as the location of the attribute value, which comprises of attribute name, attribute value, and the act of mapping \(\rho\) to the index of the attribute name. We removed the mapping \(\rho\) and used the attribute location \((Att_{x,y})\).  
The post-encryption module is then executed where it is where our main contribution of CP-ABE extension takes place. It is deliberated as below: