Esquema de firma ElGamal

El algoritmo de firma ElGamal descrito en su artículo es raramente utilizado en la práctica.

Para firmar un mensaje m el firmante realiza los pasos siguientes.

El par (r,s) así obtenido es la firma digital de m. El firmante repite estos pasos para cada mensaje m que desea firmar.

El firmante debe tener cuidado y escoger una k diferente de forma uniformemente aleatoria para cada firma.

Malas selecciones de k pueden representar fugas de información que facilitan el que un atacante deduzca la clave secreta x.