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.
Regel: F ¨ur Polynome ink[x]giltg(x) mod (x−x0) = g(x0).
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 mod x2−1.
Check: F ¨urx = 1ergibt sichc(1) = c1und f ¨urx =−1ergibt sich c(−1) = c2.
3 23. November 2006
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.
Methode:bi(x) =∏j6=i(x−xj)undλi=∏j6=i(xi−xj)−1. Dann gilt 1 =λibi(xi) =λibi(x) mod (x−xi)und0 =λjbj(xi) =λjbj(x) mod (x−xi).
Folglich1 =∑nj=1λjbj(x)beziehungsweise1−∑nj=1λjbj(x) = 0zun ¨achst modulo jedemx−xi, wegen der Teilerfremdheit derx−xidann auch modulo∏i(x−xi), und dann exakt ink[x]aus Gradgr ¨unden. Es gilt n ¨amlichdeg(∑nj=1λjbj(x))<deg(∏i(x−xi)), und
1−∑nj=1λjbj(x) = 0 mod∏i(x−xi)impliziert1−∑nj=1λjbj(x) = 0. Wie im Beweis des chinesischen Restsatz ist schließlich f (x) =∑iyiλibi(x)das gesuchte Polynom.
4 23. November 2006
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, liefert R/I∼=
∏
n i=1R/Ii.
Bew: Es bleibt die Surjektivit ¨at zu zeigen. Setzebi=∏j6=iaj. Diebi
haben keinen gemeinsamen Primteiler und daraus folgtR =∑iRbi. Es gibt alsoλj∈Rmit1 =∑jλjbj. Sei(ci+ Ii)i∈∏ni=1R/Iimitci∈R. Setze c =∑jcjλjbj. Wegenai|bjf ¨ur alle j6= igilt1 =∑jλjbj=λibimod Iiund c = cimod Ii. Folglichg(c) = (ci+ Ii)iundgist surjekiv.
1 23. November 2006
Chinesischer Restsatz
Im Beweis giltλi= b−1i mod ai.
Formel von Garner:a = a1a2mita1,a2prim und teilerfremd. Sei c = ((c1−c2)(a−12 mod a1) mod a1)a2+ c2. Dannc = c1mod a1und c = c2 mod a2.
Formel von Garner kann induktiv auf beliebig vieleaiverallgemeinert werden.
Englische Abk ¨urzung: CRT (Chinese Remainder Theorem).
2 23. November 2006
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).
• fc:O(log(c)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.
7 23. November 2006
Langzahlarithmetik
Es gibt asymptotisch bessere Algorithmen. Die Multiplikation kann z.B. inO(b1.58)oder auchO(b log(b)2)ausgef ¨uhrt werden. Spielt in der Kryptographie keine so große Rolle, da die Zahlen nicht groß genug sind.
Es gibt Bibliotheken f ¨ur die Langzahlarithmetik inZundZ/nZbzw. f ¨ur k[x]undk[x]/hk[x](z.B. GMP, NTL, Kash, . . . ).
8 23. November 2006
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.
5 23. November 2006
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.
6 23. November 2006
Langzahlarithmetik mit CRT
Rechnen inZ/nZf ¨urn = pqmitp,qPrimzahlen, 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/2 b-Bit Multiplikationen.
•InZ/pZ:≈3b/4 b/2-Bit Multiplikationen.
•InZ/pZ×Z/qZ:≈3b/2 b/2-Bit Multiplikationen.
Daher3b/2·b2mit3b/2·b2/4vergleichen, also3-4mal schneller.
9 23. November 2006
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 ¨urn∈ZPrimzahl unde∈Z≥0.
•Speziellφ(ne) = (qd−1)qd(e−1)f ¨urn∈k[x]Primpolynom mit deg(n) = d unde∈Z≥0.
•φ(n1n2) =φ(n1)φ(n2)f ¨ur teilerfremde Nichteinheitenn1,n2∈R.
10 23. November 2006