stringtranslate.com

Cifrado ElGamal

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. [1] El cifrado ElGamal se utiliza en el software gratuito GNU Privacy Guard , en versiones recientes de PGP y en otros criptosistemas . 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 un grupo multiplicativo de números enteros módulo  n si y solo si n es 1, 2, 4, p k o 2 p k , donde p es un primo impar y k > 0 . Su seguridad depende de la dificultad de un determinado problema relacionado con el cálculo de logaritmos discretos .

el algoritmo

El algoritmo puede describirse como la realización primero de un intercambio de claves Diffie-Hellman para establecer un secreto compartido y luego usarlo como un bloc de un solo uso para cifrar el mensaje. El cifrado de ElGamal se realiza en tres fases: generación de clave, cifrado y descifrado. El primero es puramente intercambio de claves, mientras que los dos últimos combinan cálculos de intercambio de claves con cálculos de mensajes.

Generación de claves

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

Cifrado

Una segunda parte, Bob, cifra un mensaje dirigido a Alice con su clave pública de la siguiente manera:

Tenga en cuenta que si uno conoce tanto el texto cifrado como el texto sin formato , puede encontrar fácilmente el secreto compartido , ya que . Por lo tanto, se genera un mensaje nuevo y, por lo tanto, uno nuevo para cada mensaje para mejorar la seguridad. Por este motivo, también se le llama clave efímera .

Descifrado

Alice descifra un texto cifrado con su clave privada de la siguiente manera:

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 cifra usando un criptosistema simétrico, y luego ElGamal se usa para cifrar 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, así como de cualquier esquema de relleno utilizado en los mensajes. Si el supuesto computacional de Diffie-Hellman (CDH) se cumple en el grupo cíclico subyacente , entonces la función de cifrado es unidireccional . [2]

Si se cumple el supuesto decisional de Diffie-Hellman (DDH) , entonces ElGamal logra seguridad semántica . [2] [3] La seguridad semántica no está implícita únicamente en el supuesto computacional de Diffie-Hellman. Consulte el supuesto decisivo de Diffie-Hellman para obtener un análisis de los grupos en los que se cree que se cumple el supuesto.

El cifrado ElGamal es incondicionalmente maleable y, por lo tanto, no es seguro bajo el ataque de texto cifrado elegido . Por ejemplo, dado el cifrado de algún mensaje (posiblemente desconocido) , se puede construir fácilmente un cifrado válido del mensaje .

Para lograr la seguridad del texto cifrado elegido, se debe modificar aún más el esquema o se debe utilizar un esquema de relleno apropiado. Dependiendo de la modificación, el supuesto DDH puede ser necesario o no.

También se han propuesto otros esquemas relacionados con ElGamal que logran seguridad contra ataques de texto cifrado seleccionados. El criptosistema Cramer-Shoup es seguro bajo el ataque de texto cifrado elegido, suponiendo que DDH sea válido para . Su prueba no utiliza el modelo de oráculo aleatorio . Otro esquema propuesto es DHIES , [4] cuya prueba requiere un supuesto que sea más fuerte que el supuesto DDH.

Eficiencia

El cifrado ElGamal es probabilístico , lo que significa que un único texto sin formato puede cifrarse en muchos textos cifrados posibles, con la consecuencia de que un cifrado ElGamal general 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 pueden calcularse con anticipación si es necesario. El descifrado requiere una exponenciación y un cálculo de un grupo inverso, que, sin embargo, se puede combinar fácilmente en una sola exponenciación.

Ver también

Otras lecturas

Referencias

  1. ^ Taher ElGamal (1985). "Un criptosistema de clave pública y un esquema de firma basado en logaritmos discretos" (PDF) . Transacciones IEEE sobre teoría de la información . 31 (4): 469–472. CiteSeerX 10.1.1.476.4791 . doi :10.1109/TIT.1985.1057074. S2CID  2973271. (La versión de la conferencia apareció en CRYPTO '84, págs. 10-18)
  2. ^ ab Mike Rosulek (13 de diciembre de 2008). "Esquema de cifrado Elgamal". Universidad de Illinois en Urbana-Champaign . Archivado desde el original el 22 de julio de 2016.
  3. ^ Tsiounis, Yiannis; Yung, Moti (24 de mayo de 2006). "Sobre la seguridad del cifrado basado en ElGamal". Criptografía de clave pública . Apuntes de conferencias sobre informática. vol. 1431, págs. 117-134. doi :10.1007/BFb0054019. ISBN 978-3-540-69105-1.
  4. ^ Abdalla, Michel; Bellaré, Mihir; Rogaway, Phillip (1 de enero de 2001). "Los supuestos de Oracle Diffie-Hellman y un análisis de DHIES". Temas de criptología - CT-RSA 2001 . Apuntes de conferencias sobre informática. vol. 2020. págs. 143-158. doi :10.1007/3-540-45353-9_12. ISBN 978-3-540-41898-6.