Algoritmo criptográfico de clave pública que puede emplearse tanto para cifrar como para obtener firmas digitales y que basa su seguridad en la dificultad de calcular logaritmos discretos en un campo finito.

Es de recalcar que aunque el algoritmo citado puede emplearse también para cifrar información, su complejidad y el hecho de duplicar el texto cifrado la longitud del texto en claro lo hacen poco recomendable para tal fin.

El esquema de firma ElGamal permite que un verificador pueda confirmar la autenticidad de un mensaje m enviado por un emisor sobre un canal de comunicación inseguro.