A führt die folgenden Schritte durch:
A führt die folgenden Schritte durch:
B führt die folgenden Schritte durch:
Die ElGamal-Signatur basiert daher auch auf dem DLP. Für die ElGamal-Signatur gelten dieselben Hinweise, wie für die ElGamal-Verschlüsselung: Die Signatur ist etwas doppelt so lang, wie der Text, jedoch gilt auch hier, daß üblicherweise nur kleine Mengen an Text (nämlich der Hash-Wert der Nachricht ) signiert werden, so daß dies in den meisten Fällen kein Problem ist.
Die Verwendung einer Hash-Funktion ist aber ohnehin aus Gründen der Sicherheit zwingend erforderlich: Wird bei dem Signatur-Verfahren keine Hash-Funktion auf die Nachricht angewendet, dann wird in Schritt durch berechnet. In diesem Fall kann ein Angreifer E eine beliebige Signatur ohne Kenntnis des geheimen Schlüssels erzeugen, indem E folgende Schritte (anstelle des 2. Schrittes) ausführt:
Außerdem muß für jede Signatur eine neue Zufallszahl gewählt
werden, andernfalls kann ein Angreifer mit hoher Wahrscheinlichkeit
und den geheimen Schlüssel aufdecken: Seien
und
die Signaturen von
und . Dann ist
und
Die Wahl eines unterschiedlichen für jede Signatur führt nebenbei auch dazu, daß bei ansonsten gleichen Parametern ein Text unterschiedliche Signaturen erzeugen kann.