RSA Parameter
Die Primzahlenp,qsollen eine ungef ¨ahr gleiche L ¨ange von mindestens512Bit haben, alsoneine Bitl ¨ange von1024.
F ¨ur die Wahl von Schl ¨usselgr ¨oßen siehe zum Beispiel:
•A. Lenstra und E. Verheul: Selecting Cryptographic Key Sizes Ubliche M ¨oglichkeiten f ¨ur¨ esinde∈ {3,5,17,65537}.
Der Wert vondhat dann im allgemeinen eine Bitl ¨ange ¨ahnlich wien.
Verschl ¨usseln ist daher viel schneller als entschl ¨usseln.
3 28. November 2006
RSA ¨ Aquivalenz der Parameter
Thm: Aus einem Teil des geheimen Schl ¨ussels(p,q,φ(n),d)und dem
¨offentlichen Schl ¨ussel(n,e)kann man die anderen Teile des geheimen Schl ¨ussels effizient ausrechnen.
•Gegebenpoderqist das klar.
•Gegebenφ(n)haben wir zwei Gleichungenpq = n,
(p−1)(q−1) =φ(n). Man kann leicht nachpundqaufl ¨osen.
•Gegebendisted−1bei kleinemeein kleines Vielfaches vonφ(n).
Durch Ausprobieren kann manφ(n)herausbekommen.
•Auch bei beliebigemekann man ausddie Werte p,q,φ(n) berechnen (n ¨achste Folie).
Ein Algorithmus zum Berechnen vonφ(n)oderdist also polynomiell
¨aquivalent zu einem Algorithmus zum Faktorisieren vonn.
RSA Kryptosystem
Wurde 1977 von Rivest, Shamir und Adleman erfunden.
•Genaue Beschreibung im PKCS#1.
•De-facto Standard f ¨ur asymmetrische Kryptosysteme.
Schl ¨usselerzeugung:
Seienp,qzwei verschiedene, ungerade Primzahlen undn = pq.
Sei1<e<φ(n)teilerfremd zuφ(n) = (p−1)(q−1)und1<d<φ(n)mit ed = 1 modφ(n).
Der ¨offentliche Schl ¨ussel ist(n,e).
Der geheimen Schl ¨ussel ist(p,q,φ(n),d).
nheißt RSA Modul.
1 28. November 2006
RSA Kryptosystem
Die RSA Funktion wird durch f :Z/nZ→Z/nZ,x7→xemod ndefiniert.
Thm: Die zu f inverse Funktion ist durchg :Z/nZ→Z/nZ, y7→yd mod ngegeben.
Verschl ¨usselung: Nachricht alsm∈Z/nZdarstellen, dann Chiffretext c = f (m)mit ¨offentlichem Schl ¨ussel berechnen.
Entschl ¨usselung:m = g(c)mit dem geheimen Schl ¨ussel berechnen.
Zur Beschleunigung der Entschl ¨usselung kann man nach dem chinesischen Restsatz und mit der Formel von Garner statt inZ/nZ auch inZ/pZ×Z/qZrechnen. Dies ist3-4mal schneller.
RSA ¨ Aquivalenz der Parameter
Wichtige Folgerung:
•Wird aus irgendeinem Grundd ¨offentlich, gen ¨ugt es nicht, f ¨ur das altenein neues, geheimesdzu bestimmen.
•Es macht keinen Sinn, daß mehrere Benutzer sich das gleichen bei unterschiedlichen, geheimen Schl ¨usseln teilen.
7 28. November 2006
RSA Problem
Das RSA Problem ist, zu(n,e)undc∈Z/nZeinm∈Z/nZmitme= c zu berechnen (alsoe-te Wurzeln inZ/nZzu ziehen, oder die RSA Funktion zu invertieren).
Dies ist das eigentliche Problem, auf dem die Chosen-Plaintext Sicherheit von RSA beruht.
Wenn mannfaktorisieren kann, dann kann man das RSA Problem l ¨osen (klar,dwie in der Schl ¨usselerzeugung berechnen).
Es ist ein offenes Problem, ob das RSA Problem polynomiell
¨aquivalent zum Faktorisieren vonnist.
8 28. November 2006
RSA ¨ Aquivalenz der Parameter
Bei beliebigemeberechnen wir p,q,φ(n)ausdwie folgt:
Seis = v2(ed−1)undk = (ed−1)/2s. F ¨ura∈Zmitgcd{a,n}= 1gilt a + nZ∈(Z/nZ)× und(ak)2s= 1 mod n, daher hatakeine Ordnung mod p, welche2steilt. Gilt nun(ak)2i= 1 mod pund(ak)2i6= 1 mod q, so folgtp = gcd{(ak)2i−1,n}. Analoges gilt f ¨urq. Wir wollen die Anzahl solcherabestimmen.
Seiφ:Z/pZ×Z/qZ→Z/nZder CRT Isomorphismus. OBdA gelte v2(p−1)≤v2(q−1). Seieng,h∈ZErzeuger von(Z/pZ)×bzw.
(Z/qZ)×. Wennv2(p−1)<v2(q−1)so hat(gx,hy)kmit0≤x≤p−1, 0≤y≤q−1undy6= 0 mod 2an der ersten Koordinate Ordnung
≤2v2(p−1)und an der zweiten Koordinate Ordnung= 2v2(q−1). Dies liefert(p−1)(q−1)/2Wertea =φ((gx,hy))mit(ak)2v2(p−1)= 1 mod p, (ak)2v2(p−1)6= 1 mod q.
5 28. November 2006
RSA ¨ Aquivalenz der Parameter
Wennv2(p−1) = v2(q−1)so betrachten wir Paare(x,y), wo ein Wert gerade und einer ungerade ist. Es gibt2(p−1)(q−1)/4solche Paare.
Die Elementea =φ((gx,hy))erf ¨ullen(ak)2v2(p−1)= 1 mod pund (ak)2v2(p−1)6= 1 mod qoder umgekehrt.
Zusammenfassend gehen wir wie folgt vor:
•a mod nzuf ¨allig w ¨ahlen.s = v2(ed−1),k = (ed−1)/2s.
•Checkgcd{a,n} 6= 1.
•Checkgcd{(ak)2i−1,n} 6= 1f ¨ur0≤i≤s−1.
•Wenn ein ggT ungleich eins ist, haben wirpbzw.qgefunden.
Die Erfolgswahrscheinlichkeit ist≥1/2−ε, da es(p−1)(q−1) Elementeamitgcd{a,n}= 1gibt, und mindestens die H ¨alfte davon zum Erfolg f ¨uhrt.
6 28. November 2006
Faktorisieren ganzer Zahlen
Dies ist ein zentrales Gebiet in der algorithmischen Zahlentheorie.
Ln(u,v) = exp((v + o(1)) log(n)ulog(log(n))1−u) Namen und Laufzeiten einiger Methoden:
•Probedivision bisn1/2:O∼(n1/2).
•Pollard p−1Methode: Im allgemeinen ¨ahnliche Laufzeit wie Probedivision.
•PollardρMethode:O∼(n1/4).
•Elliptische Kurven Methode:Lp(1/2,c)mit pkleinster Primteiler vonnundckleine Konstante. Verallgemeinertp−1Methode.
•Klassengruppen Methode:Ln(1/2,1)(bewiesen, aber ineffizient).
•Quadratisches Sieb:Ln(1/2,1)(effizient).
•Zahlk ¨orpersieb:Ln(1/3,(64/9)1/3).
11 28. November 2006
Faktorisieren ganzer Zahlen
Die ersten drei Methoden haben also inlog(n)exponentielle Laufzeit, w ¨ahrend die anderen sogenannte subexponentielle Laufzeit haben.
Die elliptische Kurven Methode (ECM) ist besonders geeignet, wenn neinen relativ kleinen Primfaktor hat. Ansonsten ist das quadratische Sieb (QS) im allgemeinen schneller, und am schnellsten ist das Zahlk ¨orpersieb (GNFS), aber erst f ¨ur sehr große Zahlen.
Um grobe Gr ¨oßenangaben zu machen: Man verwendet ECM zum Beispiel bis40Dezimalstellen oder f ¨ur einen gewissen Bruchteil der erwarteten Laufzeit des QS, danach QS bis 100 Dezimalstellen, und dann das GNFS.
Faktorisierungsprojekte im Netz: NFSNET und ECMNET.
RSA Sicherheit
Die Sicherheit von RSA h ¨angt im wesentlichen von den folgenden Gesichtspunkten ab.
1. K ¨onnen schnellere Faktorisierungsalgorithmen entdeckt werden?
•Es ist unbekannt, ob die Faktorisierung ganzer Zahlen nicht doch ganz leicht bewerkstelligt werden kann.
2. K ¨onnen schnellere Computer gebaut werden?
•Mit Quantencomputern kann die Faktorisierung ganzer Zahlen in Polynomzeit bewerkstelligt werden.
3. Wird die RSA Funktion f ¨ur kryptographische Verfahren korrekt benutzt?
•Beispielsweise
”gleichesnf ¨ur mehrere Benutzer“ etc.
9 28. November 2006
Asymptotische Notationen
F ¨urx∈Rnundx0∈Rschreiben wirx≥x0, wenn dies koordinatenweise gilt.
SeiU⊆Rnundg : U→R>0. Wir definieren:
•O(g) ={f |(∃V⊆Rn: f : V →R)und
(∃x0,c∈R: ∀x∈Rnmitx≥x0: x∈U∩V und|f (x)| ≤cg(x))}.
•Omega(g)definiert wieO(g), aber mit|f (x)| ≥cg(x).
•Theta(g) = O(g)∩Omega(g).
•O∼(g) =∪i∈ZO(log(g)ig).
•o(g) ={f |(∃V⊆Rn: f : V→R)und
∀ε>0 :∃x0∈R:∀x∈Rnmitx≥x0: x∈U∩Vund|f (x)| ≤εg(x)}
RSA Sichere Verwendung
RSA wie bisher beschrieben wird h ¨aufig
”plain RSA“ oder
”textbook RSA“ genannt. Im Sinn strenger Sicherheitsmodelle (IND-CCA2) ist es vollkommen unsicher.
Im folgenden werden ein paar Fehler bei der Benutzung von
”plain RSA“ diskutiert. Wir beschr ¨anken uns auf solche Fehler, welche das L ¨osen des RSA Problems erm ¨oglichen.
Kritische Punkte sind:
•die Wahl der Parametern,e,d(kleinesd, kleinese, . . . ).
•m ¨ogliche Struktur in den Nachrichtenm.
•die Verwendung des Systems.
Außerdem: Partielle Information ¨uber Klartext aus Chiffretext erhaltbar, Homomorphieeigenschaft.
15 28. November 2006
RSA: Kleines d
Wenndsehr klein ist, kann es durch Ausprobieren erraten werden.
F ¨ur kleinesdgibt es den Angriff von Wiener:
Thm (Wiener): Giltq<p<2qundd<n1/4/3, so kanndausn,e(mit e<φ(n)) effizient berechnet werden.
Der Beweis verwendet Kettenbr ¨uche.
Im Satz gen ¨ugtd<n0.292(Boneh und Durfee).
Man vermutet, daßd<n1/2bereits ausreicht.
16 28. November 2006
RSA Faktorisierungsherausforderung
Ist ein Wettbewerb, wer ganze Zahlen am schnellsten faktorisieren kann.
Die Zahl RSA-1024 ist
13506641086599522334960321627880596993888147560566 70275244851438515265106048595338339402871505719094 41798207282164471551373680419703964191743046496589 27425623934102086438320211037295872576235850964311 05640735015081875106765946292055636855294752135008 52879416377328533906109750544334999811150056977236 890927563
F ¨ur die Faktorisierung von RSA-1024 sind$100.000ausgelobt.
13 28. November 2006
RSA Faktorisierungsherausforderung
Bisherige Rekorde.
Zahl Stellen Preis faktorisiert RSA-576 174 $10.000 12-2003 RSA-640 193 $20.000 11-2005
RSA-200 200 5-2005
RSA-200 wurde von Wissenschaftlern an der Uni Bonn, CWI Amsterdam und BSI faktorisiert.
Gittersiebschritt 12-2003 - 10-2004: Entsprechend 55 Jahre auf einem 2.2GHz Opteron.
Matrixschritt 12-2004 - 5-2005: 3 Monate auf 80 2.2GHz Opteron Cluster mit Gigabit Netzwerk.
14 28. November 2006
RSA: Kleines e
Hastad Broadcast Angriff.
Vereinfachte Version: Annahme, daß Nachrichtmmit Exponente bez ¨uglichk≥evielen RSA moduliniverschl ¨usselt ist.
•Alsoci= memod nif ¨ur1≤i≤k.
•Sein =∏ini. OBdAgcd{ni,nj}= 1.
•Chinesischer Restsatz liefert0≤c<nmitc = cimod ni.
•Es giltc = memod n.
•Wegenm<niunde≤kfolgtme<nundc = meinZ, alsom = c1/e. Allgemeine Version:
Thm (Coppersmith): Sei f ∈Z[t]normiert unds = deg( f ). Dann k ¨onnen die L ¨osungen f (x) = 0 mod nmitx∈Zund|x|<n1/seffizient berechnet werden.
Der Beweis verwendet Gitter und LLL Reduktion.
17 28. November 2006
RSA: Kleines e
Thm (Hastad): Seienniteilerfremd undgi∈Z[x]normiert mit s = maxideg(gi), f ¨ur1≤i≤k. Es gebe ein eindeutigesm<mininimit gi(m) = 0 mod ni. Istk>s, so kannmeffizient aus denniundgi
berechnet werden.
Bew: Sein =∏iniundg =∑iλixs−deg(gi)gi, wobeiλi=δi,jmod nj, und
∑iλi= 1(chinesischer Restsatz). Dann istgnormiert,deg(g) = sund g(m) = 0 mod n. Wegenm<minini<n1/k<n1/skannmmit dem Satz von Coppersmith effizient bestimmt werden.
Anwenden mitgi(m) = fi(m)ei−cimod ni.
•Speziellei= eund lineare fi(z.B. festes Padding, fi(m) = m + bi).
•Im allgemeinen kann auf die Bedingungginormiert verzichtet werden.
Gegen Broadcast Angriff hilft randomisiertes Padding vonm.