Cryptography Reference
In-Depth Information
10.2
Signieren mit RSA: erster Versuch
Es liegt nahe, RSA als Signierschema zu verwenden. Dabei übernimmt der Dechiffrieral-
gorithmus die Aufgabe des Signieralgorithmus und verifiziert wird mit dem Chiffrieral-
gorithmus. In der Tat wurde diese Vorgehensweise bereits von den Erfindern von RSA
vorgeschlagen.
Genauer ist das durch RSA induzierte Signierschema wie folgt definiert.
Definition 10.2.1 (RSA-Signierschema). Es sei l> 0 gerade. Das l -RSA-Signierschema
S RSA ist ein Tupel ( X,K,G,T,V ) mit
- K = { (( n, e ) , ( n, d )) | ( n, p, q, m, e, d ) ist ein RSA-Tupel mit |p| 2 =
|
q
| 2 = l/ 2
}
,
- X =
{ Z n } ( n,e ) ∈K pub ,
- G erzeugt Schlüsselpaare gemäß dem RSA-Kryptoschema (vgl. Definition 6.4.2),
- T ( x, ( n, d )) = x d mod n für alle x ∈ Z n und (( n, e ) , ( n, d )) ∈ K ,
- V ( x, t, ( n, e )) gibt 1 aus, wenn t e mod n = x gilt, 0 sonst.
S RSA ein Signierschema im Sinne von Definition 10.1.1 ist. Die
Idee dieses Signierschemas ist, dass jemand, der den privaten Schlüssel ( n, d ) nicht kennt,
nicht in der Lage ist (zumindest nicht mit realistischem Aufwand), zu einer Nachricht
x , die Signatur x d mod n zu berechnen. Dies folgt aus der RSA-Annahme (vgl. Annah-
me 6.4.1). Umgekehrt kann jeder leicht mit Hilfe des öffentlichen Schlüssels ( n, e ) die
Gültigkeit einer Signatur verifizieren.
Diese Argumentation ist aber leider fehlerhaft. Die RSA-Annahme besagt lediglich,
dass es schwer ist, zu einer zufällig gewählten Nachricht x das Urbild x d mod n zu
berechnen. Für bestimmte Nachrichten x kann dies jedoch leicht sein. Für solche Nach-
richten könnte man also leicht eine Signatur berechnen. Zum Beispiel sind (0 , 0) und (1 , 1)
offensichtlich gültige Nachrichten-Signatur-Paare (im Folgenden kurz NSP genannt). All-
gemeiner sieht man leicht, dass der Vorteil des folgenden Fälschers 1 ist; dieser also immer
ein gültiges NSP ausgibt:
Man sieht leicht, dass
}
Wähle x ∈ Z n beliebig
Ausgabe ( x e mod n, x )
} ×{
F ( s, ( n, e )):
{
0 , 1
0 , 1
Damit ist klar, dass das Signierschema
S RSA völlig unsicher ist. Erlaubt man dem Fäl-
scher zwei Anfragen an das Signierorakel zu stellen, so sind für
S RSA sogar universelle
Fälschungen möglich, d. h., zu jeder beliebigen Nachricht kann eine gültige Signatur be-
rechnet werden (vgl. auch Kapitel 7). Dazu nutzt man die sogenannte Multiplikativität
von RSA aus: x d
· y d mod n =( x · y ) d mod n . Der folgende Fälscher berechnet zu einer
beliebigen Nachricht z
Z n die zugehörige Signatur.
} ×{
}
F univ ( s, ( n, e )):
{
0 , 1
0 , 1
Z n )
t 1 = s ( r )
t 2 = s ( z · r 1 mod n )
Ausgabe ( z,t 1 ·
r = flip (
t 2 mod n )
Search WWH ::




Custom Search