In cryptography, the ElGamal encryption system is an asymmetric key encryption algorithm for public-key cryptography which is based on the Diffie–Hellman key exchange. It was described by Taher Elgamal in 1985. ElGamal encryption is used in the free GNU Privacy Guard software, recent versions of PGP, and other cryptosystems. The Digital Signature Algorithm (DSA) is a variant of the ElGamal signature scheme, which should not be confused with ElGamal encryption. ElGamal encryption can be defined over any cyclic group, like multiplicative group of integers modulo n. Its security depends upon the difficulty of a certain problem in related to computing discrete logarithms. The algorithm ElGamal encryption consists of three components: the key generator, the encryption algorithm, and the decryption algorithm. Key generation The first party, Alice, generates a key pair as follows: Generate an efficient description of a cyclic
En criptografía, el sistema de cifrado ElGamal es un algoritmo de cifrado de clave asimétrica para criptografía de clave pública que se basa en el intercambio de clave Diffie–Hellman. Fue descrito por Taher Elgamal en 1985. El cifrado ElGamal se utiliza en el software libre GNU Privacy Guard, versiones recientes de PGP, y otros sistemas de cifrado. El algoritmo de firma digital (DSA) es una variante del esquema de firma ElGamal, que no debe confundirse con el cifrado ElGamal. El cifrado ElGamal se puede definir sobre cualquier grupo cíclico, como el grupo multiplicativo de enteros modulo n. Su seguridad depende de la dificultad de un determinado problema relacionado con el cálculo de discritos logarítmicos. El algoritmo de cifrado ElGamal consiste en tres componentes: el generador de clave, el algoritmo de cifrado y el algoritmo de descifrado. La generación de clave, generada por Alice, sigue una descripción eficiente: