Pohlig-Hellman AlgorithmusAngriffe gegen Signaturen


Digitale Signaturverfahren

Hashfunktionen  

Im Gegensatz zu Chiffren ist der Zweck digitaler Signaturen nicht die Verschlüsselung von Informationen, um Unbefugten den Zugriff auf diese zu verweigern. Vielmehr geht es darum, eine Nachricht mit einer zusätzlichen Information in Form einer digitalen Unterschrift zu versehen. Diese soll es unter anderem ermöglichen, die Nachrichtenintegrität sicherzustellen, d.h. eine Veränderung der signierten Nachricht zu erkennen.

Digitale Signaturverfahren bieten daher immer zwei Funktionen: das Erstellen einer Signatur für eine Nachricht und das Prüfen der Zugehörigkeit einer Signatur zu einer Nachricht. Die Signatur hängt dabei sowohl von der Nachricht selbst als auch von einem geheimen Schlüssel ab, welcher sich im Besitz des Signierenden befindet. Das Prüfen erfolgt mit einem öffentlichen Schlüssel als Gegenstück zum geheimen und zeigt nicht nur, ob die Nachricht verändert wurde, sondern auch, ob sie unter Verwendung des zugehörigen geheimen Schlüssels signiert wurde. Damit ist die gewünschte Zuordnung von (unverfälschter) Nachricht zum Inhaber des geheimen Schlüssels möglich.

Der Vollständigkeit halber geben wir noch eine formale Definition eines Signaturschemas an. Ein Signaturschema ist ein Tupel , für das gilt:

Mit den vorhandenen Ressourcen sollte nur der legale Signierer, der im Besitz des geheimen Signieralgorithmus ist, eine Nachricht mit einer Signatur versehen können, sodass ist.

Hashfunktionen

Da Signaturen i.A. die gleiche Länge wie die signierte Nachricht besitzen - es gibt Signaturverfahren, bei denen sich nur aus der Signatur die Nachricht wiederherstellen lässt - benötigen die gebräuchlichsten Verfahren eine weitere Funktion, die Nachrichten variabler Länge auf kurze Zeichenketten fester Länge abbildet. Bei geeignet gewählten Funktionen ist es sehr schwer, zwei Nachrichten zu finden, die auf die gleiche Zeichenkette abgebildet werden bzw. zu einer gegebenen Nachricht eine weitere mit dem gleichen Funktionswert zu konstruieren.

Diese Funktionen nennt man Hashfunktionen und die Zeichenketten fester Länge nennt man den Hashwert der Nachricht. Die oben genannten Eigenschaften erlauben es, statt der eigentlichen Nachricht den Hashwert zu signieren, da eine Manipulation der Nachricht mit sehr hoher Wahrscheinlichkeit eine Änderung des Hashwertes bewirkt und diese durch die Signatur erkannt werden kann. Hierdurch erreicht man eine erhebliche Speicherplatz- und Zeitersparnis im Vergleich zum direkten Signieren der Nachricht.

Wenn man nun eine solche Signatur prüfen möchte, so ermittelt man mit dem bekannten Verfahren den Hashwert der empfangenen Nachricht und untersucht die Gültigkeit der Signatur bezüglich diesem.