Cifrado ElGamal

En 1985, ElGamal diseñó un sistema cuya seguridad se basa en la dificultad de calcular logaritmos discretos.

Este sistema no encaja perfectamente con la definición de un criptosistema de llave pública, ya que el conjunto de posibles textos planos (enteros mod p) no es el mismo que el conjunto de posibles textos cifrados (pares de enteros (r, t) mod p).


Cifrado

Alice quiere enviarle un mensaje a Bob.

  1. Bob selecciona un número primo grande y un generador o raíz primitiva tal que .
  2. Bob elige un entero secreto y calcula .
  3. La información se hace pública y es la llave pública de Bob.
  4. Alice descarga .
  5. Alice convierte el mensaje en un entero tal que . Si es mayor, se divide en bloques más pequeños. Se utiliza cualquier método para la conversión.
  6. Alice elige un entero aleatorio secreto y calcula .
  7. Alice calcula .
  8. Alice envía el texto cifrado a Bob.

Descifrado

  1. Bob recibe el texto cifrado de Alice.
  2. Bob realiza el cálculo .
  3. Bob realiza la conversión de a texto.

Referencias

  1. Trappe, W., Washington, L. (2006). Discrete Logarithms. En Introduction to Cryptography with Coding Theory(212-214). United States of America: Prentice Hall.