# Potential of Homomorphic Encryption for Cloud Computing Use Cases in Manufacturing
## 2 Fundamentals
### Encryption
#### 2.2.2 Homomorphic Encryption  
Homomorphic encryption is a further development of existing cryptographic approaches. Its central feature is the usability of encrypted data, meaning that homomorphic encryption allows calculations and analyses on encrypted data [19, 29]. The term homomorphic derives from the Greek words \"homos\" and \"morphe\", which together mean \"same shape\" [28]. In the field of algebra, the term homomorphism is used for \"a structure  
Figure 1: Basic encryption process based on the quintuple of cryptosystems.  
preserving mapping between two algebraic structures\" [30]. In terms of cryptography, this means that the decisive properties of an unencrypted dataset are passed on to the encrypted data set during encryption [29]. Figure 2 describes homomorphism of an encryption according to the introduced quintuple of cryptosystems. Analogously to the mathematical homomorphism, encryption (Equation (1)) and decryption (Equation (2)) are defined as follows:  
\[e_{k}\Big{(}p\;\lozenge\;p^{{}^{\prime}}\Big{)}=e_{k}(p)\;\circ\;e_{k}\Big{(}p^ {{}^{\prime}}\Big{)}=c\;\circ\;c^{{}^{\prime}}, \tag{1}\]  
\[d_{k}(c\;\circ\;c^{\prime})=d_{k}(c)\;\lozenge\;d_{k}(c^{\prime})=p\;\lozenge \;p^{{}^{\prime}}, \tag{2}\]  
where \(\lozenge\;\in\{\oplus,\;\otimes\}\;\forall\;p,p^{{}^{\prime}}\in P\), \(e_{k}\) is an encryption function, \(d_{k}\) is a decryption function, \(p,\;p^{{}^{\prime}}\) is plaintext, \(c,\;c^{{}^{\prime}}\) is cypher text, \(\oplus\) denotes addition, and \(\otimes\) denotes multiplication.  
The possible operations of homomorphic encryption methods are limited to addition and multiplication in known methods. Nevertheless, homomorphic encryption methods are able to perform arbitrary operations, as proven by [PERSON] [31]. He demonstrated that circuit functions that are based on only additions and multiplications enable modeling arbitrary operations [31].  
The possible operations and the number of operations define the three types into which homomorphic encryption is usually categorized: partially homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption [28, 32]. The computation time increases with the complexity of the methods, with fully homomorphic encryption requiring the greatest computational effort compared to the other methods [18]. The difference between somewhat and fully homomorphic encryption, thus, lies in the error correction of fully HE, so-called bootstrapping. If calculations of encrypted data are executed with two operators, small errors occur. With each calculation, these errors increase. Using fully homomorphic encryption algorithms, bootstrapping is applied in case the defined error value crosses the threshold, which reduces the error value. This allows an unlimited number of calculations but requires higher calculation efforts. Somewhat HE does not apply bootstrapping and, thus, requires less calculation effort. However, for this reason, the number of calculations is limited until the error threshold is reached; otherwise, the calculations error would become too large [33, 34].  
Independent of the HE category, all methods work with consistently encrypted data, and the data security of all methods can be classified as high. Table 1 describes and characterizes these three categories.  
Figure 2: Homomorphism of an encryption function.