Homomorphic Encryption allows access to highly scalable, inexpensive, on-demand computing resources that can execute the code and store the data that are provided to them. This aspect, known as data outsourced computation is very attractive, as it alleviates most of the burden on IT services from the consumer. Nevertheless, the adoption of data outsourced computation by business has a major obstacle, since the data owner does not want to allow the un trusted cloud provider to have access to the data being outsourced. Merely encrypting the data prior to storing it on the cloud is not a viable solution, since encrypted data cannot be further manipulated. This means that if the data owner would like to search for particular information, then the data would need to be retrieved and decrypted a very costly operation, which limits the usability of the cloud to merely be used as a data storage centre.
Homomorphic Encryption systems are used to perform operations on encrypted data without knowing the private key (without decryption), the client is the only holder of the secret key. When we decrypt the result of any operation, it is the same as if we had carried out the calculation on the raw data.
Definition: An encryption is homomorphic, if: from Enc(a) and Enc(b) it is possible to compute Enc(f (a, b)), where f can be: +, ×, ⊕ and without using the private key.
For plaintexts P1 and P2 and corresponding ciphertext C1 and C2, a homomorphic encryption scheme permits meaningful computation of P1 Θ P2 from C1 and C2 without revealing P1 or P2.The cryptosystem is additive or multiplicative homomorphic depending upon the operation Θ which can be addition or multiplication.
A homomorphic encryption scheme consists of the following four algorithms:
Input-the security parameter λ.
Output-a tuple (sk, pk) consisting of the secret key sk and public key pk .
Encrypt ( pk,π ):
Input-a public key pk and a plaintext π .
Decrypt (sk, Ψ):
Input-a secret key sk and a ciphertext Ψ.
Output-the corresponding plaintext π .
Evaluate (pk ,C ,Ψ ):
Input-a public key , a circuit with inputs and a set Ψ of ciphertext ,Ψ1 . . . . . Ψt
Output-a ciphertext Ψ.
Therefore, a homomorphic encryption scheme consists of all algorithms of a conventional public key encryption scheme and an extra one. The correctness-condition for the conventional part of a homomorphic encryption scheme is identical to that of a (non-homomorphic) public key encryption scheme.
Additive homomorphic encryption
Additive homomorphic encryption is implemented by Paillier Cryptosystem. The Paillier cryptosystem, named after and invented by Pascal Paillier in 1999, is a probabilistic asymmetric algorithm for public key cryptography. The problem of computing n-th residue classes is believed to be computationally difficult. The decisional composite residuosity assumption is the intractability hypothesis upon which this...