Folien der 14. Vorlesungswoche Ein Beispiel: Z6 Im allgemeinen ist der Ring Zm kein Körper. Wie uns aus der — allerdings nichtkommutativen — Situation der Matrixringe Mn(R) schon bekannt ist, kann das Auftreten von Nullteilern die Körpereigenschaft verhindern. Dieser Effekt ist auch bei den Ringen Zm zu beobachten. Wir betrachten hier den Fall m = 6 = 2 · 3. Es gilt [2]6 6= [0]6 6= [3]6, da weder 2 noch 3 ganzzahlige Vielfache von 6 sind. Aber [2]6 · [3]6 = [2 · 3]6 = [0]6. Folglich ist Z6 kein Körper . 1 Der Körper Fp Satz. Der Ring Zm ist genau dann ein Körper, wenn m eine Primzahl ist. Zur Hervorhebung schreiben wir Fp für den Körper Zp (p prim). Beweis. (a) Zunächst sei m = p eine Primzahl und 0 6= [x]p ∈ Zp . Dann ist x nicht durch p teilbar, folglich g.g.T.(x, p) = 1. Somit gibt es eine Darstellung α · x + β · p = 1 mit ganzen Zahlen α und β. Übergang zu Restklassen liefert wegen [p]p = [0]p , dass [α]p · [x]p = [1]p und [x]p und somit in Zp ein multiplikativ Inverses besitzt. (b) Nunmehr sei Zm ein Körper. Wir nehmen m = a · b mit a, b ≥ 1 an. Es folgt [0]m = [a · b]m = [a]m · [b]m . Wegen der Körpereigenschaft ist einer Faktoren Null, sagen wir [a]m = [0]m . Folglich gilt m|a, was zusammen mit a|m den Schluss m = a und dann b = 1 liefert. Folglich ist m prim. 2 Einordnung: Endliche Körper Neben den Körpern Fp (p prim) gibt es noch für jede Primzahlpotenz q = pn Körper Fq mit q Elementen. Für n > 1 werden diejenigen jedoch nach einem anderen Verfahren, d.h. nicht durch Kongruenzen modulo q, konstruiert. Bis auf Isomorphie ist Fq durch q eindeutig bestimmt. Für natürliche Zahlen n, die keine Primzahlpotenzen sind, gibt es keine Körper der Elementezahl n. Endliche Körper — auch Vektorräume über endlichen Körpern — spielen für verschiedene informatiknahe Fragestellungen eine wichtige Rolle, so die Kryptographie und die Kodierungstheorie. 3 Die Einheitengruppe Z∗m Satz. Die hinsichtlich der Multiplikation invertierbaren Elemente von Zm bilden bezüglich der Multiplikation von Zm eine kommutative Gruppe, die sogenannte Einheitengruppe von Z∗m. Für eine Primzahl m = p haben wir Z∗p = Zp \ {[0]p}. Beweis. Da ein Produkt von zwei invertierbaren Elementen a und b stets ist wieder invertierbar ist — nämlich mit Inversem — b−1 · a−1 ist durch das Produkt tatsächlich eine Verknüpfung Z∗m × Z∗m → Z∗m , ([x]m , [y]m ) 7→ [x · y]m erklärt. Wir müssen daher noch die Bedinungen (A1)–(A4) in multiplikativer Notation nachweisen. Assoziativität (A1) und Kommutativität (A2) sind klar, da sie für die Multiplikation in Zn gelten. Mit [1]m hat Z∗m ein neutrales Element, es gilt folglich (A3). Nach Definition von Z∗m gilt schließlich (A4). 4 Kennzeichnung der Mitglieder von Z∗m Satz. Für [x]m ∈ Zm sind äquivalent: (1) [x]m gehört zu Z∗m. (2) x und m sind teilerfremd. (3) Es gibt ganze Zahlen α, β mit α · x + β · m = 1. Beweis. Die Äquivalenz (2) ⇔ (3) kennen wir schon. (3) ⇒ (1): Es gelte α · x + β · m = 1. Übergang zu Restklassen modulo m liefert dann — wegen [m]m = [0]m — die Beziehung [α]m · [x]m = [1]m. Damit ist [α]m zu [x]m invers . (1) ⇒ (3): Es sei [y]m zu [x]m invers, somit [x · y]m = [1]m. Es folgt x · y − 1 ∈ Z · m, somit eine Darstellung der Form (3). 5 Die Eulersche Funktion Definition. Die Anzahl |Z∗m| der Einheiten von Zm wird mit ϕ(m) bezeichnet; die resultierende Funktion ϕ : N>0 → N, m → 7 ϕ(m), heißt Eulersche Funktion oder auch ϕ-Funktion. Der vorangehende Satz zeigt: Es ist ϕ(m) die Anzahl der zu m teilerfremden Zahlen im Bereich 0, 1, . . . , m−1, oder — was aufs selbe hinausläuft — im Bereich 1, 2, . . . , m. Für eine Primzahl p sind im Bereich 1, 2, . . . , p alle Zahlen bis auf die letzte zu p teilerfremd und es folgt daher ϕ(p) = p − 1 . Allgemeiner behaupten wir, dass für eine Primzahlpotenz q = pn die Beziehung ϕ(pn) = pn − pn−1 gilt: Ist die ganze Zahl a mit 1 ≤ a ≤ pn nicht zu pn teilerfremd, so haben a und pn den gemeinsamen Teiler p, somit a = p · b mit 1 ≤ b ≤ pn−1 . Für b und damit für a gibt es daher genau pn−1 Möglichkeiten. 6 Chinesischer Restsatz Satz. Seien m, n > 0 teilerfremde natürliche Zahlen. Dann ist die Abbildung h : Zm·n → Zm × Zn, [x]m·n 7→ ([x]m, [x]n) ein Isomorphismus von Ringen. Beweis. (1) Die Definition macht Sinn: Gilt nämlich [x]m·n = [x0 ]m·n, so wird die Differenz x0 − x durch m · n und dann auch durch m und n geteilt. Es folgt: [x]m = [x0 ]m und [x]n = [x0 ]n. (2) h ist ein Ringhomomorphismus, d.h. ist verträglich mit Summen- und Produktbildung. (3) h ist injektiv. Ist nämlich h([x]m·n) = ([0]m , [0]n), so ist [x]m = [0]m und [x]n = [0]n. Folglich wird x sowohl durch m als auch durch n geteilt. Da m und n teilerfremd sind, ist dann m · n ein Teiler von x und somit [x]m·n = [0]m·n. Wegen |Zm·n| = m·n = |Zm |·|Zn| folgt hieraus die Bijektivität von h und zusammen mit (2) die Behauptung. 7 Berechnung von ϕ(n) Satz. Die Werte der Eulerschen Funktion sind durch die folgenden Bedingungen eindeutig bestimmt: (a) ϕ ist multiplikativ, d.h. ϕ(m · n) = ϕ(m) · ϕ(n) , falls m, n teilerfremd sind. (b) ϕ(pn) = pn − pn−1 , falls p prim ist. Beweis. Die Eigenschaft (b) haben wir schon nachgewiesen. ∼ Zm × Zn des chineZu (a): Seien m, n teilerfremd. Aus der Ringisomorphie Zm·n = sischen Restsatzes folgt durch Übergang zu den Einheitengruppen die Gruppeni∼ Z∗ × Z∗ und dann durch Übergang zu den Anzahlen ϕ(m · n) = somorphie Z∗m·n = m n ϕ(m) · ϕ(n). Qr Da jede natürliche Zahl n > 0 eine eindeutige Darstellung n = i=1 pei i mit paarweise verschiedenen Primzahlen p1 , p2 , . . . , pr besitzt, sind die Faktoren pei i paarweise teilerfremd und es folgt ϕ(n) = ϕ( r Y i=1 pei i ) = r Y i=1 ϕ(pei i ) = r Y i=1 (pei i − pei i −1 ). 8 Vorschau Als nächstes Thema steuern wir die Sätze von Euler bzw. Fermat an. Der Eulersche Satz sagt, dass stets xϕ(m) ≡ 1 (m) gilt, falls x und m teilerfremd sind. Der (kleine) Fermatsche Satz ist ein Spezialfall des Eulerschen Satzes und sagt, dass xp−1 ≡ 1 (p) für jede Primzahl p und durch p nicht teilbare Zahl x gilt. Die RSA-Verschlüsselung fußt auf beiden Sätzen. Beide Sätze sind ihrerseits (einfache) Folgerungen des Satzes von Lagrange, nach dem die Ordnung einer Untergruppe stets die Ordnung der ganzen Gruppe teilt. Wir betrachten nachfolgend die Nebenklassenzerlegung nach einer Untergruppe, aus welcher der Satz von Lagrange sofort folgt. 9 Nebenklassenzerlegung nach einer Untergruppe Sei (H, +) eine kommutative∗ Gruppe, hier in additiver Notation. U sei eine Untergruppe von H. Frühere Betrachtungen verallgemeinernd, sagen wir, dass x, y ∈ H bezüglich U kongruent sind (Schreibweise x ≡ y), falls x − y zu U gehört. Ferner bezeichnen wir mit [x] = {y ∈ H| y − x ∈ U } die Menge der zu x kongruenten Elemente y und nennen dies die Nebenklasse von x nach U . Suggestiver gilt: [x] = x + U . Es gelten die drei Eigenschaften: (N1) Für jedes x ∈ H gilt x ∈ [x]. (N2) Zwei Nebenklassen [x] und [y] sind entweder gleich oder disjunkt. (N3) Die Abbildung g : U → x + U , u 7→ x + u, ist bijektiv; insbesondere |[x]| = |U | für jedes x ∈ H. ∗ Die Kommutativität wird eigentlich nicht gebraucht, erleichtert jedoch die Argumente. Wir sprechen in den folgenden Formulierungen daher häufig von Gruppe. 10 Nebenklassenzerlegung, Beweis Zunächst machen wir uns klar, dass [x] = [y] und x − y ∈ U äquivalente Aussagen sind: (a) Falls [x] = [y] gilt x + U = y + U , daher hat x die Form y + u mit u ∈ U und x − y ∈ U folgt. (b) Falls umgekehrt x = y + u mit u ∈ U gilt, so folgt x + U = y + (u + U ) = y + U , somit [x] = [y]. Zu (N1): Wegen 0 ∈ U ist x ∈ x + U gelegen. Zu (N2): Falls [x] und [y] ein gemeinsames Element z haben, gilt z − x ∈ U und z − y in U . Nach Vorbemerkung folgt dann [z] = [x] und [z] = [y], also [x] = [y]. Zu (N3): Ersichtlich ist g surjektiv. Falls ferner g(x) = g(y), also x + u = y + u gilt, liefert Addition mit −u, dass x = y ist. 11 Der Satz von Lagrange Definition. H sei eine Gruppe und U eine Untergruppe. Die Menge {[x]| x ∈ H} aller Nebenklassen von H nach U bezeichnen wir mit H/U und nennen die Anzahl [H : U ] aller Nebenklassen von H nach U den Index H nach U . Satz von Lagrange. Falls H eine endliche Gruppe und U eine Untergruppe von H ist, gilt |H| = |U | · [H : U ] . Insbesondere sind sowohl die Ordnung |U | der Untergruppe U als auch der Index [H : U ] Teiler der Gruppenordnung |H| von H. Beweis. Wegen (N1) und (N2) ist H disjunkte Vereinigung der [H : U ] Nebenklassen [x] ∈ H/U . Ferner haben nach (N3) alle Nebenklassen [x], x ∈ H, dieselbe Elementezahl |U |. Es folgt |H| = [H : U ] · |U |. 12 Die Ordnung eines Elements Im Interesse späterer Anwendungen verwenden wir von nun an multiplikative Notation. Das neutrale Element bzgl. der Multiplikation bezeichnen wir mit 1. Satz. (H, ·) sei eine endliche Gruppe. Zu x ∈ H gibt es dann einen Exponenten n ≥ 1 mit xn = 1. Der kleinste derartige Exponent n heißt die Ordnung von x. Die Ordnung von x teilt die Gruppenordnung |H| . Mit m = |H| gilt ferner xm = 1. Beweis. Da H endlich ist, gibt es Exponenten 1 ≤ a < b mit xa = xb. Mit n = b − a folgt dann xn = 1. 2 n−1 ist wegen xn = 1 bezüglich der MultipliDie Teilmenge U = 1, x, x , . . . , x kation von H abgeschlossen; ferner ist zu xi ∈ U das Element xn−i invers. Daher ist U eine Untergruppe von H. Falls n zusätzlich minimal gewählt ist, sind die Potenzen 1, x, x2 , . . . , xn−1 paarweise verschieden, also gilt n = |U |. Der Satz von Lagrange zeigt, dass n = |U | die Ordnung von H teilt. Mit m = |H| gilt somit m = n· a und dann xm = (xn)a = 1. 13 Der Satz von Euler Wir wenden den vorangehenden Satz auf die multiplikative Gruppe Z∗m an und erhalten: Satz von Euler. Sei m > 1 eine natürliche Zahl und die ganze Zahl x zu m teilerfremd. Dann gilt xϕ(m) ≡ 1 (m). Beweis. Da x zu m teilerfremd ist, gehört [x]m zur Einheitengruppe Z∗m , deren Ordnung ϕ(m) ist. Folglich gilt in Z∗m die Beziehung [xϕ(m) ]m = [x]ϕ(m) = [1]m. m Durch Übergang zu den Repräsentanten folgt xϕ(m) ≡ 1 (m). Wir werden eine Variante des Satzes von Euler für m = p · q (p, q prim) für die RSA-Verschlüsselung verwenden. 14 Der Satz von Fermat Als Spezialfall des Satzes von Euler erhalten wir für m = p prim, den sogenannten kleinen Satz von Fermat. Satz von Fermat. Es sei p eine Primzahl. Für jede nicht durch p teilbare ganze Zahl x gilt dann xp−1 ≡ 1 (p). Beweis. Wir wenden den Eulerschen Satz an und berücksichtigen ϕ(p) = p − 1. Folgerung Es sei p eine Primzahl und x eine ganze Zahl. Dann gilt xp ≡ x (p). Beweis. Für die nicht durch p teilbaren ganzen Zahlen ergibt sich die Behauptung aus dem Satz von Fermat durch Multiplikation mit x. Für eine durch p teilbare Zahl x sind andererseits sowohl x als auch xp kongruent 0 modulo p. 15 Primzahlen und Satz von Fermat: Kommentar I (1) Der Satz von Fermat ist — aus dem rechten Blickwinkel betrachtet — außerordentlich bemerkenswert: Mit seiner Hilfe kann nämlich bewiesen werden, dass eine Zahl n zusammengesetzt ist ohne überhaupt eine Faktorisierung angeben zu müssen. (2) Das Fermatsche Kriterium ist allerdings nur eine notwendige, jedoch keine hinreichende Bedingung. Es ist 561 = 3 · 11 · 17 die kleinste Zahl, welche das Fermatsche Kriterium erfüllt, jedoch nicht prim ist. (3) In dieselbe Richtung geht der Primzahltest von Wilson∗: p ist genau dann prim, wenn (p − 1)! ≡ −1 (p) gilt. Die Rechenzeit für den Wilsonschen Test ist — wegen der involvierten Fakultät — allerdings außerordentlich lang. In der Praxis wendet man stattdessen alternative schnelle Primzahltests an. ∗ Denselben behandeln wir hier nicht, obwohl sein Beweis nicht schwierig ist. 16 Primzahlen und Satz von Fermat: Kommentar II (4) Zur theoretischen Dimension: Der indische Mathematiker M. Agraval und seine Studenten N. Kayal und N. Saxena haben August 2002 einen schnellen einfachen Primzahltest angekündigt, der in polynomialer Laufzeit operiert. (5) Dagegen sind keine effektiven Verfahren zur Faktorisierung großer Zahlen bekannt. Allgemein gilt das Auffinden von Primfaktoren (für Zahlen von 100 und mehr Dezimalstellen) als ein sehr schwieriges Problem. Für das Faktorisieren hinreichend großer Zahlen haben die amerikanischen RSA Laboratories Preise im Bereich von 10.000 $ (bei 174 Dezimalstellen) bis 200.000 $ (bei 617 Dezimalstellen) ausgesetzt (Stand Januar 2003). (6) Andererseits ist kein Nachweis bekannt, dass die Faktorisierung ganzer Zahlen wirklich ein so schweres Problem ist, dass es nicht durch Algorithmen gelöst werden könnte, die in polynomialer Laufzeit einen (echten) Faktor liefern. 17 Leonhard Euler (1707–1783) Euler hat bahnbrechende Ergebnisse in Analysis, Geometrie und Zahlentheorie erzielt. Viele mathematische Konzepte sind nach ihm benannt. Euler ist auch Schöpfer der Graphentheorie. 18 Joseph-Louis Lagrange (1736–1813) Lagrange ist durch bemerkenswerte Leistungen in Analysis, Himmelsmechanik und Zahlentheorie hervorgetreten. 19 Pierre de Fermat (1601–1665) Fermat war Anwalt und hoher französischer Staatsbeamter. In Differentia und Integralrechnung, geometrischer Optik und Zahlentheorie hat er als Amateur gleichwohl Großes geleistet. Das Fermatsche Problem (=großer Fermatscher Satz) wurde erst 1994 durch Andrew Wiles gelöst. 20 Die Rolle der Zahlentheorie Zahlentheorie, insbesondere die Beschäftigung mit Primzahlen, galt lange Jahre als nutzlose Spekulation oder — positiv gewandt — als Mathematik reinsten Wassers. Die Verhältnisse haben sich drastisch geändert. Inzwischen haben zahlentheoretische Verfahren Konjunktur; clevere Algorithmen der Zahlentheorie haben hohen ökonomischen Wert. Derartige Anwendungen liegen vornehmlich in der Kodierungstheorie und der Kryptographie. Wir werden anschließend eine derartige Anwendung, die RSA-Verschlüsselung∗ untersuchen. ∗ Die RSA-Verschlüsselung wird u.a. für Kreditkarten und sichere Internetübertragungen eingesetzt. 21 Die RSA-Verschlüsselung Es handelt sich um ein asymmetrisches Verschlüsselungsverfahren∗ mit öffentlichem Schlüssel, benannt nach Ronald Rivest, Adi Shamir und Leonard Adleman, die dieses Verfahren 1977 entwickelten. Wir beschreiben zunächst das RSA-Verfahren und gehen dann auf den mathematischen Hintergrund ein: Alice (Sender) will eine Nachricht an Bob (Empfänger) senden, den Eva (Lauscher) nicht verstehen soll. Wir unterstellen, dass Eva alles mitlesen kann, was Alice an Bob sendet. Wir können ohne Einschränkung annehmen, dass die zu sendende Nachricht aus einer Zahl x besteht. (Warum?) ∗ Die populären Darstellungen von S. Singh: Geheime Botschaften, Hauser 2000, und von A. Beutelspacher: Geheimsprachen, Beck 1997, thematisieren auch die historische und gesellschaftliche Bedeutung der Kryptographie. 22 Ein asymmetrisches Verschlüsselungsverfahren Alice möchte die Nachricht x verschlüsselt an Bob senden. Wie folgt gelingt es ihr, Eva auszutricksen: (1) Alice beschafft sich aus einer Art “Telefonbuch” Bobs öffentlichen Schlüssel (n, e). (2) Alice berechnet die Potenz xe und schickt an Bob den Rest y = xe mod n , den xe nach Division durch n lässt. (3) Alice schickt die Mitteilung y an Bob über einen ungeschützten Kanal. (4) Bob greift auf seinen geheimen Schlüssel (n, d) zurück, den nur er kennt! Er berechnet y d und ermittelt den Rest y d mod n. Dies ist gerade x, die ursprüngliche Nachricht. 23 Einfaches Beispiel: Verschlüssln Sei p = 3, q = 11, also n = 33 und ϕ(n) = 20. Wir wählen e = 7 als zu ϕ(n) teilerfremde Zahl und erhalten — etwa durch den erweiterten euklidischen Algorithmus — die modulo ϕ(n) — zu e inverse Zahl d = 3 . Zur Kontrolle: e · d ≡ 1 (20). Öffentlicher Schlüssel: (n, e) = (33, 7) . Geheimer Schlüssel des Empfängers: (n, d) = (33, 3) . Zu übermittelnde Nachricht: x = 2 . Verschlüsselung von x: 27 = 128 (33) = 29 (33) Alice verschickt xe mod n = 29 . 24 Einfaches Beispiel: Entschlüsseln Aus der empfangenen Nachricht y = 29 bildet Bob mit Hilfe des geheimen Schlüssels (n, d) = (33, 3) die Zahl z = y d mod (n). Dies sieht zunächst nach umfangreicher Rechnung aus, ist in modularer Arithmetik jedoch schnell zu ermitteln, da nämlich 29 ≡ −4 (33). Also y 3 ≡ (−4)3 (33) ≡ −64 (33) ≡ 2 (33) Wir sehen, dass Bob mit z = 2 die Nachricht korrekt entschlüsselt hat. Vorführen eines größeren Beispiels per MuPAD-Notebook! 25