Primzahlen Herbert Koch Mathematisches Institut Universität Bonn 12.08.2010 1 Die Primfaktorzerlegung Wir kennen die natürlichen Zahlen N = 1, 2, . . ., die ganzen Zahlen Z, die rationalen Zahlen (Brüche p/q ) Q und die reellen Zahlen R. Rechenvorschriften sind Addition, Subtraktion (auÿer N), Multiplikation und Division (auÿer N, Z). Eine ganze Zahl p 6= ±1 heiÿt Primzahl, wenn ±1 und ±p die einzigen Teiler sind. Primzahlen können wir mit dem Sieb des Eratosthenos suchen. Jede ganze Zahl hat eine Darstellung als Produkt von Primzahlen. Wir sagen: Jede ganze Zahl ist faktorisierbar. Satz 1. Wir verwenden eine wichtige Eigenschaft der natürlichen Zahlen: Jede nichtleere Menge natürlicher Zahlen hat ein kleinstes Element. Sei a 6= 1 eine natürliche Zahl. Ist a eine Primzahl, so ist nichts zu zeigen. Sonst gibt es einen Teiler, und eine Produktdarstellung Beweis: a = st mit s, t 6= ±1. Jetzt kommt der Trick: Sei M die Menge aller natürlichen Zahl, die sich nicht faktorisieren läÿt. Ist M nicht leer, so gibt es ein kleinstes Element a. Dieses ist keine Primzahl (diese wäre faktorisierbar) und daher ein Produkt a = st wie oben. Dann sind s < a und t < a, also nicht in M , damit faktorisierbar. Damit ist auch das Produkt a = st faktorisierbar, und wir erhalten einen Widerspruch zu der Annahme, daÿ M nichtleer sei. Ist die Faktorisierung eindeutig, bis auf die Reihenfolge der Faktoren und die Vorzeichen? Die Antwort ist ja, aber das ist nicht ganz oensichtlich. Ich möchte die Selbstverständlichkeit etwas erschüttern. √ Wir betrachten Zahlen der Art n + m 6, wobei n und m ganze Zahlen sind. Diese Zahlen können wir addieren und multiplizieren. √ √ 2 = ( 6 + 2)( 6 − 2), 3 = (3 + 1 √ 6)(3 − √ 6) also sind 2 und 3 zerlegbar und in diesen Zahlen keine Primzahlen. Wir bekommen zwei Zerlegungen √ √ √ √ √ √ 6 = 2 ∗ 3 = ( 6 + 2)( 6 − 2)(3 + 6)(3 − 6) = (12 + 5 6)(−12 + 5 6). Die Frage ist nun: Welche Faktoren sind selbst zerlegbar? Wir nennen eine Zahl Einheit, wenn wir durch sie dividieren können, und zerlegbar, wenn sie in ein Produkt ohne Einheiten zerlegt werden kann. Eindeutigkeit der Zerlegung kann man nur bis auf Multiplikation mit Einheiten erwarten. √ Wir betrachten nun 'Zahlen' der Art n + m −6√, mit denen wir genauso rechnen können. Wir nennen diesen Zahlenbereich Z[ −6]. Nun gilt √ √ 6 = 2 ∗ 3 = − −6 −6. Sind die Faktoren zerlegbar? Falls nicht haben wir ein Beispiel für Mehrdeutigkeit. Wir betrachten eine Norm auf diesen Zahlen: √ √ √ N (n + m −6) = (n + m −6)(n − m 6) = n2 + 6m2 Dieses ist immer eine natürliche Zahl und N (ab) = N (a)N (b). Zum Beispiel ist √ N (2) = 4, N (3) = 9, N (6) = 36, N ( −6) = 6 Aus ab = 2 folgt N (a)N (b) = 4 und N (a) ist 1, 2 oder 4. n2 + 6m2 = 1 genau dann wenn n = ±1, m = 0 n2 + 6m2 = 2, 3 gilt nie n2 + 6m2 = 4 genau dann wenn n = ±2, m = 0 n2 + 6m2 = 6 genau dann wenn n = 0, m = ±1 n2 + 6m2 = 9 genau dann wenn n = ±3, m = 0 Also ist kein Faktor zerlegbar, und in diesem Zahlenbereich ist die Zerlegung in unzerlegbare Faktoren nicht eindeutig. Was ist bei den natürlichen Zahlen anders? Wir haben die obige Aussage: Jede nichtleere Teilmenge natürlicher Zahlen hat ein kleinstes Element. Sei n eine natürliche Zahl, und M die Menge aller durch n teilbaren Zahlen. Diese Menge hat ein kleinstes Element n, und wir sehen leicht: n = m. Sind n und m natürliche Zahlen, so enthält die Menge M aller Zahlen, die sowohl von n wie auch von m geteilt werden, ein kleinstes Element v . Dieses heiÿt kleinstes gemeinsames Vielfaches kgV (n, m). Behauptung: Es gibt eine Zahl a mit KgV (n, m)d = nm und a teilt n und m. Das kleinste gemeinsame Vielfache von n und m teilt das Produkt nm: Sicher gilt nm ∈ M . Die Dierenz von zwei Zahlen in M wird sowohl von n wie auch von m geteilt, ist also wieder in M . Wir dividieren nm durch v mit Rest r, nm = dv + r 2 0 ≤ r < v . Dann ist aber r ∈ M , oder r = 0. Nun ist v das kleinste Element, und daher r = 0. Wir können also schreiben: nm = dv Nun ist d ein gemeinsamer Teiler von n und m, da d(v/n) = m - hier ist v/n eine ganze Zahl, also teilt d n und genauso m. Ist p eine Primzahl, die das Produkt nm zweier natürlicher Zahlen teilt, so teilt p einen der Faktoren. Das Produkt nm ist ein gemeinsames Vielfaches von p und n. Sei v = kgV (n, p). Dann ist d = np/v wie oben eine ganze Zahl, die n = d(v/p) und p = d(v/n) teilt. Da p eine Primzahl ist, gilt d = 1 oder d = p. Ist d = p, so teilt p die Zahl n. Ist d = 1 so folgt Behauptung: 1 = np/v, also v = np. Da nm ein gemeinsames Vielfaches von p und n ist, teilt v = kgV (p, n) = np nm und es folgt nm = knp für ein k = nm/kgv(p, n). Die Primfaktorzerlegung einer natürlichen Zahl ist bis auf die Reihenfolge eindeutig. Beweis: Falls nicht existiert eine kleinste Zahl n, für die die Zerlegung nicht eindeutig ist. n ist keine Primzahl. Sei p eine Primzahl, die n teilt, und n = ab eine Faktorisierung. Dann teilt p a oder b, und p ist in jeder Primfaktorzerlegung enthalten. Da n/p eine eindeutige Primfaktorzerlegung besitzt erhalten wir einen Widerspruch. Wir nennen einen Zahlenbereich mit Addition, Subtraktion und Multiplikation Ring, wenn die Kommutativgesetze, die Assoziativgesetze und das Distributivgesetz gilt, und Körper, wenn wir √ durch jede Zahl ungleich Null dividieren können. Beispiele für Ringe sind Z, Z[ −6], Q und R, wobei Q und R Körper sind. Wir schreiben a|b, falls a ein Teiler von b ist. Behauptung: 2 g -adische Darstellungen Hier sei g eine natürliche Zahl > 1. Ist auch a eine natürliche Zahl, so existiert ein kleinstes j mit g j+1 > a, also ist j die gröÿte natürliche Zahl mit g j ≤ a. Wir dividieren mit Rest: a = c−j g j + r−j und iterativ rl+1 = c−l g l + r−l Dann nennen wir (c−j c1−j . . . c0 )g die g -adische Darstellung von a. Wie in der Dezimaldarstellung können wir reelle Zahlen als g -adische Dezimalbrüche schreiben: Wir nehmen eine positive Zahl a, ziehen den ganzzahligen Anteil ab und erhalten eine Zahl r0 zwischen 0 und 1. Den ganzzahligen Anteil stellen wir wie oben dar. Die Nachkommastellen bestimmen wir iterativ r0 g = c1 + r1 3 wobei c1 eine ganze Zahl 0 ≤ c1 < g ist. Es gibt endliche g -adische Brüche, rein-periodische, gemischt-periodische, und nicht periodische. 2.1 g -adische Darstellungen und Restklassen Die letzte Zier von Summen und Produkten hängt nur von der letzten Zier der Summanden bzw. Faktoren ab. Satz 2. Wir können also auf der Menge {0, 1, . . . g − 1} eine Summe und ein Produkt denieren, indem wir alle anderen Ziern unterschlagen. Diese Struktur nennt man Restklassenring Z/gZ. Wir schreiben die Elemente z.B. als 2 5 g Zur Addition von ag + b nehmen wir Zahlen mit den Endziern a bzw b, d.h. solche, die Rest a bzw. b bei der Division durch g haben. Das Ergebnis ist der Rest von a + b bei der Division durch g bzw. die letzte Stelle in der g -adischen Darstellung. Frage: Wann existiert ein multiplikatives Inverses? Wann ist Z/gZ ein Körper? 2.2 Der Euklidsche Algorithmus Wir schreiben den Bruch p/q in der Form p = a0 + r q wobei a0 die gröÿte ganze Zahl ≤ p/q ist. Die ganze Zahl a0 wird durch Division mit Rest ermittelt: p = a0 q + d0 wobei d0 = rq eine ganze Zahl zwischen 0 und q − 1 ist. Oenbar ist d0 kleiner als p und q . Sind p und q durch eine Zahl teilbar, so teilt diese auch d0 . Wir fahren nun iterativ fort: p1 = a1 d0 + d1 bis zu pn = an dn−1 . Wir erhalten die Zahlen a0 , a1 , . . . , an sowie d1 , . . . dn = 0, r1 , . . . , rn = 0. Dieses Verfahren wird Euklidscher Algorithmus genannt. Beobachtungen: 1. Jeder Teiler von p und q teilt dn−1 . Umgekehrt teilt dn−1 jedes dj und damit auch p und q . Damit ist dn−1 der gröÿte gemeinsame Teiler. 2. Da wir den ggT von p und q mit dem Euklidschen Algorithmus bestimmen können, erhalten wir ein Verfahren zum Kürzen von p/q . 4 3. Wir schreiben p/q = [a0 , a1 , . . . , ] und nennen Kj = [a0 , . . . , aj ] den j -ten Konvergenten. Es gilt [a0 ] = a0 und a0 + 1/a1 = [a0 , a1 ] und, da wir in dieser Formel die rationale Zahl [a1 , a2 , ȧj ] einsetzen können, erhalten wir rekursiv 1 [a0 , a1 , . . . , an ] = a0 + 1/[a1 , . . . , an ] = a0 + 1 a1 + a2 + . 1 a3 + . . . Jeder Konvergent ist eine rationale Zahl. Wir schreiben den j -ten Konvergenten Kj als Pj /Qj als gekürzten Bruch. Sei P−2 = 0, Q−2 = 1, P−1 = 1, Q−1 = 0 und Pk = ak Pk−1 + Pk−2 , Qk = ak Qk−1 + Qk−2 2.3 Beispiel Betrachte 99 =1 ∗ 70 + 29 70 =2 ∗ 29 + 12 29 =2 ∗ 12 + 5 12 =2 ∗ 5 + 2 5 =2 ∗ 2 + 1 2 =2 ∗ 1 0 1 Satz 3. 1 0 1 1 1 2 3 2 2 7 5 Es gilt Kj = Beweis: 2 2 2 17 41 99 12 29 70 Pj Qj Wir berechnen P0 = a0 , Q0 = 1, P0 /Q0 = a0 = [a0 ] P1 = a1 a0 + 1, Q1 = a1 , P1 /Q1 = a0 + a−1 1 = [a0 , a1 ] Diese Rechnung gilt auch, wenn wir für aj positive reelle Zahlen einsetzen.Wir führen einen Widerspruchsbeweis und nehmen an, j + 1 sei die kleinste Zahl, für die ein endlicher Kettenbruch [a0 , . . . , aj ] mit positiven reellen Zahlen existiert, für den die Formel Kj = Pj /Qj nicht gilt. 5 Es gilt nun Kj+1 =[a0 , . . . , aj + a−1 j+1 ] = (aj + 1/aj+1 )Pj−1 + Pj−2 (aj + 1/aj+1 )Qj−1 + Qj−2 = Pj−1 aj+1 Qj−1 aj+1 + aj Pj−1 + Pj−2 + aj Qj−1 + Qj−2 aj+1 (aj Pj−1 + Pj−2 ) + Pj−1 aj+1 (aj Qj−1 + Qj−2 ) + Qj−1 aj+1 Pj + Pj−1 = aj+1 Qj + Qj−1 Pj+1 = Qj+1 = Also gilt die Formel für Kj+1 . Sei [a0 , a1 , . . . , an ] ein Kettenbruch. Dann sind Pj und Qj teilerfremd und es gilt für jedes j Satz 4. Pj Qj−1 − Pj−1 Qj = (−1)j−1 . Beweis: P1 Q0 − P0 Q1 = (a1 a0 + 1)1 − a1 a0 = (−1)1−1 und Pj+1 Qj −Pj Qj+1 = (aj+1 Pj +Pj−1 )Qj −(aj+1 Qj +Qj−1 )Pj = −(Pj Qj−1 −Pj−1 Qj ). Insbesondere sind Pj und Qj teilerfremd. 2.4 Diophantische Gleichungen Gesucht sind ganzzahlige Lösungen von px + qy = r mit p, q und r ∈ N. Diese existieren nur, wenn ggT (p, q) r teilt. Wir betrachten also px + qy = 1 für teilerfremde p und q . Wir schreiben p = [a0 , a1 , . . . an ] = Kn q Es gilt ggT (Pn , Qn ) = ggT (a, b) und daher Pn = p , Qn = q . Also folgt pQn−1 − qPn−1 = (−1)n−1 . Beispiel: 29 ∗ 99 − 41 ∗ 70 = 1. 6 3 Periodische g -adische Darstellungen, der Satz von Fermat-Euler, und das RSA-Verfahren 3.1 Endliche g -adische Darstellungen Wir nennen einen Bruch a/b reduziert, wenn a und b teilerfremd sind, und 0 ≤ a < b. Die g adische Darstellung a/b = (c−j . . . c0 , c1 c2 . . . )g heiÿt endlich, wenn es ein m gibt mit cj = 0 für j > m. Das kleinste m nennen wir Länge der g -adischen Darstellung. Satz 5. Seien a und b teilerfremde natürliche Zahlen. Dann sind äquivalent 1. b teilt gm 2. Der m-te Rest rm von a/b ist Null. 3. Die g-adische Länge von a/b ist höchstens m. 3.2 Periodische g adische Darstellungen Einige Dezimalbrüche 1/n , und die Zahl der teilerfremden Zahlen < n, ω(n). 1/3 1/7 1/9 1/11 1/13 1/17 1/19 1/37 1/101 1/11111 = = = = = = = = = = 9 99 999 9999 99999 999999 0, 3 0, 142857 0, 1 0, 09 0, 076923 0, 0588235294117647 0, 052631578947368421 0, 027 0, 0099 0, 00009 = = = = = = 2 6 6 10 12 16 18 36 100 ? 3∗3 3 ∗ 3 ∗ 11 3 ∗ 3 ∗ 3 ∗ 37 3 ∗ 3 ∗ 11 ∗ 101 3 ∗ 3 ∗ 11111 3 ∗ 3 ∗ 3 ∗ 7 ∗ 11 ∗ 37 Die g -adische Darstellung der reellen Zahl t heiÿt periodisch, wenn es natürliche Zahlen m, l gibt mit cn+l = cn für n ≥ m. m−1 heiÿt Vorperiode und l Periode. Es gibt eine kleinste Vorperiode und eine kleinste Periode. Satz 6. Jede rationale Zahl hat eine periodische g -adische Darstellung, und jede periodische g-adische Darstellung gehört zu einer rationalen Zahl. 7 3.3 Reinperiodische Darstellungen Lemma 1. • b • Sei t ∈ N. Folgende Aussagen sind äquivalent: teilt gt − 1. Für jedes 0 ≤ a < b besitzt a/b eine reinperiodische Darstellung mit Periode t. a/b habe eine reinperiodische Darstellung. Dann gilt Beweis: a =(0, c1 c2 . . . cl )g b =(0, c1 c2 . . . cl c1 . . . cl ) a =(0, c1 c2 . . . cl ) + g −l b Wir multiplizieren mit bg l : (g l − 1)a = b ∗ (c1 . . . cl )g , also b|(g l − 1)a aber nicht a, also b|(g l − 1). In umgekehrter Richtung zeigt dieses Argument: Wenn b|(g l − 1) dann hat a/b eine reinperiodische Darstellung. Satz 7. • b • Für teilerfremde Zahlen 0 < a < b sind äquivalent: und g sind teilerfremd. Die g-adische Darstellung von a/b ist reinperiodisch. Nach dem vorigen Satz reicht es aus zu zeigen: ggT (b, g) = 1 genau dann wenn für ein t ∈ N, b|g t − 1. Oensichtlich ist ggT (b, g) = 1 wenn b|g t − 1. Wir nehmen nun an: ggT (b, g) = 1 und betrachten die Reste von 1, g, g 2 . . . bei der Division durch b. Da es nur endlich viele Reste gibt gilt Beweis: b|g m+l − g m für gewisse natürliche Zahlen m und l. Also gilt b|g m (g l − 1). Nach einer Primfaktorzerlegung beider Seiten sehen wir: b|(g l − 1). Insbesondere folgt für teilerfremde Zahlen b and g die Existenz von t, so dass b g t − 1 teilt. Seien b und g teilerfremde natürliche Zahlen. Dann teilt die kleinste Periode von a/b, 0 < a < b, die Zahl φ(b) der zu b teilerfremden Zahlen kleiner als b. Satz 8. g -adische Es gibt genau φ(b) reduzierte Brüche a/b mit Nenner b. Sei ggT (b, g) = 1. Ist t eine Periode eines reduzierten Bruches a/b so folgt b|g t −1, und damit ist t Periode jedes reduzierten Bruches ã/b. Die Ziern erhalten wir durch rekursives Beweis: Berechnen ga = c0 b + a1 8 Also ist at = a, und das ist das erste t mit dieser Eigenschaft. Die reduzierten Brüche zerfallen also in Gruppen der Länge t, also teilt t die Anzahl der reduzierten Brüche, und damit φ(b). Beispiel: 37 ist eine Primzahl. Rekursiv: 1 = 0 ∗ 37 + 1 10 = 0 ∗ 37 + 10 100 = 2 ∗ 37 + 26 260 = 7 ∗ 37 + 1 1/37 = 0 + 1/37 10/37 = 0 + 10/37 100/37 = 2 + 26/37 10 ∗ 26/37 = 7 + 1/37 2 = 0 ∗ 37 + 2 20 = 0 ∗ 37 + 20 200 = 5 ∗ 37 + 15 150 = 4 ∗ 37 + 2 3 = 0 ∗ 37 + 3 30 = 0 ∗ 37 + 30 300 = 8 ∗ 37 + 4 40 = 3 ∗ 37 + 3 Satz 9 (Satz von Fermat-Euler). Für teilerfremde Zahlen b und g teilt b die Zahl gφ(b) − 1. Insbesondere teilt jede Primzahl entweder g oder gp−1 − 1. Beweis: Die Länge t der Periode von 1/b teilt φ(b), also φ(b) = st. Dann teilt b g t − 1. Damit hat g t den Rest 1 bei der Division durch b. Das gilt auch für (g t )s = g st . 3.4 Das RSA (Rivest, Shamir, Adleman 1977) Verfahren in der Kryptographie Das Verfahren: Wir wählen eine groÿe Zahl g und eine zu φ(g) teilerfremde Zahl s. Wir verschlüsseln eine Zahl a zwischen 1 und dem kleinsten Teiler von g . Man bestimmt den Rest r von as bei der Division durch g . Dieser Rest wird übermittelt. Die Entschlüsselung geht so: Nach dem Satz von Fermat-Euler teilt g aφ(g) − 1 Wir bestimmen Zahlen (n, t) mit 1 = ts − nφ(g) Dann gilt rt = (as )t = a1+nφ(g) = a(aφ(g) )n und der Rest bei der Division durch g ist a. Man wählt zwei groÿe Primzahlen p, q , deniert g = pq . Dann ist φ(g) = (p − 1)(q − 1). Die Zahlen g und s sind öentlich. Zum Entschlüsseln braucht man φ(g), was man dann und nur dann kennt, wenn man g faktorisieren kann. Also: Alice wählt g = pq und s und schreibt die Zahlen auf ihre Homepage. Sie bestimmt t, da sie φ(g) kennt. Bob verschlüsselt die Nachricht a < g teilerfremd zu g , indem er den Rest r von as bei der Division durch g ermittelt. Diesen Rest teilt Bob Alice auf seiner Homepage mit. Alice bestimmt a mittels des Rests von rt bei der Division durch g . Es gibt zwei Beiträge Bonner Mathematiker zu diesem Verschlüsselungsverfahren. Nitin Saxena war an der Entwicklung eines ezienten deterministischen Primzahltest beteiligt und Jens Franke war 2009 an der Faktorisierung eines Produkts der Länge 2768 beteiligt. 9