Homomorphic encryption is used to store data in a secure way that allows performing certain computations directly on the encrypted data. The encryption is reversible. The security of the scheme is based on the hardness of the mathematical problem that is needed to recover the original data. The encryption scheme is a public-key one, and the secret key is stored in CLARUS. The secret key is used to decrypt data. The encrypted data can only be decrypted by the users owning the secret key. Encryption is performed by CLARUS once at the storage stage, and the decryption is performed after recovering the encrypted data from the CSP. Before recovering the data, it is possible to perform sums on the encrypted data. In this way, the user can recover a value that is the output of a linear function.

(Efficiently*) Supported operations: 
Performance impact on local premises (per data size): 
Linear on all operations. However, the encryption operation is very expensive, and the storage expansion and computational overhead are very substantial with respect to plaintext computations.
Data accuracy preservation: 
None for CSPs
Full for CLARUS users
Access of non-CLARUS users: 
Very high
Key management
Special modules should be installed on the CSP