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.