Die digitale Signatur (auch elektronische Signaturgenannt), ist ein Verfahren zur Überprüfung der Authentizität des Senders (Funktion derAuthentifizierung) und zur Überprüfung der Integrität der erhaltenen Nachricht.
Außerdem hat sie noch eine Funktion der Nicht-Abstoßung, das bedeutet, sie kann versichern, dass der Sender die Nachricht auch wirklich gesendet hat (anders gesagt - sie verhindert, dass der Sender verleugnet, die Nachricht gesendet zu haben).
Eine Hash-Funktion (manchmal als Streuwertfunktion bezeichnet) ist eine Funktion zur Erzeugung eines MD5-Hashes ( auf Englisch auch message digest) eines Textes, also einer kurzen Zeichenfolge, die den Text darstellt, der gehasht wird. Die Hash-Funktion muss einem Klartext genau einen Hash zuweisen (das bedeutet, die geringste Änderung des Dokuments bringt eine Veränderung des Hashs mit sich). Andererseits muss es sich um eine Ein-Weg-Funktion handeln (one-way function), so dass es nicht möglich ist, die Originalnachricht vom Hash ausgehend zu ermitteln. Gibt es eine Möglichkeit, den Klartext vom Hash ausgehend auszumachen, sagt man, die Hash- Funktion hat eine « Falltür ».
insofernt bildet der Hash in gewisser Weise dendigitalen Fingerabdruck (auf Englischfinger print) des Dokuments.
Die Hash-Algorithmen, die zurzeit am häufigsten verwendet werden, sind :
Sendet man eine Nachricht mit deren Hash, kann man deren Integrität gewährleisten, das bedeutet, der Empfänger kann überprüfen, ob die Nachricht im Kommunikationsprozess verändert wurde (absichtlich oder per Zufall).
Beim Empfang der Nachricht berechnet der Empfänger einfach den Hash der erhaltenen Nachricht und vergleicht ihn mit dem Hash, der mit dem Dokument mitgeliefert wurde. Wurde die Nachricht (oder der Hash) während der Kommunikation verfälscht, gibt es keine Übereinstimmung zwischen den Hashes.
Durch die Verwendung einer Hashfunktion lässt sich überprüfen, ob der Abdruck der empfangenen Nachricht enspricht, allerdings beweist das nicht, dass die Nachricht tatsächlich von demjenigen gesendet wurde, den man für den Sender hält.
Um also die Authentifizierung der Nachricht zu prüfen, muss der Sender den Hash nur chiffrieren (man nennt es signieren), mit Hilfe seines Privatschlüssels (der signierte Hash heißtSiegel) und dieses Siegel an den Empfänger senden.
Beim Empfang der Nachricht dechiffriert der Empfänger das Siegel mit dem öffentlichen Schlüssel des Senders, und vergleicht dann den mit der Hashfunktion erhaltenen Hash mit dem Hash im Anhang. Dieser Mechanismus der Siegelerzeugung nennt man Versiegelung.