- Homomorphic encryption
Homomorphic Encryption is a form of
encryption where one can perform a specific algebraic operation on theplaintext by performing a (possibly different) algebraic operation on theciphertext . Depending on one's viewpoint, this can be seen as a positive or negative attribute of the cryptosystem. Homomorphic encryption schemes are malleable by design and are thus unsuited for secure data transmission. On the other hand, the homomorphic property of various cryptosystems can be used to create [http://web.mit.edu/6.857/OldStuff/Fall02/handouts/L15-voting.pdf secure voting systems] (pdf), collision-resistant hash functions andprivate information retrieval schemes.There are several efficient Homomorphic cryptosystems:
*
RSA Cryptosystem
*ElGamal cryptosystem
*Goldwasser-Micali cryptosystem
*Benaloh cryptosystem
*Okamoto-Uchiyama cryptosystem
*Paillier cryptosystem
*Naccache-Stern cryptosystem
*Damgård-Jurik cryptosystem
*Boneh-Goh-Nissim cryptosystem Examples
In the following examples, we use the notation to denote the encryption of the message "x".
Unpadded RSA
If the public key is "m","e", then the encryption of a message "x" is given by . Then we have the homomorphic property
:
ElGamal
In a group , if the public key is , where , and is the secret key, then the encryption of a message is , for some . Then we have the homomorphic property
:
Goldwasser-Micali
If the public key is the modulus "m", and quadratic non-residue "x", then the encryption of a bit "b" is . Then we have the homomorphic property
:
where denotes addition modulo 2, (i.e. exclusive-or).
Benaloh
If the public key is the modulus "m", the base "g" and the blocksize "r", then the encryption of a message "x" is . Then we have the homomorphic property
:
Paillier
If the public key is the modulus "m" and the base "g", then the encryption of a message "x" is . Then we have the homomorphic property
:
Open question
While these examples allow one-to-one group operation on plaintexts (either addition or multiplication in these examples), no one has created a cryptosystem which preserves the ring structure of the plaintexts, i.e. allows both addition and multiplication. The best result in this direction is the Boneh-Goh-Nissim cryptosystem which, through operations on the cipthertext, allows addition of plaintext followed by a single multiplication followed by an arbitrary number of additions. This allows evaluation of polynomials of degree 2 on the plaintext through operations on the ciphertext. The system is only practical when the space of plaintexts is relatively small.
References
* [http://www.adastral.ucl.ac.uk/~helger/crypto/link/public/homomorphic.php Homomorphic encryption] in [http://www.adastral.ucl.ac.uk/~helger/crypto/ Cryptology Pointers]
* [http://www.cs.virginia.edu/~pev5b/writing/academic/thesis/node7.html Homomorphic encryption]
* [http://citeseer.ist.psu.edu/726875.html Sufficient conditions for collision-resistant hashing]
Wikimedia Foundation. 2010.