Universität Koblenz-Landau Polynome und endliche Körper Ausarbeitung zum Proseminar Modul 4c Kryptographie im Fachbereich 3 Regula Krapf Arbeitsgruppe: Prof. Dr. Peter Ullrich Universität Koblenz-Landau vorgelegt von Hannah Franziska Johann 12. Mai 2017
Inhaltsverzeichnis 1 Polynome 1 1.1 Polynome................................... 1 1.1.1 Polynome über Körpern....................... 2 1.1.1.1 Körper und Polynomringe................. 2 1.1.1.2 Polynome über Körpern.................. 4 2 Endliche Körper 7 2.1 Endliche Körper................................ 7 2.1.1 Konstruktion endlicher Körper.................... 7 2.1.2 Struktur der Einheitengruppe endlicher Körper.......... 9 2.1.3 Struktur der primen Restklasse................... 10 3 Literaturverzeichnis 12
1 Polynome 1.1 Polynome Polynome werden benötigt, um endliche Körper einzuführen und um zu zeigen, dass für jede Primzahl p die prime Restklassengruppe (Z/pZ) zyklisch von der Ordnung p 1 ist. Definition 1.1 Sei R ein kommutativer Ring mit Einselement. In der elementaren Algebra ist eine Polynomfunktion mit Koeffizienten in R eine Funktion P der Form n P (x) = a i x i = a n x n + a n 1 x n 1 +... + a 1 x + a 0 i=0 mit n N, wobei x die Variable ist und für die Koeffizienten a 0,..., a n R gilt. Als Grad des Polynoms wird der höchste Exponent n bezeichnet, für den der Koeffizient a n 0 ist. Die Schreibweise lautet n = degf und für das Nullpolynom wird der Grad als definiert. Der Koeffizient a n wird Leitkoeffizient oder führender Koeffizient von f genannt. Sofern nur der führende Koeffizient einen Wert ungleich 0 einnimmt, wird das Polynom auch als Monom bezeichnet. Besitzt das Polynom zwei Koeffizienten ungleich 0, so wird es als Binom bezeichnet. Beispiele f(x) = 3x 3 + 8x 2 + 5 (1.1) g(x) = 9 (1.2) h(x) = x (1.3) Bei Beispiel 1.1 handelt es sich um ein Polynom dritten Grades mit Leitkoeffizient 3. In Beispiel 1.2 wird ein Polynom des Grades 0 mit führendem Koeffizienten 9 und in Beispiel 1.3 ein Polynom ersten Grades mit führendem Koeffizienten 1 abgebildet. Sowohl bei Beispiel 1.2 als auch bei Beipiel 1.3 handelt es sich um Monome.
1.1 Polynome 2 1.1.1 Polynome über Körpern 1.1.1.1 Körper und Polynomringe Definition 1.2 Eine Menge K von Elementen zusammen mit zwei Verknüpfungen + und, die je zwei Elementen x, y K wieder ein Element x + y bzw. x y von K zuordnen heißt Körper, wenn folgende Gesetze erfüllt sind: Gesetze der Addition Assoziativgesetz Für alle a, b, c K gilt (a + b) + c = a + (b + c) Neutrales Element Es existiert 0 K, sodass für alle a K gilt, dass 0 + a = a ist Inverses Element Für alle a K existiert ( a) K, für welches ( a) + a = 0 gilt Kommutativgesetz Für alle a, b K gilt a + b = b + a Gesetze der Multiplikation K := K\{0} Assoziativgesetz Für alle a, b, c K gilt (a b) c = a (b c) Neutrales Element Es existiert 1 K, sodass für alle a K : 1 a = a gilt Inverses Element Für alle a K existiert ( a) K für das (a 1 ) a = 1 gilt Kommutativgesetz Für alle a, b K gilt a b = b a Distributivgesetz Für alle a, b, c K ist a (b + c) = a b + a c und (a + b) c = a c + b c. Beispiele von Körpern sind die rationalen Zahlen Q, die reellen Zahlen R und die komplexen Zahlen C. [2][vgl.S.29ff.]
1.1 Polynome 3 Definition 1.3 Seien f(x) = a n x n +... + a 0 und g(x) = b m x m +... + b 0 Polynome über einen kommutativen Ring R. Indem man die fehlenden Koeffizienten auf Null setzt, kann man g(x) = b n x n +... + b 0 schreiben. Die Summe der Polynome f und g ist (f + g)(x) = (a n + b n )x n +... + (a 0 + b 0 ). Das P rodukt von f und g ist definiert durch (f g)(x) = a n b m x n+m +... + a 0 b 0 = c n+m x n+m +... + c 0 wobei ist. k c k = a i b k i, 0 k n + m i=0 Beispiel. Addition und Multiplikation von Polynomen Für f(x) = x 2 3x + 5 und g(x) = 4x + 2 ergibt sich (f + g)(x) = x 2 + x + 7 und (f g)(x) = 4x 3 10x 2 + 14x + 10. Definition 1.4 Ein Verknüpfungsgebilde (R, +, ) heißt Ring, genau dann wenn (R, +) eine kommutative Gruppe (R, ) ein assoziatives Verknüpfungsgebilde, distributiv bzgl. + ist. Ausgehend von Polynomen mit Koeffizienten in R der Form n P (x) = a i x i = a 0 + a 1 x 1 + a 2 x 2 +... + a n x n i=0 bilden alle diese Polynome einen Ring bezüglich Addition und Multiplikation. [2][vgl. S.177ff.]
1.1 Polynome 4 1.1.1.2 Polynome über Körpern Definition 1.5 Ein Element x R heißt Nullteiler, falls x 0 und ein y R, y 0 existiert mit x y = 0. R heißt nullteilerfrei, falls R keine Nullteiler enthält. Lemma 1.6 Sei K ein Körper. Dann ist der Polynomring K[x] nullteilerfrei. Beweis Für Elemente a, b K gilt stets: Aus a b = 0 folgt a = 0 oder b = 0. Sei also a b = 0 und a 0. So folgt 0 = a 1 0 = a 1 (a b) = (a 1 a) b = b, also b = 0. Körper sind also stets nullteilerfrei. Seien f, g K[x] mit f 0 und g 0. Es seien etwa n m f = a i x i, g = b j x j i=0 j=0 mit a n 0 und b m 0. Dann ergibt sich ( n+m k ) f g = a i b k i x k = a n b m x n+m +... i=0 k=0 Da K nullteilerfrei ist, ist a n b m 0. Daher ist f g 0. Lemma 1.7 Sind f,g K[x], f, g 0, dann gilt deg (f g) = deg f + deg g. Beweis Annahme: Seien f(x) = n i=0 a i x i und g(x) = m i=0 b i x i mit a n, b m 0. Dann gilt f g = (a 0 + a 1 x +... + a n x n ) (b 0 + b 1 x +... + b m x m ) = a 0 b 0 + (a 0 b 1 + a 1 b 0 )x +... + a n b m x n+m Der höchste Exponent von x ist n + m. Deshalb ist deg(f g) = deg(f) + deg g. Theorem 1.8 Seien f, g K[x], g 0. Dann gibt es eindeutig bestimmte Polynome q, r K[x] mit f = qg + r und r = 0 oder deg r < deg g. Beweis Ist f = 0, so setze q = r = 0. Sei also f 0. Setze q = 0 und r = f, wenn deg g > deg f. Also können wir annehmen, dass deg g deg f ist. Die Existenz von q und r wird durch Induktion über den Grad von f bewiesen. Ist deg f = 0, so folgt deg g = 0. Daraus folgt, dass f, g K sind und man q = f g und r = 0 setzen kann. Sei deg f = n > 0, deg g = m, n m und
1.1 Polynome 5 Setze f(x) = a n x n +... + a 0, g(x) = b m x m +... + b 0. f 1 = f an b m x n m g Dann ist entweder f 1 = 0 oder deg f 1 < deg f. Nach Induktionsvoraussetzung gibt es Polynome q 1 und r mit f 1 = q 1 g + r und r = 0 oder deg r < deg g. Daraus folgt f = f 1 + an b m x n m g = ( a n b m x n m + q 1 ) g + r. Die Polynome q = ( ) a n b m x n m + q 1 und r von oben erfüllen die Behauptung. Es muss nun noch die Eindeutigkeit bewiesen werden. Seien f = qg + r = q g + r zwei Darstellungen wie im Satz. Dann ist (q q )g = r r. Ist r = r, folgt daraus q = q, weil g 0 und K[x] nullteilerfrei ist. Ist r r, so ist q q 0 und wegen deg g > deg r und deg g > deg r gilt nach Lemma 1.4 auch deg (q q )g > deg (r r). Dies geht aber nicht, weil (q q )g = r r ist. Beispiel Aus dem Beweis des Theorems 1.8 erhält man einen Algorithmus, der es ermöglicht ein Polynom durch ein anderes mit Rest zu dividieren. Sei f(x) = x 2 + x + 1 und g(x) = x 2 + x. Es wird zuerst r = f und q = 0 gesetzt. Da in diesem Beispiel r 0 und deg r = deg g ist, wird nur eine Iteration zur Lösung benötigt. Es wird h(x) = ( 1 1 )xdeg r deg g = 1. Um den höchsten Exponenten von r zu eliminieren wird r durch r hg = 1 und q durch q + h = x + 1 ersetzt. Nun ist 0 = deg r < deg g = 2. Somit wurde der Quotient q = 1 und der Rest r = 1 ermittelt. Aus Theorem 1.8 erhält man folgende Konsequenz: Korollar 1.1 Ist f ein von Null verschiedenes Polynom in K[x] und ist a eine Nullstelle von f, dann ist f = (x a)q mit q K[x], d.h. f ist durch das Polynom x a teilbar. Beweis Aus Theorem 1.8 folgt, dass es Polynome q, r K[x] mit f = (x a)q + r und r = 0 oder deg r < 1 gibt. Daraus folgt 0 = f(a) = r, also f = (x a)q. Korollar 1.2 Ein Polynom f K[x] mit f 0 hat höchstens deg f viele Nullstellen.
1.1 Polynome 6 Beweis Beweis durch Induktion über n = deg f. Für n = 0 ist die Behauptung wahr, denn f K und f 0. Hat f also keine Nullstelle, ist die Behauptung wahr. Hat f eine Nullstelle a, so gilt nach Korollar 1.1 f = (x a)q für ein Polynom q mit deg q = n 1. Dann hat q nach Induktionsvoraussetzung höchstens n 1 Nullstellen. Da K keine Nullteiler enthält, hat f also höchstens n Nullstellen. Beispiel Wir betrachten das Polynom f = x 2 + [1] (Z/2Z)[x] Dann besitzt f in Z/2Z nur die Nullstelle 1. Laut obengenannten Korollar kann es maximal zwei Nullstellen besitzen.
2 Endliche Körper 2.1 Endliche Körper Endliche Körper spielen eine wichtige Rolle in der Zahlentheorie, algebraischen Geometrie, Kryptographie und der Codierungstheorie. Theorem 2.1 Der Restklassenring Z/pZ ist genau dann ein Körper, wenn p eine Primzahl ist. Beweis Sei [0] p [x] p Z/pZ. Wir nehmen an, dass p eine Primzahl ist. Dann ist x nicht durch p teilbar, woraus folgt, dass ggt(x, p) = 1 ist. Gemäß dem Euklidischen Algorithmus gibt es eine Darstellung α x + β p = 1 mit α, β Z. Übergang zu Restklassen liefert wegen [p] p = [0] p, dass [α] p [x] p = [1] p und [x] p somit in Z/pZ ein multiplikativ Inverses besitzt. Es wird umgekehrt angenommen, dass Z/pZ ein Körper ist und p = a b mit a, b 1 ist. Es folgt [0] p = [a b] p = [a] p [b] p. Einer der Faktoren muss wegen der Körpereigenschaften [0] sein. Wir können also ohne Einschränkung annehmen, dass [a] p = [0] p ist. Folglich gilt p a. Dies ergibt zusammen mit a p den Schluss p = a und b = 1. Daraus folgend muss p eine Primzahl sein. [4] Beispiel Sei p = 6. Es gilt [2] 6 [0] 6 [3] 6, da weder 2 noch 3 ganzzahlige Vielfache von 6 sind. Allerdings gilt [2] 6 [3] 6 = [2 3] 6 = [0] 6. Folglich ist Z/6Z kein Körper. Definition 2.2 Ein endlicher Körper ist ein Körper mit endlicher Grundmenge. 2.1.1 Konstruktion endlicher Körper Im Folgenden wird anhand eines konkreten Beispiels genauer erläutert, wie man zu jeder Primzahl p und jeder natürlichen Zahl n einen endlichen Körper mit p n Elementen konstruieren kann. Dieser Körper ist bis auf Isomorphie eindeutig bestimmt und wird mit GF(p n ) bezeichnet.
2.1 Endliche Körper 8 Tabelle 2.1: Addition in GF(4) + 0 1 a a + 1 0 0 1 a a + 1 1 1 0 a + 1 a a a a + 1 0 1 a + 1 a + 1 a 1 a Tabelle 2.2: Multiplikation in GF(4) 1 a a + 1 1 1 a a + 1 a a a + 1 1 a + 1 a + 1 1 a Bereits bekannt aus Theorem 2.1 ist, dass Z/pZ ein Körper mit p Elementen ist. Bezeichnet wird dieser mit GF(p) und er heißt Primkörper. Die Primzahl p heißt Charakteristik des Körpers GF(p n ). Die klassische Konstruktion eines solchen endlichen Körpers mit p n Elementen erfolgt durch Bildung eines geeigneten Restklassenrings aus dem zugehörigen Polynomring. Dazu muss ein irreduzibles Polynom gewählt werden. Definition 2.3 Ein Polynom f (Z/pZ)[X] ist irreduzibel, wenn sein Grad 1 ist und man es nicht als Produkt f = gh schreiben kann, wobei g und h Polynome in (Z/pZ)[X] sind, deren Grad > 0 ist. Beispiel Im Folgenden identifizieren wir zum Beispiel die Restklasse [a] mit a für a {0, 1}. Konstruiert wird ein Körper K aus vier Elementen. Dazu wird von (Z/pZ)[X] mit p = 2 ausgegangen. Um K zu konstruieren, wird ein irreduzibles Polynom vom Grad 2 benötigt. Ein solches ist zum Beispiel f = 1 + x + x 2, denn dieses Polynom kann nicht als Produkt zweier Polynome aus K vom Grad 1 beschrieben werden, denn sonst hätte f eine Nullstelle in Z/2Z, aber es ist f(0) f(1) 1 mod 2. Der Restklassenring K = (Z/2Z)[x]/f besteht aus den Restklassen der Polynome 0, 1, x und 1 + x. Die Restklasse x + (Z/2Z)[x] wird im folgenden mit a bezeichnet. Die Addition und die Multiplikation dieser Elemente beschreiben die Verknüpfungstabellen 2.1 und 2.2. [3][vgl. S.13ff.]
2.1 Endliche Körper 9 Tabelle 2.3: Addition in GF(3) + 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 Tabelle 2.4: Multiplikation in GF(7) 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 1 3 5 3 3 5 2 5 1 4 4 4 1 5 2 6 3 5 5 3 1 6 4 2 6 6 5 4 3 2 1 Konkretes Zahlenbeispiel siehe Tabellen 2.3 und 2.4 Genauere Erklärung zum Rechnen im GF(4) Das GF(4) ist ein Körper und besteht genau aus den Restklassen der vier Polynomen 0, 1, x, x + 1 vom Höchstgrad 1 mit Koeffizient aus Z/2Z, also GF(4) = {nx + m n, m Z/2Z}. Addition und Multiplikation in GF(4) sind wie die normale Addition und Multiplikation von Polynomen erklärt, wobei hier natürlich bei der Berechnung der Koeffizient modulo 2 gerechnet wird und die bei der Multiplikation entstehenden Polynome höheren Grades modulo des irreduziblen Polynoms f(x) = x 2 + x + 1 reduziert werden, um wieder in GF(4) zu liegen. Beispiel a + (a + 1) = 2a + 1 modulo 2 1 a a = a 2 modulo f (a + 1) 2.1.2 Struktur der Einheitengruppe endlicher Körper Untersucht wird die Einheitengruppe K eines endlichen Körpers. Es wird bewiesen, dass diese immer zyklisch ist und daher für die Kryptographie besonders interessant ist, weil dort Gruppen von Elementen mit hoher Ordnung benötigt werden. Bereits bekannt sind die endlichen Körper Z/pZ für Primzahlen p mit der Einheitengruppe p 1.
2.1 Endliche Körper 10 Allgemein gilt: Die Einheitengruppe K eines Körpers K mit q Elementen besitzt die Ordnung q 1, da alle Elemente außer 0 Einheiten sind. Theorem 2.4 Sei K ein endlicher Körper mit q Elementen. Dann gibt es für jeden Teiler d von q 1 genau ϕ(d) Elemente der Ordnung d in der Einheitengruppe K. Beweis Sei d ein Teiler von q 1. Die Anzahl der Elemente der Ordnung d in K wird mit ψ(d) bezeichnet. Angenommen wird, dass ψ(d) > 0. Wir zeigen, dass unter dieser Voraussetzung ψ(d) = ϕ(d) gilt. Sei a ein Element der Ordnung d in K. Die Potenzen a e, 0 e < d, sind paarweise verschieden und alle Nullstellen des Polynoms x d 1. Im Körper K gibt es nach Korollar 1.2 höchstens d Nullstellen dieses Polynoms. Somit besitzt das Polynom genau d Nullstellen, welche die Potenzen von a sind. Nun ist aber jedes Element von K der Ordnung d eine Nullstelle von x d 1 und daher eine Potenz von a. Die Potenz a e hat genau dann die Ordnung d, wenn ggt(d, e) = 1 ist. Also ist bewiesen, dass aus ψ(d) > 0 folgt, dass ψ(d) = ϕ(d) ist. Zu zeigen ist noch, dass ψ(d) > 0 ist. Durch die Annahme, dass ψ(d) = 0 für einen Teiler d von q 1 ist, gilt q 1 = d q 1 ψ(d) < d q 1 ϕ(d). Dies widerspricht allerdings der Eigenschaft der Eulerschen ϕ-funktion, welche besagt, dass d m,d>0 ϕ(d) = q 1. Aus dem gerade bewiesenen Theorem folgt: Korollar 1.3 Ist K endlicher Körper mit q Elementen, so ist die Einheitengruppe K zyklisch von der Ordnung q 1. Sie hat genau ϕ(q 1) Erzeuger. 2.1.3 Struktur der primen Restklasse Durch Korollar 1.3 wird folgendes Resultat erlangt: Korollar 1.4 Sei p eine Primzahl. Die prime Restklassengruppe mod p ist zyklisch von der Ordnung p 1. Definition 2.5 Sei p eine Primzahl. Eine ganze Zahl a, für die die Restklasse a + pz die prime Restklassengruppe (Z/pZ) erzeugt, heißt Primitivwurzel mod p.
2.1 Endliche Körper 11 Beispiel Für p = 7 ist p 1 = 6, es werden die Ordnungen aller Elemente von (Z/7Z) = {1, 2, 3, 4, 5, 6} berechnet. x x 2 x 3 x 4 x 5 x 6 ord(x) 1 1 2 4 1 3 3 2 6 4 5 1 6 4 2 1 3 5 4 6 2 3 1 6 6 1 2 Aus der Tabelle kann man entnehmen, dass 3 und 5 Primitivwurzeln modulo 7 sind.
3 Literaturverzeichnis [1 ] Buchmann, Johannes: Einführung in die Kryptographie, 6., überarbeitete Auflage, Springer: Berlin, Heidelberg, 2016 [2 ] Beutelsbacher, Albrecht: Lineare Algebra - Eine Einführung in die Wissenschaft der Vektoren, Abbildungen und Matrizen, 8. Auflage, Springer Fachmedien Wiesbaden, 2014 [3 ] Betten, Anton; Fripertinger, Harald; Kerber; Adalbert, Wassermann, Alfred; Zimmermann, Karl-Heinz: Codierungstheorie - Konstruktion und Anwendung linearer Codes, Springer: Berlin Heidelberg, 1998 [4 ] http://math-www.upb.de/mathei_02/vorl/woche_14.pdf