• Keine Ergebnisse gefunden

Rabin Verschlüsselung 1979

N/A
N/A
Protected

Academic year: 2022

Aktie "Rabin Verschlüsselung 1979"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Rabin Verschlüsselung 1979

Idee: Rabin Verschlüsselung

Beobachtung: Berechnen von Wurzeln inZpist effizient möglich.

Ziehen von Quadratwurzeln inZNist äquivalent zum Faktorisieren.

Vorteil: CPA-Sicherheit beruht nur auf Faktorisierungsannahme.

Für unsere bisherigen Verfahren verwendeten wir stärkere Annahmen.

RSA: Berechnen von e-ten Wurzeln inZn.

Goldwasser-Micali: Unterscheiden von QRN und QNRN+1.

(2)

Berechnen von Quadratwurzeln in Z

p

Satz Ziehen von Wurzeln inZp

Sei p prim mit p =3mod4 und aQRp. Dann gilt für b2=amodp, dass b =±ap+14 modp. Ferner ist ap+14QRpund−ap+14QNRp Beweis:

Es gilt

±ap+14 2

=ap+12 =ap21 ·a=

a p

·a=amodp.

Wir schreiben p=4k +3. Dann gilt

ap+14 p

=

1 p

·

ap+14 p

= (−1)p−12 ·

a p

p+14

= (−1)2k+1= (−1).

Damit folgt−ap+14QNRpund ap+14QRp.

(3)

Quadratwurzel bei bekannter Faktorisierung

Definition Blum-Zahl

Sei N =pq ein RSA-Modul. N heißt Blum-Zahl falls p=q =3mod4.

Satz Quadratwurzeln inZN

Sei N =pq eine Blum-Zahl mit bekannten p,q. Dann können die vier Quadratwurzeln von aQRN in ZeitO(log3N)berechnet werden.

Beweis:

Algorithmus QUADRATWURZEL EINGABE: N,p,q,aQRN

1 Berechne xpap+14 modp, xqaq+14 modq.

2 Berechne mittels Chinesischem Restsatz die Lösungen von

b1=xpmodp b1=xq modq

,

b2=xp modp b2= xq modq

,

b3= xp modp b3=xq modq

,

b4=xpmodp b4=xq modq

AUSGABE: b1, . . . ,b4mit bi2=amodN

(4)

Hauptwurzeln

Satz Existenz einer Hauptwurzel

Sei N =pq eine Blumzahl. Dann besitzt jedes aQRN genau ein bQRNmit b2=amodN. Wir bezeichnen b als Hauptwurzel.

Beweis:

Algorithmus QUADRATWURZEL liefert

b1≃(xp,xq)∈QRp×QRq. Damit ist b1QRN eine Hauptwurzel.

Alle anderen Wurzel b2,b3,b4sind keine Hauptwurzeln.

Z.B. gilt b2= (−xp,xq)∈QNRp×QRqund damit b2QNRN.

(5)

Quadratwurzeln ohne Faktorisierung

Spiel Wurzelziehen SQRA,GenModulus(n)

1 (N,p,q)GenModulus(1n)

2 Wähle zRQRN.

3 y ← A(1n,N,z)

4 SQRA,GenModulus(n) =

