Cryptography Reference
In-Depth Information
macht. Wenn sie diesen unverändert signiert, dann ergeben sich wiederum ver-
schiedene Probleme:
Wenn der Hashwert der Nachricht nicht mit dem Ergebnis der Berechnung
mit dem öffentlichen RSA-Schlüssel von Alice übereinstimmt, weiß Bob zwar,
dass die digitale Signatur falsch ist. Er weiß jedoch nicht, ob es sich um eine
echte Signatur zum falschen Hashwert oder um eine komplett falsche Signa-
tur handelt. Es ist daher sinnvoll, einen Hashwert vor dem Signieren so zu
formatieren, dass das Resultat eine erkennbare Struktur hat.
Wenn Mallory die Möglichkeit hat, Hashwerte von Alice signieren zu lassen
(das heißt, wenn Alice den Hashwert nicht selbst aus der Nachricht gene-
riert), kann er eine Chosen-Ciphertext-Attacke starten (RSA bietet ja ein paar
Möglichkeiten dafür). Diese Voraussetzung ist beispielsweise gegeben, wenn
ein Hardwarechip Signaturen zu beliebigen Eingabewerten erstellt. Diese
Angriffsmöglichkeit fällt weg, wenn Alice Hashwerte nur nach einer Daten-
formatierung signiert, die Mallory möglichst wenig Raum für das Einbringen
von für ihn vorteilhaften Mustern lässt.
Um die genannten Probleme zu lösen, spezifiziert PKCS#1 zwei Methoden zur
Datenformatierung für RSA-Signaturen. Dabei ist zu beachten, dass die typische
Länge eines Hashwerts 160 Bit beträgt, RSA aber meist Datenblöcke der Länge
1.024 oder 2.048 Bit verschlüsselt (die Länge eines Datenblocks entspricht der
Schlüssellänge). Aus diesem Grund schadet es nicht, wenn der formatierte Wert
länger ist als der Hashwert.
Formatierung für Signierung nach PKCS#1 Version 1
Die Formatierung eines Hashwerts gemäß der ersten Version von PKCS#1 ist
recht einfach. Das Format besteht aus vier Teilen:
Das erste Byte des formatierten Hashwerts hat immer den Wert 00000001.
Dadurch wird sichergestellt, dass der formatierte Hashwert kleiner ist als der
Modulus.
Nun folgen so viele Bytes mit dem Inhalt 255, dass die Gesamtlänge des for-
matierten Hashwerts der des Modulus entspricht.
Nun folgt ein Byte mit dem Inhalt Null.
Der vierte Teil besteht aus dem Hashwert und einer OID des Hashverfahrens.
Erhält Bob nach Anwendung von Alices öffentlichem Schlüssel auf eine Signatur
einen Wert, der nicht der beschriebenen Syntax entspricht, dann weiß er sofort,
dass es sich um keine echte Signatur handeln kann.
Search WWH ::




Custom Search