Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 1 von 9 Polynome. Während Polynome in der Analysis als einfache Funktionen (also als Abbildungen einer Teilmenge von R nach R) auftreten, werden sie in der Algebra vornehmlich im Hinblick auf ihre Struktur betrachtet. Im folgenden beschränken wir uns auf Polynome in einer Unbestimmten. Im Anschluß an die Untersuchung von Gruppen, Ringen und Körpern können wir Polynome (in einer Unbestimmten) als endliche Folgen von Elementen ai R eines Rings R auffassen: (a0 . a1 , .... an ) . Wir schreiben dies in der Form a0 + a1 x + a2 x2 + ... + an xn . Dabei steht das Symbol x für eine so genannte "Unbestimmte", die selbst kein Element von R ist. Dass die aus der Analysis bekannte suggestive Schreibweise für ein Polynom verwendet werden kann, ist darauf zurückzuführen, dass Gleichheit, Addition und Multiplikation von Polynomen in der Algebra genau so definiert wird wie in der Analysis. Mit diesen Definitionen (die hier als bekannt vorausgesetzt werden) bilden die Polynome mit Koeffizienten aus einem Ring selbst wieder einen Ring, den so genannten Polynomring über R , geschrieben als P(R). Wenn der Ring der Koeffizienten von P(R) ein Körper K ist, dann ist P(K) ein euklidischer Ring; d.h. dann kann – wie bei Z – eine Division mit Rest vorgenommen werden 1. Da der Polynomgrad n nicht beschränkt ist, enthält P(R) auch dann unendlich viele Elemente, wenn R selbst ein endlicher Ring ist. Um das zu vermeiden, muß man – wie bei Zahlenmengen – Faktorringe modulo eines gegebenen Polynoms bilden. Die Rolle der Primzahlen übernehmen im Polynomring P(K) die irreduziblen Polynome: Definition: Ein Polynom positiven Grades aus P(K) heißt irreduzibel (über K), wenn es nur durch Elemente von K und durch sich selbst ohne Rest teilbar ist; andernfalls heißt es reduzibel. Führt man die Überlegungen im Polynomring (immer über einem Körper K) analog wie im Ring Z der ganzen Zahlen durch, dann gilt z.B. der 1 Dazu beweist man zunächst, dass zu jedem Polynom f(x) ein Polynom q(x) derart existiert, dass zu jedem vom Nullpolynom verschiedenen g(x) für die Differenz r = f - q g entweder r(x) = 0 oder grad r < grad g gilt. Danach geht man genau so vor, wie im Falle der ganzen Zahlen. Insbesondere kann der Divisionsalgorithmus analog wie dort hergeleitet werden. Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 2 von 9 Satz: Der Faktorring P(K) modulo einem irreduziblen Polynom f(x) P(K) ist ein Körper. Diese Aussage wird später noch benutzt werden. Endliche Körper. Wie die vorangegangenen Ausführungen gezeigt haben, erweisen sich die Restklassen modulo einer Primzahl p als (endliche) Körper. Ziel dieses Abschnitts ist es, einen Überblick über alle möglichen endlichen Körper (d.h. Körper mit endlich vielen Elementen) und deren Eigenschaften zu erhalten. Dazu notieren wir zunächst die einfachsten Eigenschaften allgemeiner Körper, wie sie sich aus den Körperaxiomen ergeben. Die Definition eines Körpers K als Menge mit den beiden Operationen der Addition und Multiplikation wird aus dem Grundkurs vorausgesetzt. Beispiele für Körper sind die Mengen Q der rationalen, R der reellen, C der komplexen Zahlen und die Restklassen Z / pZ modulo einer Primzahl p. Ein wichtiges Unterscheidungsmerkmal endlicher und unendlicher Körper ist die so genannte Charakteristik eines Körpers: Definition 4.1: Ein Körper besitzt die Charakteristik Null, wenn die wiederholte Addition der multiplikativen Einheit 1 niemals die additive Einheit 0 ergibt. Andernfalls existiert eine Primzahl p so, daß die p-fache Addition der 1 gleich 0 ist; in diesem Fall besitzt der Körper die Charakteristik p. Ein Körper der Charakteristik Null enthält stets eine Kopie der Menge der rationalen Zahlen; ein solcher der Charakteristik p stets eine Kopie des Körpers Z / pZ . Bemerkung: Da ein Körper keine Nullteiler besitzen kann (also das Produkt zweier Körperelemente nur dann gleich Null sein kann, wenn mindestens einer der Faktoren gleich Null ist), kann seine Charakteristik keine Nicht-Primzahl sein (Beweis als Aufgabe!). Definition 4.2: Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 3 von 9 Ein Vektorraum und dessen Basis und Dimension kann über jedem Körper K analog wie über R definiert werden. Ein Erweiterungskörper über K (also ein größerer Körper, der K enthält) ist automatisch ein Vektorraum über K.2 Die Erweiterung heißt endlich, falls dieser Vektorraum endliche Dimension besitzt. Die Dimension heißt der Grad der Erweiterung. Eine Erweiterung kann durch Adjunktion eines Elements geschehen: Ein Körper, der aus allen rationalen Ausdrücken besteht, die aus dem Element und Elementen aus K gebildet sind, wird als K() geschrieben. Beispiel: Der Körper Q kann durch Adjunktion einer Wurzel des Polynoms X 2 – 2 = 0 um das Element 2 zu Q( 2 ) erweitert werden. Q( 2 ) enthält dann alle rationalen Zahlen und alle Zahlen a + b 2 mit beliebigen rationalen Zahlen a und b. Über einem beliebigen Körper können Polynome analog wie im Reellen definiert werden; die Menge aller Polynome über dem Körper K mit der Unbestimmten X wird als K[X] (oder auch P(K) – s.o.) geschrieben. K[X] bildet einen Ring, und mit Ausnahme der Definition der Ableitung eines Polynoms (die im Reellen darauf beruht, daß R ein metrischer Raum ist) können alle Definitionen über Polynome (Grad, Nullstellen, Reduzibilität bzw. Irreduzibilität etc.) sinngemäß aus R übernommen werden. Die Ableitung eines Polynoms aus K[X] wird für jeden Summanden des Polynoms algebraisch über die nX n-1 – Regel definiert. Ein Polynom f vom Grad d über K kann, muß jedoch nicht eine Nullstelle in K besitzen (Beispiel: f = X 2 – 2 über Q) . Falls eine Nullstelle r existiert, kann f durch den Linearfaktor (X – r) dividiert werden. Mehrfache Nullstellen werden wie im Reellen definiert; wenn f eine mehrfache Nullstelle r besitzt, dann ist r der ggT von f und dessen Ableitung f’, und f ist durch (X – r) m teilbar, wenn m die Multiplizität der Nullstelle r ist. Für jedes Polynom f (X) K[X] vom Grad d existiert eine Erweiterung von K, die alle d Wurzeln von f enthält: Definition und Satz 4.3: 2 Die umgekehrte Fragestellung, ob, und falls ja, wie, ein Vektorraum über einem Körper zu einem Erweiterungskörper gemacht werden kann, ist z.B. in der Codierungstheorie von Interesse, und wird später noch separat erörtert. Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 4 von 9 Für jedes Polynom f über einem Körper K existiert eine kleinste Erweiterung Kf von K so, dass f in Kf in ein Produkt von linearen Faktoren aller Nullstellen von f zerfällt. Kf heißt der Zerfällungskörper von f . Beispiel: Q ( 2 ) ist der Zerfällungskörper von f = X 2 – 2 . Q ( 2 ) enthält alle Zahlen a + b 2 mit a, b Q . Sei jetzt Kq ein Körper mit q Elementen. Da Kq nicht die Charakteristik Null haben kann, sei die Charakteristik von Kq gleich einer Primzahl p. Kq enthält daher den Restklassenkörper modulo p und ist mithin ein (notwendigerweise endlich-dimensionaler) Vektorraum über Z / pZ . Sei d seine Dimension; dann muß er pd Elemente enthalten. Folglich ist q eine Potenz der Primzahl p. Zu zeigen ist im folgenden, dass für jede Primzahlpotenz q = p f ein bis auf Isomorphie eindeutiger Körper mit q Elementen existiert. Zuvor soll jedoch die multiplikative Gruppe Kq* eines endlichen Körpers Kq genauer untersucht werden. Kq* ist abelsch und enthält alle q-1 Elemente von Kq mit Ausnahme der Null. Wir notieren zunächst eine bereits früher bewiesene elementare Eigenschaft beliebiger endlicher Gruppen. Satz 4.4: Sei G eine (multiplikativ geschriebene) endliche Gruppe der Ordnung n (geschrieben ord(G) = n) 3 und H eine Untergruppe von G. Dann ist ord(H) ein Teiler von n (vgl. dazu das Arbeitsblatt 1 a). Beweis: Sei g G. Die Menge gH : = { g h | h H } heißt eine linke Nebenklasse von G modulo H. Analog wird eine rechte Nebenklasse definiert. Für abelsche Gruppen fallen die Begriffe zusammen. Die Menge der Nebenklassen partitioniert die Gruppe G (Beweis als Aufgabe). Da jede Nebenklasse r: = ord(H) Elemente enthält, muß für ihre Anzahl s gelten r s = n. r muß mithin Teiler von n sein. Sei nun a Kq* , und d die kleinste Potenz von a, die 1 ergibt. d wird als Ordnung von a bezeichnet: d = ord(a). Falls d = q – 1 ist, heißt a ein erzeugendes Element oder ein primitives Element von Kq*. 3 Die Ordnung von G ist (vgl. Arbeitsblatt 1a) die Anzahl der Elemente von G. Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 5 von 9 Der nächste Satz ist grundlegend für endliche Körper. Er sagt aus, dass die von Null verschiedenen Elemente jedes endlichen Körpers eine zyklische Gruppe bilden, d.h. sämtlich Potenzen eines einzelnen Elements sind. Gleichzeitig liefert er die Anzahl und Ordnungen derjenigen Körperelemente, die keine primitiven Elemente sind, und deren Ordnung sich als Teiler der maximalen Ordnung erweisen. Satz 4.5: Jeder endliche Körper besitzt ein erzeugendes Element. Ist g ein erzeugendes Element von Kq*, dann ist auch g j genau dann ein erzeugendes Element, wenn der ggT(j,q-1) = 1 ist. Insgesamt existieren (q-1) verschiedene Erzeugende von Kq*. Beweis: Sei a Kq* und ord (a) = d. Für d gilt d |q –1, und die Elemente a, a 2, ... a d = 1 sind verschieden voneinander. Wir zeigen zunächst, daß die Elemente der Ordnung d genau die (d) Werte a j sind, für die ggT(j,d) = 1 ist: Da die d unterschiedlichen Potenzen von a sämtlich die Gleichung x d = 1 erfüllen, sind dies alle Wurzeln der Gleichung. Jedes Element der Ordnung d muß sich unter den Potenzen von a befinden, jedoch haben nicht alle Potenzen von a die Ordnung d : Falls für ein j ggT(j,d) = d' > 1 ist, dann hat a j eine kleinere Ordnung als d ( da d / d' und j / d' ganze Zahlen sind, gilt (a j) (d/d') = (a d) (j/d') = 1). Umgekehrt hat a j die Ordnung d, wenn ggT(j,d) = 1 ist: Wenn j relativ prim zu d ist, und a j hätte eine kleinere Ordnung d'', dann ergäbe a d'' entweder zur Potenz j oder zur Potenz d erhoben, die 1, und damit wäre auch a d'' = 1. Dies ist jedoch ein Widerspruch dazu, daß a die Ordnung d besitzt und somit a d'' 1 sein muß. Das bedeutet, daß, falls es irgend ein Element a der Ordnung d gibt, genau (d) Elemente der Ordnung d existieren. Für jedes d, das q - 1 teilt, gibt es daher nur die Alternative: Entweder hat kein Element die Ordnung d , oder aber es gibt (d) Elemente der Ordnung d. Da nun die Anzahl der Elemente in der multiplikativen Gruppe von Kq* gleich q - 1 ist, die Relation ( d ) q 1 d |q 1 gilt, und jedes Element eine Ordnung d besitzt, muß es für jedes erlaubte d genau (d) Elemente dieser Ordnung geben. Speziell existieren also (q - 1) primitive Wurzeln, d.h. Elemente der Ordnung q - 1. Korollar 4.6: Für jede Primzahl p existiert eine ganze Zahl g so, dass die Potenzen von g alle Residuen modulo p durchlaufen. Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 6 von 9 Korollar 4.7: Die Ordnung d eines jeden Körperelements ist ein Teiler der maximalen Ordnung, und es existieren (d) Elemente der Ordnung d. Beispiel: Sei p eine Primzahl und 1 < a < p eine zufällig gewählte Zahl; dann ist mithin die Wahrscheinlichkeit dafür, daß a eine Erzeugende modulo p ist, gleich (p-1) / (p-1) . Für p = 23, 31, 97 und 127 ergeben sich z.B. die Werte 0.45, 0.27, 0.33 und 0.29 , für die Primzahl p = 2354674589456801 folgt als Wert die Zahl 0.37. Diese Werte hängen also stark von der Zerlegung der Zahl p - 1 ab. Ist speziell p - 1 das Doppelte einer Primzahl q, dann ist (p-1) = (2) (q) = q - 1 und damit die gesuchte Wahrscheinlichkeit P( p ) ( p 3) 1 1 . 2( p 1) 2 p 1 Unter der (bislang unbewiesenen) Annahme, daß es unendlich viele Paare (p,q) von Primzahlen mit p = 2 q + 1 gibt, geht mit wachsendem p die Wahrscheinlichkeit, daß eine zufällig aus dem Intervall (1, p) gewählte Zahl eine Erzeugende der Restklasse modulo p ist, gegen ½ . Läßt man auch diejenigen Elemente zur Wahl zu, deren Ordnung halb so groß ist wie p - 1, dann wächst die entsprechende kombinierte Wahrscheinlichkeit natürlich noch - z.B. im letzten Fall um weitere 0.18 zu 0.55. Diese Überlegungen spielen beispielsweise im Protokoll zum Schlüsselaustausch nach DIFFIE und HELLMAN in der Kryptologie eine Rolle. Die Untersuchung zyklischer Untergruppen ist nicht nur in der multiplikativen Gruppe eines endlichen Körpers interessant; sie kann beispielsweise auch auf Restklassen ausgedehnt werden, die nicht zu einer Primzahl gehören: Seien etwa a und n teilerfremde ganze Zahlen. Dann heißt der kleinste nichtnegative Exponent r, für den gilt a r 1 mod n die Ordnung von a modulo n, geschrieben als ordn(a) oder ord(a,n) . Aus der Definition und dem Satz von EULER ergeben sich die folgenden Eigenschaften für r = ord n (a): (1) Ist a m 1 mod n für ein natürliches m, dann gilt r | m . (2) r | (n) . (3) Für ganze Zahlen s und t gilt a s a t mod n genau dann, wenn s t mod r. Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 7 von 9 (4) Keine zwei der Zahlen a, a 2, a 3, . . . a r sind kongruent modulo r . (5) Ist m eine natürliche Zahl, dann ist ord n (a m ) = r / ggT(r,m) . (6) ord n (a m ) = r genau dann, wenn ggT(r,m) = 1 . Die Ordnung eines Elements a modulo n kann also (n) oder ein Teiler davon sein. Als Beispiel werden in der folgenden Tabelle die Ordnungen aller RestklassenElemente > 1 für n = 23 angegeben: a ord 23(a) a Ord 23(a) a ord 23(a) 2 11 9 11 16 11 3 11 10 22 17 22 4 11 11 22 18 11 5 22 12 11 19 22 6 11 13 11 20 22 7 22 14 22 21 22 8 11 15 22 22 2 Hieran schließt sich die Definition 4.8: Seien n eine natürliche und a eine ganze Zahl, und sei ggT(a,n) = 1. Ist dann ord n (a) = (n) , dann heißt a eine primitive Wurzel modulo n. Primitive Wurzeln existieren nach Satz 4.5 in allen endlichen Körpern. Im Beispiel oben gibt es mit n = 23 – 1 = 22, wie man sieht, (22) = 10 primitive Wurzeln, nämlich die Elemente 5, 7, 10, 11, 14, 15, 17, 19, 20 und 21. Für die Ordnungen der übrigen Elemente folgt hier aus Satz 4.5, dass neben der 1 ( = (1)) noch (2) = 1 Element der Ordnung 2 und (11) = 10 Elemente (2, 3, 4, 6, 8, 9, 12, 13, 16 und 18) der Ordnung 11 existieren. Wir zeigen nun die Existenz und Eindeutigkeit endlicher Körper mit PrimzahlpotenzAnzahl q = p f von Elementen, indem wir beweisen, dass ein solcher Körper der Zerfällungskörper des Polynoms X q – X ist: Satz 4.9: Sei Kq ein Körper mit q = p f Elementen. Dann erfüllt jedes Element die Gleichung X q – X = 0, und Kq enthält genau alle Wurzeln dieser Gleichung. Umgekehrt ist für jede Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 8 von 9 Primzahlpotenz q = p f der Zerfällungskörper zu X q – X über Kp ein Körper mit q Elementen. Beweis: a) Sei Kq ein endlicher Körper. Da die Ordnung eines jeden Elements von Kq ein Teiler von q – 1 ist, erfüllt jedes von Null verschiedene Element des Körpers die Gleichung X q-1 – 1 = 0, mithin auch X q – X = 0. Diese Gleichung erfüllt auch das Element 0. Da die Gleichung nicht mehr als q Wurzeln haben kann, sind dies genau die Elemente von Kq . Kq ist also der Zerfällungskörper zu X q – X von Kp . b) Sei umgekehrt q = p f eine Primzahlpotenz, und sei K der Zerfällungskörper von Kp zu f(X) = X q – X . Die Ableitung von X q – X ist qX q-1 – 1 = − 1 (da q ein Vielfaches von p und damit gleich Null in Kp ist). f hat mithin keine mehrfachen Nullstellen. K besitzt also mindestens die q Nullstellen von f . Die Menge dieser q Nullstellen ist jedoch bereits ein Körper, da die Summe und das Produkt zweier Nullstellen von f wieder eine Nullstelle von f ist (Beweis als Aufgabe !). Es folgt, dass K ein Körper mit q Elementen ist, mithin K = Kq . Um einen Erweiterungskörper Kq mit q = pr explizit zu konstruieren, benutzen wir das Konzept eines so genannten primitiven Polynoms (das irreduzibel und dessen Wurzeln primitive Elemente von Kq sind) : Definition 4.10: Ein primitives Polynom vom Grad r über Kp ist ein irreduzibles Polynom vom Grad r, das Teiler von X p r 1 1, nicht jedoch von X e 1 mit e < pr - 1 ist. Die Konstruktion geschieht zweckmäßig durch Adjunktion eines primitiven Elements zum Grundkörper Kp. Dieses Element und seine Potenzen erzeugen nach Satz 4.5 den Erweiterungskörper. Man findet ein solches primitives Element als Wurzel eines primitiven Polynoms f vom Grad r über Kp (vgl. dazu auch das Tutorial 3). Die Polynome in im Körper Kq müssen dabei sämtlich modulo f reduziert werden. Zur Automatisierung dieses Vorgangs können Schieberegister verwendet werden. Die Konstruktion eines Erweiterungskörpers wird mithin im wesentlichen auf die Prof. Dr. Gerhard Berendt SS 2005 Mathematische Grundlagen der Codierung / Endliche Strukturen Arbeitsblatt 4 / S. 9 von 9 Bestimmung eines geeigneten primitiven Polynoms zurückgeführt. Die Anzahl der primitiven Polynome wächst schnell mit dem Grad r : Da jedes dieser Polynome r (einfache) Nullstellen besitzt, und in Kq (pr – 1) primitive Elemente existieren, gibt es also (pr – 1) / r primitive Polynome vom Grad r über Kp (für p = 2 und r = 16 beispielsweise bereits 2048 !).