RSA: Kleines e
Partial Key Exposure Angriff.
Thm (Coppersmith): Seibdie Bitl ¨ange vonn. Mit Hilfe der⌈b/4⌉
unteren oder oberen Bits vonpkannneffizient faktorisiert werden.
Thm (Boneh, Durfee, Fraenkel): Es geltee<n1/2. Mit Hilfe der⌈b/4⌉
unteren Bits vondkann ganzdin Zeit linear ine log2(e)berechnet werden.
Bew: Es gibtkmited−k(n−p−q + 1) = 1. Ausd<φ(n)folgt0<k≤e.
Mitq = n/pfolgt(ed)p−k p(n−p + 1) + kn = p mod 2b/4. Der Wert ed mod 2b/4ist bekannt. Daher Gleichung inkund p. F ¨ur jedesknach p mod 2b/4l ¨osen und mit Thm Coppersmith testen. Man kann zeigen:
Es gibt h ¨ochstense log2(e)viele L ¨osungen p.
3 30. November 2006
RSA: Kleines e
Die H ¨alfte der oberen Bits vondist im wesentlichen ¨offentlich bekannt:
•Wiedered−k(n−p−q + 1) = 1mit0<k≤e.
•Seid′=⌊(kn + 1)/e⌋.
• |d−d′| ≤k(p + q)/e≤O(kn1/2/e).
•Damit istd′eine gute Approximation and.
Nicht jede Nachricht wird gut verschl ¨usselt:
•Kleinesm, so daßme<n.
•Dann keine Reduktion mod nundmdurche-te Wurzel inZ bestimmt.
4 30. November 2006
RSA: Kleines e
Franklin-Reiter Related Message Angriff.
•Annahme:m2= f (m1)f ¨ur ein f ∈(Z/nZ)[x].
•Seici= mei mod n. Dann istm1Nullstelle vong(x) = f (x)e−c2 und h(x) = xe−c1modulon.
•In vielen F ¨allen ists(x) = gcd{g(x),h(x)}linear, so daß Absolutkoeffizientm1 ergibt.
•Laufzeit quadratisch ine deg( f ).
Iste = 3und f (x) = ax + b∈Z/nZ[x]mita,b6= 0 mod n, so k ¨onnen wir entwedernfaktorisieren oder es giltdeg(s(x)) = 1.
( Wenn der eukl. Algo. fehlschl ¨agt, k ¨onnen wirnfaktorisieren.
Ansonsten erhalten wir ein normiertess∈(Z/nZ)[x]mits|g,s|hund deg(s)≤2. Modulopgilts = x−m1, dagnur eine Nullstelle mod phat.
Analog f ¨urhundq. Dasnormiert ist, folgt auch die Gleichheit modn. )
1 30. November 2006
RSA: Kleines e
Coppersmith Short Pad Angriff.
Thm: Seir =⌊log2(n)/e2⌋undmeine Nachricht mit≤log2(n)−rBits.
Seimi= 2rm + rif ¨uri∈ {1,2}, wobei0≤ri<2r. Aus denci= mei mod n l ¨aßt sichmeffizient berechnen.
Bew: Seig1(x,y) = xe−c1undg2(x,y) = (x + y)e−c2. F ¨ury = r2−r1haben g1undg2die gemeinsame Nullstellem1. Also istr2−r1 Nullstelle der Resultanteh(y) =resx(g1,g2)∈Z/nZ[y]. Es giltdeg(h)≤e2. Außerdem
|r2−r1|<2r<n1/e2. Daher istr2−r1 eine kleine Nullstelle und kann mit dem Satz von Coppersmith ausgerechnet werden. Danach Franklin-Reiter mit f (x) = x + r2−r1anwenden.
Angriff m ¨oglich f ¨ure = 3(Padl ¨ange<1/9der Nachrichtenl ¨ange), nicht aber f ¨ure = 216+ 1bei den gegenw ¨artigen Gr ¨oßen vonn.
2 30. November 2006
RSA Partielle Information
Seic = memod n. Daeungerade ist, giltc n
= m
n e
= m
n
. Man kann also aus dem Chiffretext ein Bit Information ¨uber den Klartext erhalten.
Setze f (c) = 0f ¨ur0≤m<n/2und f (c) = 1f ¨urn/2<c≤n−1.
K ¨onnen wir f (c)effizient berechnen, so auchm:
•Berechnehi= f (c(2e)i)f ¨ur0≤i≤log2(n). Es gilthi= f ((m2i)e).
•Weiterhi= 0⇔m2imod n∈[0,n/2)⇔m2i−jn∈[0,n/2)mit 0≤ j≤2i−1⇔m∈ ∪2j=0i−1[n j/2i,n( j + 1/2)/2i).
•#[n j/2i,n( j + 1/2)/2i)∩Z= 1f ¨uri =⌊log2(n)⌋.
•hi= 0linkes Intervall,hi= 1rechtes Intervall. Danni←i + 1, rekursiv wiederholen mit halber Intervallbreite. Ist bin ¨are Suche, liefertm.
7 30. November 2006
RSA Partielle Information
Setzeg(c) = m mod 2(Parit ¨at vonm).
•Es gilt f (c) = g(c2emod n), denn(2m mod n) mod 2 = 2m mod 2 = 0 f ¨urm<n/2, und(2m mod n) mod 2 = (2m−n) mod 2 = 1, dan ungerade.
•Es giltg(c) = f (c2−emod n), nach der ersten Gleichung und da2 moduloninvertierbar ist.
Die Berechnungen von f undgsind daher polynomiell ¨aquivalent.
Folgerung: Unter der Annahme, daß das RSA Problem schwer ist, ist also auch die Berechnung von f undgschwer.
Man kann zeigen, daß jedes individuelle Bit sicher ist.
( Es k ¨onnte aber noch sein, daß es einen effizienten Algorithmus gibt, der f undgnur mit Wahrscheinlichkeit3/4korrekt berechnet ... )
8 30. November 2006
Jacobi Symbol
Seipungerade Primzahl unda,n∈Zmitn≥1ungerade. Dann a
p
=
0 wenna = 0 mod p.
1 wenn a ein Quadrat in(Z/pZ)×ist.
−1 sonst.
a n
=∏pprim
a p
vp(n)
.Damit multiplikativ inaundn.
a n
=a +λn n
f ¨ur alleλ∈Z.
F ¨urgcd{a,n}>1ista n
= 0.
5 30. November 2006
Quadratisches Reziprozit ¨atsgesetz
Thm: Seienb,n∈Zmitb,n≥0beide ungerade.
b n
= (−1)(b−1)(n−1)/4n b
,2 n
= (−1)(n2−1)/8,−1 n
= (−1)(n−1)/2.
Der Satz erlaubt es, Jacobisymbole effizient zu berechnen:
1. Ersetzebdurchb mod n. Wennb = 0, dann Ergebnis0.
2.b = 2v2(b)b′. Benutze Multiplikativit ¨at und zweite Formel.
3. Vertauscheb′undnentsprechend der ersten Formel.
4. Wiederhole ab 1.
6 30. November 2006
RSA Zusammenfassung
Man sollte die Parameter nicht so w ¨ahlen, daßdeine besondere Gestalt bekommt (also Parameter zuf ¨allig w ¨ahlen).
Bei kleinemegibt es verschiedene Probleme, wenn:
•eine Nachricht mit vielen Schl ¨usseln verschl ¨usselt wird.
•korrellierte Nachrichten mit einem Schl ¨ussel verschl ¨usselt werden.
•spezielle Nachrichten verschl ¨usselt werden.
Mit den unterenb/4Bits derbBits vondkannnfaktorisiert werden.
Die oberenb/2Bits vondsind unwichtig.
Plain RSA Verschl ¨usselung gibt Information ¨uber die Nachrichten preis (Jacobi Symbol). Die Parit ¨at und das Intervall der Nachricht ([0,n/2),(n/2,n)) sind jedoch gesch ¨utzt.
11 30. November 2006
Rabin Kryptosystem
Ist wie RSA aber mite = 2.
•Problem:gcd{e,φ(n)} 6= 1, daher gibt esdnicht!
•Wie also Quadratwurzel inZ/pZ×Z/qZziehen?
•Reduktion auf Quadratwurzeln in endlichen K ¨orpern ziehen ...
Jacobisymbol gibt an, ob ein Element ein Quadrat inZ/pZist, hilft aber nicht bei der Berechnung.
•Allgemeine L ¨osung ist,x2−cinZ/pZ[x]zu faktorisieren.
•Spezielle L ¨osung: p = 3 mod 4. Sinda,b∈Z/pZmita = b2, so folgt (a(p+1)/4)2= a(p−1)/2a = bp−1a = a, alsoa(p+1)/4=±b.
Problem: In jeder Koordinate gibt es zwei Quadratwurzeln, also insgesamt vier! Welche ist der Klartext?
•Redundanz oder Regel hinzuf ¨ugen, so daß immer nur eine M ¨oglichkeit in Frage kommt (z.B. sollen selbst Quadrate sein).
12 30. November 2006
RSA Homomorphieeigenschaft
Sindc1,c2die Chiffretexte zu den Nachrichtenm1,m2, so istc1c2der Chiffretext zum1m2. Man kann also den Chiffretext vonm1m2 ausrechnen, ohnem1m2zu kennen.
Diese homomorphe Eigenschaft birgt Vor- und Nachteile in sich.
•Betrugsm ¨oglichkeit (Abhilfe: Klartextraum einschr ¨anken, so daß m1m2ung ¨ultig ist).
•Hilfreich bei anonymem digitalen Geld.
•Benutzt bei manchen der vorstehenden Angriffe, und beim folgenden Angriff.
9 30. November 2006
RSA Meet-in-the-middle Angriff
Es geltem = m1m2inZmitm1≤2b1undm2≤2b2. Der Chiffretext sei c = memod n. Es folgtc/me1= me2mod n.
Dies liefert folgende Strategie:
•Liste von den Wertenme2f ¨ur allem2≤2b2machen.
•Die Wertec/me1 f ¨ur allem1≤2b1berechnen und nach Kollision mit me2suchen.
•Wenn Kollision, dann gilt f ¨urm = m1m2, daßme= c mod nist.
•Also istmder Klartext.
Aufwand≈2b1+ 2b2. Wahrscheinlichkeit, daß64Bitzahl in zwei gleichgroße Faktoren zerf ¨allt≈18%(Session keys).
Angriff nur f ¨ur kleinem, aber beliebigeerelevant.
10 30. November 2006
Goldwasser-Micali Kryptosystem
Schl ¨usselerzeugung:
•n = pq,y∈Z/nZkein Quadrat, aber mity n
= 1.
•Offentlicher Schl ¨ussel¨ (n,y).
•Privater Schl ¨ussel:(p,q).
Verschl ¨usseln:
•m = m1. . .mtmitmi∈ {0,1}.
•xi∈(Z/nZ)×zuf ¨allig,ci= yx2i mod nf ¨urmi= 1, sonstci= x2i mod n.
•Chiffretext istc = c1. . .ct. Entschl ¨usseln:
•ei= ci
p
,mi= 1f ¨urei= 0, sonstmi= 0.
•Nachricht istm = m1. . .mt.
15 30. November 2006
Goldwasser-Micali Sicherheit
Quadratisches Restproblem: Quadratische Reste von quadratischen Nichtresten mit Jacobisymbol eins unterscheiden.
Wenn man faktorisieren kann, dann kann man das quadratische Restproblem l ¨osen. Die Umkehrung wird vermutet.
Die Sicherheit des Goldwasser-Micali Kryptosystems h ¨angt vom quadratischen Restproblem ab.
Ist probabilistisch.
Keine praktische Bedeutung, da ineffizient.
16 30. November 2006
Rabin Sicherheit
Thm: Wenn man Quadratwurzeln ziehen kann, dann kann mann faktorisieren.
Bew: W ¨ahlex∈Z/nZzuf ¨allig, und lasse Quadratwurzelx′vonx2 ausrechnen. Dann istgcd{n,x′−x}gleichpoderqmit
Wahrscheinlichkeit1/2. Denn inZ/pZ×Z/qZgiltx = (a,b)und x′= (±a,±b). Wennx′−xin genau einer Koordinate Null ist, ist der ggT gleich poderq.
Liefert gutes CPA Sicherheitsergebnis, aber unsicher unter CCA Angriff (bei RSA weder das eine, noch das andere).
Weitere Sicherheitsaspekte ¨ahnlich wie bei RSA.
13 30. November 2006
Blum-Goldwasser Kryptosystem
Ist ¨ahnlich wie ein Streamcipher.
•Parameter:n = pqmitp = q = 3 mod 4.h>0klein.
•Key streamxi= x2i−1 mod n,x0zuf ¨alliges Quadrat inZ/nZ.
•Chiffretexteci= mi⊕(ximod 2h)f ¨ur0≤i≤t, zusammen mitxt+1.
•Entschl ¨usseln ¨uberxi= x(p+1)/4i+1 mod p,xi= x(q+1)/4i+1 mod qund CRT.
Entschl ¨usseln klappt, da es genau eine Quadratwurzel vonxi+1gibt, die selbst ein Quadrat ist. Ausxi+1= x4i−1folgt
x(p+1)/4i+1 = xi−1p+1= x2i−1= ximod p, und f ¨urqanalog.
Ist probabilistisch. IND-CPA sicher, wenn Faktorisieren schwer ist.
Jedoch nicht sicher unter CCA. Kaum praktische Relevanz.
14 30. November 2006