## ElGamal encryption |

In **ElGamal encryption system** is a symmetric key encryption algorithm for ^{[1]} ElGamal encryption is used in the free

ElGamal encryption can be defined over any

- the algorithm
- security
- efficiency
- see also
- references

ElGamal encryption consists of three components: the key generator, the encryption algorithm, and the decryption algorithm.

The key generator works as follows:

- Alice generates an efficient description of a cyclic group of order with
generator . See below for a discussion on the required properties of this group. - Alice chooses an randomly from .
- Alice computes .
- Alice publishes , along with the description of , as her
. Alice retains as herpublic key **private key**, which must be kept secret.

The encryption algorithm works as follows: to encrypt a message to Alice under her public key ,

- Bob chooses a random from , then calculates .
- Bob calculates the shared secret .
- Bob maps his message onto an element of .
- Bob calculates .
- Bob sends the ciphertext to Alice.

Note that one can easily find if one knows . Therefore, a new is generated for every message to improve security. For this reason, is also called an

The decryption algorithm works as follows: to decrypt a ciphertext with her private key ,

- Alice calculates the shared secret
- and then computes which she then converts back into the plaintext message , where is the inverse of in the group . (E.g.
modular multiplicative inverse if is a subgroup of amultiplicative group of integers modulo ).*n*

- The decryption algorithm produces the intended message, since

The ElGamal cryptosystem is usually used in a

Other Languages

العربية: تشفير الجمل

azərbaycanca: El-Qamal sxemi

čeština: ElGamal

Deutsch: Elgamal-Verschlüsselungsverfahren

español: Cifrado ElGamal

فارسی: رمزنگاری الجمل

français: Cryptosystème de ElGamal

한국어: 엘가말 암호

italiano: ElGamal

עברית: צופן אל-גמאל

lietuvių: ElGamal kriptosistema

Nederlands: Elgamal-encryptiesysteem

日本語: ElGamal暗号

polski: ElGamal

português: El Gamal

русский: Схема Эль-Гамаля

suomi: ElGamal

svenska: ElGamal-kryptering

Türkçe: ElGamal

українська: Схема Ель-Гамаля

中文: ElGamal加密算法