Cifrado El Gamal

Compartir Imprimir Citar
Sistema de criptogramas

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 claves Diffie-Hellman. Fue descrito por Taher Elgamal en 1985. El cifrado ElGamal se usa en el software gratuito GNU Privacy Guard, versiones recientes de PGP y otros criptosistemas. El algoritmo de firma digital (DSA) es una variante del esquema de firma de ElGamal, que no debe confundirse con el cifrado de ElGamal.

Encriptación ElGamal se puede definir sobre cualquier grupo cíclico G{displaystyle G., como grupo multiplicativo de enteros modulo n. Su seguridad depende de la dificultad de un problema determinado en G{displaystyle G. relacionado con los logaritmos discretos.

El algoritmo

El cifrado de ElGamal consta de tres componentes: el generador de claves, el algoritmo de cifrado y el algoritmo de descifrado.

Generación de claves

La primera parte, Alice, genera un par de claves de la siguiente manera:

Cifrado

Una segunda fiesta, Bob, encripta un mensaje M{displaystyle M} a Alice bajo su llave pública ()G,q,g,h){displaystyle (G,q,g,h)} como sigue:

Tenga en cuenta que si uno conoce ambos el ciphertext ()c1,c2){displaystyle (c_{1},c_{2}} y el texto m{displaystyle m}, uno puede encontrar fácilmente el secreto compartido s{displaystyle s}, desde c2⋅ ⋅ m− − 1=s{displaystyle c_{2}cdot m^{-1}=s}. Por lo tanto, un nuevo Sí.{displaystyle y} y por lo tanto un nuevo s{displaystyle s} se genera para cada mensaje para mejorar la seguridad. Por esta razón, Sí.{displaystyle y} también se llama una llave efímera.

Descifrado

Alice descifra un ciphertext ()c1,c2){displaystyle (c_{1},c_{2}} con su llave privada x{displaystyle x} como sigue:

Uso práctico

Como la mayoría de los sistemas de clave pública, el criptosistema ElGamal generalmente se usa como parte de un criptosistema híbrido, donde el mensaje en sí se encripta usando un criptosistema simétrico, y ElGamal luego se usa para encriptar solo la clave simétrica. Esto se debe a que los criptosistemas asimétricos como ElGamal suelen ser más lentos que los simétricos para el mismo nivel de seguridad, por lo que es más rápido cifrar el mensaje, que puede ser arbitrariamente grande, con un cifrado simétrico y luego usar ElGamal solo para cifrar la clave simétrica., que suele ser bastante pequeño en comparación con el tamaño del mensaje.

Seguridad

La seguridad del esquema ElGamal depende de las propiedades del grupo subyacente G{displaystyle G. así como cualquier esquema de relleno utilizado en los mensajes. Si la suposición computacional Diffie-Hellman (CDH) se mantiene en el grupo cíclico subyacente G{displaystyle G., entonces la función de cifrado es de una sola dirección.

Si la suposición de decisión Diffie-Hellman (DDH) se mantiene G{displaystyle G., entonces ElGamal logra seguridad semántica. La seguridad semántica no está implícita por la suposición computacional Diffie-Hellman solo. Véase la suposición de Diffie-Hellman para una discusión de grupos en los que se cree que la suposición tiene.

La encriptación ElGamal es incondicionalmente maleable, por lo que no está segura bajo el ataque de cifertexto elegido. Por ejemplo, dada una encriptación ()c1,c2){displaystyle (c_{1},c_{2}} de algunos mensajes (posiblemente desconocidos) m{displaystyle m}, se puede construir fácilmente un cifrado válido ()c1,2c2){displaystyle (c_{1},2c_{2}} del mensaje 2m{displaystyle 2m}.

Para lograr la seguridad del texto cifrado elegido, se debe modificar más el esquema o se debe usar un esquema de relleno adecuado. Dependiendo de la modificación, la suposición DDH puede o no ser necesaria.

También se han propuesto otros esquemas relacionados con ElGamal que logran la seguridad contra los ataques de cifertexto elegidos. El criptosistema Cramer-Shoup está seguro bajo ataque de criptotexto elegido asumiendo que la DDH sostiene por G{displaystyle G.. Su prueba no utiliza el modelo de oráculo al azar. Otro esquema propuesto es el DHAES, cuya prueba requiere una suposición más débil que la suposición DDH.

Eficiencia

El cifrado de ElGamal es probabilístico, lo que significa que un solo texto sin formato puede cifrarse en muchos textos cifrados posibles, con la consecuencia de que un cifrado general de ElGamal produce una expansión de tamaño 1:2 de texto sin formato a texto cifrado.

El cifrado bajo ElGamal requiere dos exponenciaciones; sin embargo, estas exponenciaciones son independientes del mensaje y se pueden calcular con anticipación si es necesario. El descifrado requiere una exponenciación y un cálculo de un grupo inverso, que, sin embargo, se pueden combinar fácilmente en una sola exponenciación.