7.1.2 Unterschreiben

Beim Unterschreiben geht es um andere Dinge. Das Dokument muß nicht unbedingt geheim sein. Man kann es zusätzlich verschlüsseln, aber hier kommt es darauf an, daß der Absender eindeutig bestimmt werden kann.

Man muß der Nachricht also eine Information beigeben, die nur und ausschließlich dem Absender bekannt ist. Sofort fällt der geheime Schlüssel des Absenders ins Auge.

Will Alice also eine von ihr unterschriebene Nachricht an Bob senden, so "unterschreibt" sie die Nachricht M mit ihrem eigenen, geheimen Schlüssel DAlice:

S = DAlice(M)

Dann schickt sie die Nachricht S an Bob. Bob seinerseits muß nun kontrollieren, ob Alice der Absender war. Er schlägt also im öffentlich zugänglichen Schlüsselverzeichnis den öffentlichen Schlüssel von Alice, EAlice, nach und ermittelt so wieder die Nachricht M:

M = EAlice(S)

Zwar sehen diese Gleichungen aus wie die für das Verschlüsseln, mit dem Unterschied, daß E und D vertauscht sind. Aber man beachte, daß diesmal nicht nur Bob, sondern jeder, dem die Nachricht in die Hände fällt, überprüfen kann, ob Alice die Nachricht unterschrieben hat. Das ist in diesem Falle aber auch beabsichtigt - das Überprüfen der Unterschrift darf nicht nur einer Person möglich sein.

Möchte man die unterschriebene Nachricht außerdem noch verschlüsseln, so wendet man nach dem Ermitteln von S einfach noch den Teil "Verschlüsseln" an.

Alice unterschreibt und verschlüsselt:

  1. S = DAlice(M) (Alice unterschreibt M)
  2. C = EBob(S) (Alice verschlüsselt das unterschriebene Dokument S)
  3. Alice schickt C an Bob

Abb. 7.2: Digitale Unterschrift.

Bob entschlüsselt und überprüft:

  1. Bob empfängt C von Alice.
  2. S = DBob(C) (Bob entschlüsselt die verschlüsselte Botschaft C)
  3. M = EAlice(S) (Bob prüft die Unterschrift von Alice)

Wie geht das Überprüfen der Unterschrift vor sich? Es ist einfacher als man denkt - und trotzdem ist es nicht selbstverständlich.

Der Vorgang des Unterschreibens verschlüsselt in gewissem Sinne das Dokument M, es wird eine unlesbare Folge von Zeichen. Allerdings kann jeder Empfänger, unbefugt oder nicht, das Dokument wieder "entschlüsseln", denn jeder kann sich ja den öffentlichen Schlüssel von Alice besorgen, der dafür notwendig ist.

Wenn das geschieht, hat man wieder den Klartext, und das bemerkt man daran, daß etwas Sinnvolles zum Vorschein kommt, also ein lesbarer Text, eine Zahlenkolonne, die dem Empfänger etwas sagt oder auch eine Grafik, eine Tonaufzeichnung, etc. Nun ist da natürlich der Begriff des "Sinnvollen" recht problematisch.

Der Autor eines solchen Verfahrens muß darauf achten, daß es nicht möglich oder unwahrscheinlich ist, daß zwei verschiedene Nachrichten dieselbe "Unterschrift" S ergeben - oder daß man nicht aus einer unterschriebenen Nachricht S mit zwei verschiedenen (öffentlichen) Schlüsseln zwei verschiedene, aber gleichermaßen sinnvolle Text erhalten kann (oder gar denselben). Diese Probleme sind ganz realistischer Natur; sie sind nur schwer lösbar.