Full-Domain-Hash

Aus testwiki
Zur Navigation springen Zur Suche springen

Full-Domain-Hash (Abkürzung FDH) ist ein Signaturverfahren aus dem Bereich der Kryptologie. Der Empfänger einer Nachricht kann damit überprüfen, ob die Nachricht, die der Absender an ihn gesandt hat, durch einen Dritten verändert wurde oder nicht.

Das Prinzip des Verfahrens besteht darin, eine Nachricht zuerst zu hashen und anschließend eine beliebige Trapdoor-Einwegpermutation darauf anzuwenden. Die Hashfunktion wird dabei als Zufallsorakel modelliert, dessen Bildmenge gleich dem Definitionsbereich der Einwegpermutation ist. Daher kommt auch der Name Full-Domain-Hash.

Beschreibung des Protokolls

Das Full-Domain-Hash-Verfahren ist ein asymmetrisches Signaturverfahren dessen öffentlicher Schlüssel (f,G) aus einer Trapdoor-Einwegpermutation f:{0,1}k{0,1}k und einem Zufallsorakel G:{0,1}*{0,1}k gebildet wird. Der zugehörige geheime Schlüssel ist die Umkehrfunktion f1 der Trapdoor-Einwegpermutation.

Die Signatur einer Nachricht x wird durch folgende Funktion berechnet:

sig(x)=f1(G(x))

Die Nachricht wird dann zusammen mit der Signatur an den Empfänger gesandt.

Der Empfänger erhält die Nachricht x zusammen mit der Signatur y=sig(x). Mit der Verifikationsfunktion

ver(x,y)={wahrwenn f(y)=G(x)falschsonst

überprüft er die Nachricht. Diese gibt genau dann wahr aus, wenn die Nachricht nicht verändert wurde.

RSA-Full-Domain-Hash

Verwendet man als Trapdoor-Einwegpermutation f die RSA-Funktion f(x)=xemodN mit den von RSA bekannten Parametern, dann spricht man vom RSA-Full-Domain-Hash. Das Verfahren ist nachweislich sicher, das heißt, es kann auch mit einem Angriff mit frei wählbarem Klartext keine existenzielle Fälschung erzeugt werden.

Sicherheit des RSA-Full-Domain-Hash

Wenn RSA (t,ϵ)-sicher ist, dann ist das RSA-Full-Domain-Hash-Verfahren auf Basis des Zufallsorakel-Modells (t,ϵ)-sicher mit

t=t(qhash+qsig+1)𝒪(k3)
ϵ=(1+1qsig)qsig+1qsigϵ

Beachte, dass der Artikel von Jean-Sébastien Coron offenbar qsig>0 voraussetzt. Für große qsig läuft dies auf ϵexp(1)qsigϵ hinaus.

Das bedeutet: Wenn es einen Algorithmus gibt, der eine existenzielle Fälschung für das Full-Domain-Hash-Verfahren mit einer Laufzeit von t und Erfolgswahrscheinlichkeit von ϵ erstellen kann und dabei höchstens qhash berechnet und höchstens qsig Unterschriften benötigt, dann gibt es einen Algorithmus, der diskrete Logarithmen von RSA-Modulen mit einer Laufzeit von t und Erfolgswahrscheinlichkeit von ϵ berechnet.

Relevanz

Die Autoren (Bellare, Rogaway) von Full-Domain-Hash haben ein weiteres Verfahren vorgeschlagen, das Probabilistic Signature Scheme (PSS), welches ihrer Ansicht nach bessere kryptografische Eigenschaften hat. Daher wird FDH praktisch nicht eingesetzt, da PSS im Rahmen von PKCS #1 v2.1 standardisiert wurde.

Quellen