Vorherige Seite Nächste Seite Inhalt

3. Das DSA-Verfahren

DSA steht für Digital Signature Algorithm und ist seit 1994 der Standard für Digitale Unterschriften in den USA. DSA ist eine Variante der Unterschriftsalgorithmen von Schnorr und ELGamal.

3.1 Algorithmus

y=gxmod p

Der Algorithmus verwendet außerdem eine Einweg-Hashfunktion H(m). Der Standard legt dafür den Secure Hash Algorithm fest.

Die Zahlen p, q und g sind öffentlich bekannt und können innerhalb einer Benutzergruppe konstant sein. Der private Schlüssel ist x, der öffentliche Schlüssel ist y.

Möchte ein Teilnehmer seine Nachricht m signieren, so ist der folgende Ablauf notwendig:

  1. Alice generiert eine Zufallszahl k, die kleiner q ist.
  2. Alice erzeugt r und s bilden die Signatur die Alice an Bob sendet. Sie werden an den Klartext angehängt und versendet.

    r=(gkmod p) mod q

    s=(k-1(H(m)+x*r)) mod q

  3. Bob verifiziert die Signatur indem er folgende Werte berechnet:

u1=(H(m)*w) mod q

w=s-1mod q

u2=(r*w) mod q

v=((gu1*yu2) mod p) mod q

Wenn v=r gilt ist die Signatur verifiziert.

Das Dokument wird hierbei nicht verschlüsselt. Es wird die Echtheit des Dokuments durch die Einweg-Hashfunktion Secure Hash Algorithm (SHA) überprüft und die Signatur bestätigt. Gegebenenfalls kann der Klartext noch mit dem RSA-Verfahren verschlüsselt werden. Das DSA eignet sich aber hauptsächlich zur digitalen Unterschrift. Es gibt aber auch Implementierungen, die eine RSA-Verschlüsselung unterstützen.


Digitale Signatur mit DSA


Vorherige Seite Nächste Seite Inhalt