Cryptography Reference
In-Depth Information
Algorithmus 10.1 Invertierer im Beweis zu Satz 10.4.1, allgemeiner Fall
I (( n, e ) ,y )):
1. Initialisierung des Zählers für Orakelanfragen
j =
1
2. Raten der Anfrage, in der y als Hashwert zurückgegeben werden soll.
i = flip ( { 0 ,...,q− 2 } )
3. Simulation von
E S FDH-RSA
F
E S FDH-RSA
F
mit folgenden Änderungen:
a. Die Schlüsselgenerierung wird nicht simuliert.
b. Jede Anfrage z an das Zufallsorakel wird mit h-Sim ( z ) (siehe unten) beantwortet.
c. Jede Anfrage z an das Signierorakel wird mit s-Sim ( z ) (siehe unten) beantwortet.
d. Wenn F das Nachrichten-Signatur-Paar ( x, s ) , für eine Nachricht x und eine
Signatur s ,ausgibt,danngibt I die Signatur s aus und hält.
h-Sim ( x ) :
1. Wurde bereits eine Anfrage mit Nachricht x an die Orakel geschickt?
r =min( {j +1 }∪{r ≤ j | A m [ r ]= x} )
2. Speichere x in A m
j = j +1 ; A m [ j ]= x
3. Fallunterscheidung
falls r = j ,so
- x ist neu
falls j = i ,so
- i -te Anfrage, also wird y zurückgeliefert
A h [ j ]= y
sonst - Bestimme Hashwert und Signatur wie besprochen
A s [ j ]= flip (
Z n )
A h [ j ]=( A s [ j ]) e mod n
sonst - x wurde bereits angefragt
falls j = i ,so - i -te Anfrage, Hashwert kann man nicht mehr auf y setzen
halte mit Ausgabe »Fehler«
sonst - Setze Werte entsprechend vorheriger Ausgabe
A s [ j ]= A s [ r ]
A h [ j ]= A h [ r ]
4. Ausgabe
gib A h [ j ] zurück
s-Sim ( x ) :
1. Aufruf der Simulation des Zufallsorakels
h-Sim ( x ) - Die von h-Sim gelieferte Ausgabe wird verworfen
2. Fallunterscheidung
falls j = i ,so
halte mit Ausgabe »Fehler«
sonst
gib A s [ j ] zurück
 
Search WWH ::




Custom Search