(1 fallsy2=zmodN

0 sonst .

Definition Quadratwurzelannahme

Das Berechnen von Quadratwurzeln ist hart bezüglich GenModulus, falls für alle pptAgiltWs[SRQA,GenModulus(n) =1]≤negl(n).

Quadratwurzelannahme: Berechnen von Quadratwurzeln ist hart.

(6)

Spiel Wurzelziehen

SQRA,GenModulus(n)

(N, p, q)GenModulus(1n) (1n, N, z) W¨ahlezRQRN

Ausgabe:

(1 fallsy2=z modN 0 sonst

A

Berechney y

(7)

Nicht-triviale Quadratwurzeln

Satz Faktorisieren mit Wurzeln

Sei N =pq ein RSA-Modul. Seien x,y ∈ZN mit x2=y2modN und x 6=±y modN. Dann können p,q in ZeitO(log2N)berechnet werden.

Beweis:

Mittels CRT erhalten wir x ≃(xp,xq)∈Zp×Zq. Es gilt y ≃(xp,−xq)oder y ≃(−xp,xq).

Wir betrachten den Fall y ≃(xp,−xq). Der zweite Fall ist analog.

Es gilt x +y ≃(2xp,0)bzw. xy ≃(0,2xq).

Damit folgtggT(N,x +y) =q bzw.ggT(N,xy) =p wegen 2xp ∈Zpund 2xq ∈Zq.

Die ggT-Berechnung benötigt LaufzeitO(log2N).

(8)

Quadratwurzeln implizieren Faktorisierung

Satz Quadratwurzeln implizieren Faktorisierung

Quadratwurzel- und Faktorisierungsannahme sind äquivalent.

Beweis:

Bereits gezeigt: Faktorisierung impliziert Quadratwurzeln.

SeiAAngreifer im Spiel SQRA,GenModulus(n)mit Erfolgswsǫ(n).

Konstruieren einen AngreiferA im Spiel FactorA,GenModulus(n).

AlgorithmusA EINGABE: N

1 Wähle x ∈ZN und berechne zx2modN.

2 y ← A(1n,N,z)

3 Falls x =±y modN oder x26=y2modN, Abbruch.

AUSGABE: p,q={ggT(N,x +y),ggT(N,xy)}

(9)

Faktorisieren mit Quadratwurzeln

Unter der Faktorisierungsannahme gilt negl(n) Ws[FactorA,GenModulus(n) =1]

= Ws[x 6=±y modNx2=y2modN]

= Ws[x 6=±y modN|x2=y2modN]·Ws[x2=y2modN]

= Ws[x 6=±y modN|x2=y2modN]·ǫ(n)

= 1

2·ǫ(n)

Die letzte Gleichung folgt, da x2exakt vier Wurzeln inZNbesitzt.

(10)

Einwegfunktion unter Quadratwurzelannahme

Definition Einwegfunktion QUADRAT

Definieren Einwegfunktionsfamilie QUADRAT= (Gen,Samp,f)als

1 Gen(1n) :(N,p,q)GenModulus(1n), Ausgabe I =N.

Definiert f :ZNQRN.

2 Samp(I) :Wähle xR ZNzufällig.

3 fI(x) : Berechne f(x) :=x2modN.

Anmerkungen:

QUADRATist Einwegfunktion unter der Quadratwurzelannahme.

D.h. QUADRATist Einwegfunktion unter Faktorisierungsannahme.

Ziel: Konstruktion einer Trapdoor-Einwegpermutation.

(11)

R

ABIN

Trapdoor-Einwegpermutation

Definition RABIN Trapdoor-Einwegpermutation

Trapdoor-Einwegpermutationsfamilie RABIN= (Gen,Samp,f)mit

1 Gen(1n) :(N,p,q)GenModulus(1n)mit Blumzahl N.

Ausgabe I=N, td = (p,q). Definiert f :QRNQRN.

2 Samp(I) :Wähle rRZN zufällig. Berechne xr2modN.

3 fI(x) : Berechne y =f(x) :=x2modN.

4 Invtd(y): Bestimme Hauptwurzel x ∈QRN von y =x2. Anmerkungen:

RABINist einweg unter der Faktorisierungsannahme. Wir wissen:

Trapdoor-Einwegpermutation + Hardcore-Prädikat

= CPA-sichere Verschlüsselung.

Benötigen ein Hardcore-Prädikat hc :QRN → {0,1}für f .

(12)

Berechnen des niederwertigsten Bits

Satz Hardcore-Prädikat lsb(x)

Sei f die RABINTrapdoor-Einwegpermutation und N eine Blumzahl.

Für xQRN bezeichne lsb(x)das niederwertigste Bit von x . Dann ist hc(x) :=lsb(x)ein Hardcore-Prädikat für f .

ohne Beweis (nicht-trivial)

Für alle pptAgilt damitWs[A(1n,N,x2) =lsb(x)]≤ 12+negl(n).

(13)

R

ABIN

Kryptosystem (1979)

Algorithmus RABIN Verschlüsselung

1 Gen:(N,p,q)GenModulus(1n), wobei N eine Blumzahl ist.

Ausgabe pk =N, sk = (p,q).

2 Enc: Für m∈ {0,1}wähle r ∈ZN, berechne xr2modN und c ←(x2modN,lsb(x)m).

3 Dec: Für c = (c1,c2)berechne Hauptwurzel x von c1und m:=lsb(x)⊕c2.

Satz CPA-Sicherheit von RABIN

RABINVerschlüsselung ist CPA-sicher unter der Faktorisierungsannahme.

Beweis:

Folgt aus dem Satz zur CPA-Sicherheit von VERSCHLÜSSELUNGΠ.

(14)

Diskussion RSA versus R

ABIN

Vergleich: RSA und RABIN

Quadrieren und Exponentieren mit e erscheinen ähnlich.

Aber: RABINist kein Spezialfall von RSA, da e=2∈/Zφ(N). RABIN-Einwegpermutation beruht auf Faktorisierungsannahme.

Die Faktorisierungsannahme ist möglicherweise schwächer als die RSA-Annahme. Offen: Invertieren von RSA⇒Faktorisierung?

RABINist nicht ineffizienter als RSA.

Historische Variante: Textbook RABINmit c :=m2modN.

Es existiert ein CCA-Angriff auf Textbook RABIN, der p,q liefert.

(Wie?)

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Eine wesentliche Schwachstelle von RSA liegt darin, dass ein Angreifer, wenn er den privaten Schlüssel einer Person in Besitz bringt, alle an diese Person gerichteten Nachrichten

Hier kann den Schlüssel dann jeder benutzen, um Nachrichten zu verschlüsseln, die aber nur der Empfänger (= derjenige, der den öf- fentlichen Schlüssel anbietet) wieder

Es ist das wichtigste Public-Key- Verfahren, dessen Sicherheit mit der Schwierigkeit zusammen hängt, große Zahlen in ihre Primfaktoren zu zerlegen.

Zur Erzeugung des Schlüssels werden zwei Primzahlen p und q benötigt, das Schlüsselpaar (p, q) bildet den privaten Schlüssel für das Rabin-Verfahren.. Durch Zusammensetzen der

Die Le- bensdauer einer Glühbirne (in Stunden) lasse sich durch eine exponentialverteilte Zufallsvariable mit λ = 5· 10 −4 angemessen beschreiben.. b) Bestimmen Sie

• eine Nachricht mit vielen Schl ¨usseln verschl ¨usselt wird.. • korrellierte Nachrichten mit einem Schl ¨ussel verschl

Liefert A zus¨atzliche Informationen, anhand derer (effizient) ¨uberpr¨uft werden kann, ob N f¨ur einen Primzahltest wirklich eine Primzahl, und f¨ur einen Zerlegbarkeitstest