RSA Parameter
Die Primzahlenp,qsollen eine ungef ¨ahr gleiche L ¨ange von mindestens512Bit haben, alsoneine Bitl ¨ange von1024.
Man erwartet, daßnmit2048Bit bis2022undnmit4096Bit bis2050 sicher sind. Einnmit6800Bit entspricht der Sicherheit von AES-128.
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 23. November 2006
Primzahlerzeugung
Thm (Primzahlsatz): Seiπ(x) = #{p|pPrimzahl,1≤p≤x}. F ¨urx>17giltx/log(x)<π(x)<1.25506 x/log(x).
F ¨urx→∞giltπ(x)/(x/log(x))→1.
Strategie:
•Zuf ¨allige ganze Zahlenxder gew ¨unschten Bitl ¨angeberzeugen.
•Testen, obxprim. Erfolgswahrscheinlichkeit1/(b log(2)).
Primzahltests:
•Miller-Rabin: Eine Antwort
”ist prim“ ist mit Wahrscheinlichkeit
≤(1/4)rfalsch, beirIterationen. Kann man unter2−128dr ¨ucken.
Eine Antwort
”ist nicht prim“ ist immer richtig.
•Einige andere probabilistische Tests ...
•Agrawal-Kayal-Saxena (2002): Deterministischer, polynomieller Primzahltest (
”primes in P“).
4 23. November 2006
RSA Kryptosystem
Wurde 1977 von Rivest, Shamir und Adleman erfunden.
•Genaue Beschreibung im PKCS#1.
•RSA US-Patent 2000 ausgelaufen (aber nicht f ¨ur spezielle Techniken -
”multiprime RSA“).
•De-facto Standard f ¨ur asymmetrische Kryptosysteme.
•1973 im geheimen vom CESG (UK) erfunden.
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).
1 23. 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.
Bew: Wir m ¨ussen zeigen:xed= xf ¨urx∈Z/nZ. Es gilted = 1 + m(p−1) f ¨ur einm∈Zundxp−1= 1f ¨urx∈(Z/pZ)×, daher auchxed= xxm(p−1)= x f ¨ur allex∈Z/pZ. Analog f ¨urq. Also giltxeq= xf ¨urx∈Z/pZ×Z/qZ und wegenZ/nZ∼=Z/pZ×Z/qZauch f ¨urx∈Z/nZ.
Verschl ¨usselung: Nachricht alsm∈Z/nZdarstellen, dann Chiffretext c = f (m)mit ¨offentlichem Schl ¨usseleberechnen.
Entschl ¨usselung:m = g(c)mit dem geheimen Schl ¨usseldberechnen.
2 23. November 2006
RSA Sicherheit
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.
5 23. November 2006