## 4 Privacy Preserving in Cloud Computing  
To preserve privacy and reduce the level of distraction conflicting with users' privacy in the cloud, there's a need to provide privacy-preserving protocols that maintain the confidentiality of the user [77]. Definition 5 provides a full description of what it means to be Privacy-preserving. **Definition 5**. : _Privacy-preserving: Let \(i\) be an instance from site \(S\) with a attributes, and \(a_{i}\) denoting an \(i_{th}\) attribute of \(a\). If we also assume some set of rules \(r\in R\) provided by another site \(S^{\prime}\) for each attribute in the form of \((N_{1}\wedge N_{2}\wedge\cdots\wedge N_{v})\to C\), where \(C\) is the predicted class if \((N_{1}\wedge N_{2}\wedge\cdots\wedge N_{v})\) is true. In addition, if \(S\) has a set \(E\) of rules that have not been used in the classification, then the system is said to be privacy-preserving if no party can gain extra information about the number of clauses in a rule, such as:_  
1. \(S\) _will not be able to learn any rules in_ \(R\)_._
2. \(S\) _will be convinced that_ \(E\cap R=\varphi\) _holds._
3. \(S^{\prime}\) _will only learn the class value of a and what is implied by the class value._There are three main ways to achieve privacy. They are namely:  
* Privacy-Preserving Additive Splitting Technique: If a value \(x\) is assumed as input, then \(x\) is said to be additively split between different parties \(A\) and \(B\), if \(A\) has a random \(x_{A}\) and \(B\) has a random \(x_{B}\), such that \(x_{A}+x_{B}=x\), where the addition is modular. If \(y\) is split in a similar manner \((=y_{A}+y_{B})\) then \(A\) and \(B\) can compute the sum of \(x\) and \(y\) by adding their respective shares of \(x\) and \(y\), that is, if \(z=x+y\), then \(A\) computes \(z_{A}=x_{A}+y_{A}\) and \(B\) computes \(z_{B}=x_{B}+y_{B}\). Computing \(z=x*y\) in split form is considerably complicated if \(x\) and \(y\) are additively split. * Privacy-Preserving Encoding Based Splitting Technique: This is the process where only \(A\) generates an encoding known to only \(A\), and another party \(B\) computes the encoded element but has no meaning to \(B\). In other words, \(B\) does not know what the encoding of \(A\) means. As an example, let \(i\) represent an intermediary Boolean variable. If \(A\) generates a random value \(r_{i}[0]\) as the encoding for \(i\), and another randomly generated value \(r_{i}[1]\) for encoding the value \(1\). As the computation proceeds, \(B\) is able to see the encodings \(r_{i}[0]\) or \(r_{i}[1]\) but cannot deduce their meaning. * Homomorphic Encryption: Using homomorphic encryption, a cryptosystem \(E\) is said to be homomorphic in message space \(M\) and ciphertext \(C\) such that \(\forall m_{1},m_{2}\in M:E(m_{1}\odot_{M}m_{2})=E(m_{1})\odot_{c}E(m_{2})\). Where \(\odot_{M}\) and \(\odot_{c}\) are the binary operators in \(plaintext:M\) and \(Ciphertext:C\). If we denote an encryption function by \(E_{pk}\) and a decryption function by \(D_{sk}\), then it is possible to compute \(E_{pk}(x+y)\) of two inputs \(x\) and \(y\) that are encrypted as \(E_{pk}(x)\) and \(E_{pk}(y)\) by computing \(E_{pk}(x)*E_{pk}(y)\). Furthermore, with \(E_{pk}(x)\), it is possible to compute \(E_{pk}(c*x)\) for any constant \(c\) by computing \(E_{pk}(x)c\). According to Definition 5, cloud computing protocols are said to be privacy-preserving if only what it reveals is because of a collaboration that is deduced given the participant's input set [78]. Due to the multi-tenant nature of the cloud, security attributes and policies may directly or indirectly affect privacy-preservability, which can be in the form of integrity, accountability or confidentiality [29]. User confidentiality can become indispensable when maintaining the nondisclosure of private data, and integrity will ensure that computational data are not corrupted, which is privacy-preserving. On the other hand, accountability might undermine privacy due to the conflicts in achieving the two attributes.