Elgamal is a cryptosystem that is homomorphic over multiplication.
- How can I convert it to an additive homomorphic cryptosystem?
- How can I use this additive homomorphic Elgamal cryptosystem for E-voting purpose?
Please explain with examples.
Elgamal is a cryptosystem that is homomorphic over multiplication.
Please explain with examples.
Elgamal can be made additive by encrypting $g^m$ instead of $m$ with traditional Elgamal for some generator $g$ (usually the same one used to generate the public key). This variant is sometimes called exponential Elgamal. The difficulty is decryption: running the standard decryption gives you $g^m$ and recovering $m$ requires you to solve the discrete log. As long as $m$ is small, this can be done algorithmically or with a lookup table.
See this answer for how to build a voting scheme from it (or this paper for the full description). Exponential Elgamal is great for things like voting because after you tally up all the votes, you'll still have a number that is reasonably small.
Paillier is additively homomorphic as well, and can support a proper decryption of any sized message. Dispite this, many voting schemes still use exponential Elgamal because it is faster, easier to do distributed key generation, and not patented.