Beweisarchiv: Kryptografie: Kryptosysteme: Sicherheit des GMR-Signatursystems

Aus testwiki
Zur Navigation springen Zur Suche springen

Beweisarchiv: Kryptografie: TOPNAV


Sicherheit des GMR-Signatursystems

Einleitung

Das GMR-Signatursystem nutzt kollisionsfreie Falltür-Einwegpermutationen. Zur Erklärung siehe dazu Falltür-Einwegfunktionen (engl. trapdoor one-way function). Diese haben den Vorteil, dass sie sich nur mit Kenntnis eines Geheimnisses effizient umkehren lassen. Es wird also die Umkehrpermutation mit Kenntnis des Geheimnisses zum Signieren einer Nachricht verwendet und die Signatur dann ohne Kenntnis des Geheimnisses mit der Permutation überprüft.

Als Geheimnis verwendet man zwei große Primfaktoren von n=p⋅q. Dabei ist n öffentlich, da es zum Testen benötigt wird.

Behauptung

Es existiert eine kollisionsfreie Falltür-Einwegpermutation.

Dazu zeigen wir im Teil 1, dass die im Folgenden vorgeschlagene Permutation eine Falltür-Einwegpermutation ist. Im Teil 2 wird bewiesen, dass es mindestens so schwer ist, eine Kollision zu finden, wie n zu faktorisieren. Das ist nützlich, da das Faktorisierungsproblem für eine beliebige ganze Zahl als nicht mit polynomialem Zeitaufwand lösbar gilt.

Falltür-Einwegpermutation

Sei

Dn={x∈ℤ/n×|(xn)=1; 0<x<n2}   ((xn) ist das Jacobi-Symbol)

der Definitionsbereich für folgende Permutation:

f0(x)={x2(modn) ,wenn x2∈Dn ,−x2(modn)sonst ,f1(x)={4x2(modn) ,wenn 4x2∈Dn ,−4x2(modn)sonst .

Die beiden folgenden Permutationen dienen dem Signieren der Zeichen „1” und „0” an einer zufällig gewählten Referenz x∈Dn. Die Umkehrfunktionen benötigen Wurzelziehen in ℤ/n, was nur mit Kenntnis der beiden Primfaktoren effizient möglich ist. Siehe dazu: Wurzelziehen ist schwer

f0−1(x)={x(modn) ,wenn x∈Dn ,−x(modn)sonst ,f1−1(x)={2−1x(modn) ,wenn 2−1x∈Dn ,−2−1x(modn)sonst .

Weiterhin sei

n=p⋅qp≡3(mod4)q≡7(mod8).

Da wir dies im Beweis mehrfach verwenden, sei hier schon einmal darauf hingewiesen, dass damit gilt:

−1∉QRn (-1 ist kein quadratischer Rest modulo n)
2∉QRn

Beweis, Teil 1

Wir zeigen nun, dass es sich bei f0 tatsächlich um eine Permutation handelt, indem wir beweisen, dass folgende Implikation gilt:

f0(x)=f0(y)⇒x=y


Sei f0(x)=f0(y)

⇒x2≡y2(modn)

Es ist x2≢−y2(modn) da x2∈QRn, aber −1∉QRn und damit auch −y2∉QRn.

x2≡y2(modn)⇒x≡±y(modn)

Wegen x, y∈Dn:0<x, y<n2.

⇒x=y


Jetzt folgt noch der Beweis für f1:

Sei f1(x)=f1(y)

⇒4x2≡4y2(modn)
⇒x2≡y2(modn)
⇒x≡±y(modn)  und  x, y∈Dn:0<x, y<n2
⇒x=y

Beweis, Teil 2

Im zweiten Teil des Beweises zeigen wir, dass die gefundenen Permutationen kollisionsresistent sind. Dazu zeigen wir die Implikation „Kollisionen finden ist leicht” ⇒ „Faktorisieren ist leicht.”

Angenommen, es existieren x, y∈Dn, für die es eine Kollision gibt:

f0(x)=f1(y)
⇒x2≡4y2(modn)

Es ist x2≢−4y2(modn) da x2∈QRn, aber −1∉QRn und damit auch −4y2∉QRn.

x2≡4y2(modn)⇒x2−4y2≡0(modn)(x+2y)⋅(x−2y)≡0(modn)


(1)⇒n∣(x+2y)⋅(x−2y)


(xn)=1 , aber  (±2yn)=−1
⇒x≢±2y(modn)


(2)⇒n∤x±2y


Wegen (1) und (2) muss (x+2y)⋅(x−2y) einen der beiden Primfaktoren enthalten. Damit ist

ggT(x−2y, n)

einer der beiden Primfaktoren von n=p⋅q

Also gilt: „Kollisionen finden ist leicht.” ⇒ „Faktorisieren ist leicht.”

Wikipedia-Verweise

Vorlage:W
Vorlage:W
Vorlage:W
Vorlage:W
Vorlage:W
Vorlage:W


Beweisarchiv: Kryptografie: TOPNAV