Gr ¨oßter gemeinsamer Teiler
Seic=λ1a1+λ2a2die Ausgabe des euklidischen Algorithmus.
•F ¨urd|a1undd|a2 gilt wegenc=λ1a1+λ2a2auchd|c. Daher istc ein gr ¨oßter gemeinsamer Teiler vona1unda2, geschrieben c= gcd{a1,a2}.
•Andererseits giltgcd{a1,a2}=∏ipmin{vi pi(a1),vpi(a2)}, wenn die pidie in a1a2vorkommenden Primelemente bezeichnen.
•Es giltRgcd{a1,a2}=Ra1+Ra2.
Zwei Elementea,b∈Rheißen teilerfremd, wenngcd{a,b}= 1oder
¨aquivalenterweiseR=Ra+Rb.
3 27. Mai 2004
Kleinstes gemeinsames Vielfaches
Seic=a1a2/gcd{a1,a2}=∏ipmax{vi pi(a1),vpi(a2)}.
•Es gilta1|cunda2|cund f ¨ur jedesd∈Rmita1|dunda2|dfolgt c|d. Damit istcein kleinstes gemeinsames Vielfaches vona1und a2, geschriebenc=lcm{a1,a2}.
•Es giltRlcm{a1,a2}=Ra1∩Ra2.
•Sinda1unda2teilerfremd, so folgtRa1∩Ra2=Ra1a2.
4 27. Mai 2004
Euklidische Ringe
SeiRein Integrit ¨atsring. Man nenntReinen euklidischen Ring, wenn es eine Gradfunktiond:R\{0} →Z≥0mit der folgenden Eigenschaft gibt: Zua,b∈Rundb6= 0gibt ess,r∈Rmita=sb+rundr= 0oder d(r)<d(b)(Division mit Rest).
Notation wieders=adivbundr=amodb.
Thm: F ¨ur jedes IdealIvonRgibt es einb∈RmitI=Rb(das heißtI ist ein Hauptideal).
Sinda1,a2∈R, so gibt es daher einc∈RmitRc=Ra1+Ra2. Es gibt alsoλ1,λ2∈Rmitc=λ1a1+λ2a2 undc|a1,c|a2.
Die Elementeλik ¨onnen mit dem euklidischen Algorithmus ausgerechnet werden.
1 27. Mai 2004
Primelemente und Faktorisierung
Seic∈R\({0} ∪R×). Folgt ausc|(ab)bereitsc|aoderc|bf ¨ur alle a,b∈R, so heißtcPrimelement vonR. Folgt ausc=abbereitsa∈R× oderb∈R×, so heißtcirreduzibel.
Thm: SeiReuklidisch.
i) Die Menge der Primelemente ist gleich der Menge der irreduziblen Elemente.
ii) F ¨ur jedesa∈R\{0}gibt esu∈R×, Primelementepiundei∈Z≥1mit a=u
n
∏
i=1
peii.
Dieeiund pi(bis auf Elemente inR×) sind eindeutig bestimmt.
Wir erhalten Funktionenvpi:R\{0} →Zmitvpi(a) =ei.
2 27. Mai 2004
Chinesischer Restsatz
Allgemeinerλi=b−1i modaim ¨oglich.
Formel von Garner:a=a1a2 mita1,a2prim und teilerfremd. Sei c= ((c1−c2)(a−12 moda1) moda1)a2+c2. Dannc=c1moda1und c=c2moda2.
Formel von Garner kann induktiv auf beliebig vieleaiverallgemeinert werden.
Englische Abk ¨urzung: CRT (Chinese Remainder Theorem).
7 27. Mai 2004
Beispiele
Es giltZ/2Z×Z/3Z×Z/5Z∼=Z/30Z. Wegen1 =−3·5 + 2·5 + 2·3 entspricht das Element(1,2,3)dem Wert
1· −3·5 + 2·2·5 + 3·2·3 =−7 = 23 mod 30.
Check:23 = 1 mod 2,23 = 2 mod 3und23 = 3 mod 5.
Es giltk[x]/(x−1)k[x]×k[x]/(x+ 1)k[x]∼=k[x]/(x2−1)k[x].
Elemente der linken Seite werden durch Paare(c1,c2)∈k×k repr ¨asentiert.
Wegen1 = (x+ 1)/2−(x−1)/2entspricht das Element(c1,c2)dem Wertc=c1(x+ 1)/2−c2(x−1)/2 = (c1+c2+ (c1−c2)x)/2 modx2−1.
Check: F ¨urx= 1ergibt sichc(1) =c1und f ¨urx=−1ergibt sich c(−1) =c2.
Regel:g(x) mod (x−x0) =g(x0).
Beispiele
InZgiltZ×={−1,1}. Die Primelemente sind±2,±,3,±5, . . .. Ink[x]giltk[x]×=k×. Die Primelemente vom Grad eins sindu(x−x0) f ¨uru∈k×undx0∈k.
InZist±6ein ggT und±210ein kgV von42und30.
Ink[x]giltvx+1(x2−1) = 1undvx(x2−1) = 0.
Es gilt3Z+ 2Z=Zund2Z∩3Z= 2Z·3Z= 6Z.
5 27. Mai 2004
Chinesischer Restsatz
Seienai∈Rpaarweise teilerfremd,Ii=Rai,a=∏iaiundI=Ra.
Wir betrachten den Homomorphismus f :R→∏ni=1R/Ii, x7→(x+Ii)1≤i≤n.
Es giltker(f) =∩ni=1Ii=∏iIi=I, so daßg:R/I→∏ni=1R/Ii,g(x+I)7→ f(x) injektiv ist.
Thm: Der Monomorphismusgist ein Isomorphismus, R/I∼=
n
∏
i=1
R/Ii.
Bew: Es bleibt die Surjektivit ¨at zu zeigen. Setzebi=∏j6=iaj. Diebi haben keinen gemeinsamen Primteiler und daraus folgtR=∑iRbi. Es gibt alsoλi∈Rmit1 =∑iλibi. Sei(ci+Ii)i∈∏ni=1R/Iimitci∈R. Setze c=∑iciλibi. Wegenaj|bif ¨ur alle j6=iergibt sich1 =λibimodIiund c=cimodIi. Folglichg(c) = (ci+Ii)iundgist surjekiv.
Shamir’s Secret Sharing
Rekonstruktion des Geheimnisses:
≥t Teilnehmer k ¨onnen das Polynom f eindeutig aus ihren Werten (xi,yi)mit Lagrange Interpolation rekonstruieren, und damit den Wert y0= f(x0)berechnen.
Bei<t Teilnehmer ist das Polynom nicht eindeutig bestimmt, f(x0) kann theoretisch jeden beliebigen Wert auskannehmen.
11 27. Mai 2004
Langzahlarithmetik
M ¨ussen mit großen ganzen Zahlen rechnen.
Seien f,g∈Z≥1mitb= log(f)≥log(g). Aufwand in Bitoperationen:
• f+g, f−g:O(log(f) + log(g)) =O(b)
• f g:O(log(f) log(g)) =O(b2).
• f =sg+r:O(log(s) log(g)) =O(b2).
•gcd{f,g}:O(b2).
Analoges gilt f ¨ur f,g∈k[x]mitlogersetzt durchdegund Aufwand in Operationen ink.
Es gibt asymptotisch bessere Algorithmen. Die Multiplikation kann z.B. inO(b1.58)oder auchO(blog(b)2)ausgef ¨uhrt werden. Spielt in der Kryptographie keine so große Rolle, da die Zahlen nicht groß genug sind.
12 27. Mai 2004
Lagrange Interpolation
Ist chinesischer Restsatz f ¨ur lineare Polynome.
Seienxi∈kf ¨ur1≤i≤npaarweise verschieden, undyi∈k. Wollen f ∈k[x]mitdeg(f)<nund f(xi) =yifinden.
Ansatz:bi(x) =∏j6=i(x−xj)/(xi−xj). Dann gilt
1 =bi(xi) =bi(x) mod (x−xi)und0 =bi(xj) =bi(x) mod (x−xj).
Folglich1 =∑ni=1bi(x)zun ¨achst modulo∏i(x−xi)und dann exakt aus Gradgr ¨unden. Desweiteren ist f(x) =∑iyibi(x)ist das gesuchte Polynom.
9 27. Mai 2004
Shamir’s Secret Sharing
Aufgabe:
nTeilnehmer sollen sich ein Geheimnis teilen (z.B. soll ein Masterschl ¨ussel aufgeteilt werden).
Genau dann, wenn≥tTeilnehmer zusammenarbeiten, sollen sie das Geheimnis rekonstruieren k ¨onnen.
Aufteilen des Geheimnisses:
Seiy0∈kdas Geheimnis undx0∈k ¨offentlich bekannt.
1. W ¨ahle ein zuf ¨alliges Polynom f ∈k[x]vom Gradt−1mit f(x0) =y0. 2. W ¨ahle paarweise verschiedenex1, . . . ,xn∈kmitxi6=x0und
berechneyi= f(xi).
3. Gebe(xi,yi)f ¨ur1≤i≤nan deni-ten Teilnehmer.
10 27. Mai 2004
Euler Phi Funktion
SeiR∈ {Z,k[x]}f ¨urk=Fqundn∈R\{0}. Dannφ(n) = #(R/nR)×. Eigenschaften:
•φ(n) = 0genau dann, wennn∈R×.
•φ(ne) = #(R/nR)×·#(R/nR)e−1.
•Speziellφ(ne) = (n−1)ne−1f ¨ur primesn∈Zunde∈Z≥0.
•Speziellφ(ne) = (qd−1)qd(e−1)f ¨ur primesn∈k[x]mitdeg(n) =dund e∈Z≥0.
•φ(n1n2) =φ(n1)φ(n2)f ¨ur teilerfremde Nichteinheitenn1,n2∈R.
15 27. Mai 2004
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).
Langzahlarithmetik
M ¨ussen mit großen ganzen Zahlen modulonrechnen.
Seien f,g∈Z/nZmitb= log(n). Aufwand in Bitoperationen:
• f+g, f−g:O(b)
• f g, f/g:O(b2).
• fc:O(log(c)b2).
Analoges gilt f ¨ur f,g∈k[x]/hk[x]mitb= deg(h)und Aufwand in Operationen ink.
Es gibt Bibliotheken f ¨ur die Langzahlarithmetik inZundZ/nZbzw. f ¨ur k[x]undk[x]/hk[x](z.B. GMP, NTL, . . . ).
13 27. Mai 2004
Langzahlarithmetik mit CRT
Rechnen inZ/nZf ¨urn=pqmitp,qprim, teilerfremd und log(p)≈log(q):
•Z/nZ∼=Z/pZ×Z/qZ.
•Statt inZ/nZinZ/pZ×Z/qZrechnen.
•ZwischenZ/nZundZ/pZ×Z/qZmit mod und Garner hin- und herschalten.
Multiplikation inZ/pZbzw.Z/qZviermal so schnell wie inZ/nZ. Daher doppelt so schnell inZ/pZ×Z/qZwie inZ/nZ.
Exponentiationen f ¨ur zuf ¨alligen Exponenten noch besser,b= log2(n):
•InZ/nZ:≈3b/2b-Bit Multiplikationen.
•InZ/pZ:≈3b/4b/2-Bit Multiplikationen.
•InZ/pZ×Z/qZ:≈3b/2b/2-Bit Multiplikationen.
Daher3-4mal schneller.
Primzahlerzeugung
Thm (Primzahlsatz): Seiπ(x) = #{p|pPrimzahl,1≤p≤x}.
F ¨urx>17giltx/log(x)<π(x)<1.25506x/log(x).
F ¨urx→∞giltπ(x)/(x/log(x))→1.
Strategie:
•Zuf ¨allige ganze Zahlenxder gew ¨unschten Bitl ¨angeberzeugen.
•Testen, obxprim. Erfolgswahrscheinlichkeit1/(blog(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“).
19 27. Mai 2004
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.
•Gegeben poderqist 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.
20 27. Mai 2004
RSA Kryptosystem
Die RSA Funktion wird durch f :Z/nZ→Z/nZ,x7→xemodndefiniert.
Thm: Die zu f inverse Funktion ist durchg:Z/nZ→Z/nZ, y7→yd modngegeben.
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/p×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.
17 27. Mai 2004
RSA Parameter
Die Primzahlen p,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 algemeinen eine Bitl ¨ange ¨ahnlich wien.
Verschl ¨usseln ist daher viel schneller als entschl ¨usseln.
18 27. Mai 2004