Stefan Lucks Diskrete Strukturen (WS 2009/10) – 120 – 4: Algebraische Strukturen / Gruppen Definition 46 Sei G eine nichtleere Menge. Eine Funktion ◦:G×G →G bezeichnen wir als Verknüpfung auf G. Das Paar (G, ◦) bezeichnen wir als Gruppoid. Statt “◦(a, b)” können wir auch “a ◦ b” schreiben. Wenn klar ist, welche Verknüpfung ◦ wir meinen, schreiben wir auch “G” statt “(G, ◦).” 4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) – 121 – Halbgruppe, Monoid Definition 47 I Gilt für alle a, b, c in dem Gruppoid (G, ◦) die Beziehung a ◦ (b ◦ c) = (a ◦ b) ◦ c, I dann heißt ◦ assoziativ, und (G, ◦) ist eine Halbgruppe. Gibt es in der Halbgruppe G ein e, so dass für alle a ∈ G gilt e ◦ a = a ◦ e = a, dann heißt e neutrales Element, und G ist ein Monoid. Satz 48 (Eindeutigkeit des neutralen Elements) In einer Halbgruppe gibt es höchstens ein neutrales Element. 4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) Gruppe Definition 49 Sei (G, ◦) ein Monoid mit neutralem Element e. I Gibt es zu jedem a in G ein Inverses a in G mit a ◦ a = e, I dann ist G eine Gruppe. Die Ordnung einer Gruppe ist die Anzahl |G| ihrer Elemente. 4: Algebraische Strukturen / Gruppen – 122 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Eindeutigkeit der Inversen Satz 50 In einem Monoid gibt es zu jedem Element höchstens ein Inverses. Hat x ein Inverses x −1 , dann ist x selbst das Inverse von x −1 . (Beweis: Übungsaufgabe) 4: Algebraische Strukturen / Gruppen – 123 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 124 – Kommutative Gruppen Definition 51 Ist (G, ◦) eine Gruppe, und ist ◦ kommutativ, d.h., gilt für alle a, b ∈ G a◦b =b◦a dann nennen wir (G, ◦) kommutativ (oder abelsch). Andernfalls nennen wir (G, ◦) nicht-kommutativ (nicht-abelsch). Analog dazu definiert man kommutative Halbgruppen und Monoide. 4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) Untergruppen Definition 52 Sei (G, ◦) eine Gruppe. Wir nennen (U, ◦) Untergruppe von (G, ◦) (Schreibweise “(U, ◦) ≤ (G, ◦)”, bzw. “U ≤ G”), wenn gilt: 1. U ⊆ G und 2. (U, ◦) ist selbst eine Gruppe. Ist e das neutrale Element von G, dann sind {e} und G triviale Untergruppen von G. Alle anderen Untergruppen sind nichttrivial. 4: Algebraische Strukturen / Gruppen – 125 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 126 – Untergruppen von Untergruppen Satz 53 (Transitivität der Untergruppeneigenschaft) Ist V ≤ U ≤ T eine Kette von Untergruppen, dann gilt auch V ≤ T . Beweis. Um nachzuweisen, dass V eine Untergruppe von T ist, müssen wir zwei Eigenschaften von V nachweisen: 1. V ⊆ T und 2. V ist eine Gruppe. Die erste Eigenschaft folgt der Transitivität der Untermengeneigenschaft: V ⊆ U ⊆ T ⇒ V ⊆ T . Weil V eine Untergruppe von U ist, ist V insbesondere selbst eine Gruppe. Also gilt auch die zweite Eigenschaft. 4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) – 127 – Nachweis der Untergruppen-Eigenschaft Sei (G, ◦) eine Gruppe mit neutralem Element e und U ⊆ G. Wie können wir U ≤ G beweisen – oder ggf. widerlegen? U muss die Eigenschaften einer Gruppe haben: I I Assoziativität: Weil G eine Gruppe ist, gilt für alle a, b, c ∈ G gilt (a ◦ b) ◦ c = a ◦ (b ◦ c). Dann gilt das erst recht für alle a, b, c ∈ U (das brauchen wir nicht extra nachzuweisen). Es gilt U ≤ G genau dann, wenn U eine Gruppe ist, d.h., wenn die folgenden drei Bedingungen gelten: 1. Abgeschlossenheit: ∀u, v ∈ U: u ◦ v ∈ U. 2. Neutrales Element: e ∈ U. 3. Inverse Elemente: ∀u ∈ U: u −1 ∈ U. I Mögliche Zusatz-Eigenschaft (Kommutativität): Ist G kommutativ, und U ≤ G, dann ist U erst recht kommutativ. 4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) Beispiele (1) – additive Gruppoide I I I I I I I (N, −) und (N0 , −) sind keine Gruppoiden. (Z, −) ist ein Gruppoid, aber keine Halbgruppe. (N, +) ist eine Halbgruppe, aber kein Monoid. (N0 , +) ist ein Monoid mit neutr. El. 0, aber keine Gruppe. (Z, +) ist eine Gruppe mit neutr. El. 0. Sei mZ = {a ∈ Z : ∃k ∈ Z : a = km}. Dann ist (mZ, +) ist eine Gruppe. (Beweis!) Es gilt (mZ, +) ≤ (Z, +). Ist n|m, dann ist (mZ, +) ≤ (nZ, +). (Beweis!) 4: Algebraische Strukturen / Gruppen – 128 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Achtung: Mögliches Missverständnis! (Zn , +) ist eine Gruppe – aber keine Untergrupe von (Z, +). Erklärung: I I I I Zn ist “die Menge aller Restklassen modulo n”. Die Restklasse von a mod n ist {kn + a|k ∈ Z} ⊆ Z. Eine Restklasse ist keine Zahl, sondern eine Menge von Zahlen! Trotz gleicher Schreibweise und gleichen Namens: Die Addition in Z und die Addition in Zn sind verschiedene Operationen! 4: Algebraische Strukturen / Gruppen – 129 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Isomorphie von Gruppen Definition 54 Zwei Gruppen (G, ◦) und (H, ) sind isomorph (zueinander), falls es eine Permutation π : G → H gibt, so dass a, b ∈ G gilt: π(a ◦ b) = π(a) π(b). In diesem Fall bezeichnen wir π als Isomorphismus von (G, ◦) und (H, ). Beispiel: I I Jede Gruppe ist isomorph zu sich selbst. Die Gruppen (Z, +) und (mZ, +) sind isomorph. (Was ist ein Isomorphismus von (Z, +) und (mZ, +)?) 4: Algebraische Strukturen / Gruppen – 130 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Beispiele (2) – multiplikative Gruppoide I I I I (N0 , ∗), (N, ∗) und (Z, ∗) sind Monoide mit neutr. El. 1, aber keine Gruppen. (Q\{0}, ∗) ist eine Gruppe mit neutr. El. 1. (Zn , ∗) ist keine Gruppe. (Warum nicht?) Unter welchen Umständen ist (Zn \{0}, ∗) eine Gruppe? 4: Algebraische Strukturen / Gruppen – 131 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 132 – 4.1: Die Inversen in einem Monoid Sei (G, ◦) ein Monoid mit neutralem Element e. Die Menge der Inversen in G ist G∗ = {a ∈ G|∃a : a ◦ a = a ◦ a = e} Satz 55 1. (G∗ , ◦) ist eine Gruppe. 2. Wenn (G, ◦) kommutativ ist, dann ist auch (G∗ , ◦) kommutativ. (Wegen G∗ ⊆ G sind Assoziativität und, ggf., Kommutativität klar, und das neutrale Element e ∈ G∗ . Noch z.z.: Inverse Elemente, Abgeschlossenheit.) 4: Algebraische Strukturen / Gruppen 4.1: Die Inversen in einem Monoid Stefan Lucks Diskrete Strukturen (WS 2009/10) – 133 – Die Gruppe (Z∗n , ∗) Sei n ∈ N. Die Menge der Inversen in Zn ist Z∗n = z ∈ Zn |∃z ∈ G : z(z −1 ) = (z −1 )z = 1 . Es gilt: Z∗n = {z ∈ Zn |ggT(z, n) = 1}. (Warum?) Algebraische Eigenschaften von Zn und Z∗n : I I I I (Zn , +) ist eine Gruppe. (Wissen wir bereits.) (Zn , ∗) ist keine Grupppe. (Wissen wir auch schon.) (Z∗n , +) ist keine Gruppe. (Denn 0 6∈ Z∗n wäre das neutr. El.) (Z∗n , ∗) ist eine kommutative Gruppe. (Gerade bewiesen!) 4: Algebraische Strukturen / Gruppen 4.1: Die Inversen in einem Monoid Stefan Lucks Diskrete Strukturen (WS 2009/10) – 134 – Wie viele Elemente hat Z∗n ? Definition 56 (Eulersche ϕ-Funktion) Sei n ∈ N, dann ist ϕ(n) = |Z∗n | die Ordnung von Z∗n . Satz 57 1. Sei p prim. Dann gilt ϕ(pr ) = pr −1 (p − 1) für r ∈ N. Insbesondere ist ϕ(p) = p − 1. 2. Seien q1 und q2 teilerfremd. Dann gilt ϕ(q1 q2 ) = ϕ(q1 )ϕ(q2 ). Folgerung (→ RSA) Seien p 6= q Primzahlen. Dann gilt ϕ(p ∗ q) = (p − 1)(q − 1). 4: Algebraische Strukturen / Gruppen 4.1: Die Inversen in einem Monoid Stefan Lucks Diskrete Strukturen (WS 2009/10) 4.2: Verknüpfungstafeln: Sudoku für Mathematiker Ist G = {g1 . . . , gn } eine endliche Gruppe, kann man eine Verknüpfung ◦ durch Angabe aller n2 Werte gi ◦ gj festlegen. Definition 58 Eine Verknüpfungstafel ist eine Tabelle, die für alle Elemente g1 , . . . , gn einer endlichen Gruppe G den Wert gi ◦ gj in Zeile i und Spalte j enthält. 4: Algebraische Strukturen / Gruppen 4.2: Sudoku für Mathematiker ◦ g1 .. . g1 · · · gj · · · gi .. . ··· .. . gi ◦ gj gn gn – 135 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 136 – Eigenschaften von Verknüpfungstafeln Satz 59 Ist (G, ◦) eine endliche Gruppe, dann tritt in jeder Zeile und jeder Spalte der Verknüpfungstafel jeder Wert gi ∈ G genau einmal auf. Satz 60 Eine endliche Halbgruppe ist genau dann kommutativ, wenn die zugehörige Verknüpfungstafel spiegelsymmetrisch bezüglich der Hauptdiagonalen (von links oben nach rechts unten) ist. 4: Algebraische Strukturen / Gruppen 4.2: Sudoku für Mathematiker Stefan Lucks Diskrete Strukturen (WS 2009/10) Beispiele Für (Z4 , +): + 0 1 2 0 0 1 2 1 1 2 3 2 2 3 0 3 3 0 1 3 3 0 1 2 Für (Z5 − {0}, ∗): ∗ 1 2 3 4 1 1 2 3 4 2 2 4 1 3 3 3 1 4 2 4 4 3 2 1 Für (Z4 , ⊕): ⊕ 0 1 2 0 0 1 2 1 1 0 3 2 2 3 0 3 3 2 1 3 3 2 1 0 In(Z4 , ⊕) identifizieren wir Elemente a ∈ Z4 mit (b, c) ∈ Z22 und ⊕ mit der elementweisen Addition mod 2 (→ Tafel). Zwei dieser Gruppen sind isomorph zueinander, die dritte ist nicht isomorph zu den beiden anderen. (Welche und warum?) Alle Beispiele (bisher): Kommutative (Halb-)Gruppen. Gibt es überhaupt nicht-kommutative (Halb-)Gruppen? 4: Algebraische Strukturen / Gruppen 4.2: Sudoku für Mathematiker – 137 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 138 – 4.3: Freie Halbgruppe und Freier Monoid Programmiersprachliches Beispiel: String s = ”struk” + ”turen”; Der Formalismus: Sei A eine endliche Menge. Wir definieren I I I die Menge Ai : {(a1 , a2 , . . . , ai )|ai ∈ A}, die Menge A+ = A1 ∪ A2 ∪ A3 ∪ · · · und die Operation || : Ai × Aj → Ai+j , (a1 , a2 , . . . , ai )||(b1 , b2 , . . . , bj ) = (a1 , a2 , . . . , ai , b1 , b2 , . . . , bj ). Das gleiche Beispiel, im Rahmen des Formalismus: A = A1 = {’a’, . . . , ’z’}, A2 = {(’a’,’a’), (’a’,’b’), . . . (’z’,’z’)}, . . . (0 s0 ,0 t 0 ,0 r 0 ,0 u 0 ,0 k 0 ) || (0 t 0 ,0 u 0 ,0 r 0 ,0 e0 ,0 n0 ) = (0 s0 ,0 t 0 ,0 r 0 ,0 u 0 ,0 k 0 ,0 t 0 ,0 u 0 , . . .) 4: Algebraische Strukturen / Gruppen 4.3: Freie Halbgruppe und Freier Monoid Stefan Lucks Diskrete Strukturen (WS 2009/10) Die Freie Halbgruppe (A+, ||) I I I (A+ , ||) ist nicht-kommutativ. (Warum nicht?) (A+ , ||) ist eine Halbgruppe. (Warum?) (A+ , ||) ist kein Monoid. (Warum nicht?) 4: Algebraische Strukturen / Gruppen 4.3: Freie Halbgruppe und Freier Monoid – 139 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 140 – Der Freie Monoid (A∗, ||) Programmiersprachliches Beispiel: String e = ””; Sei A0 die Menge, die nur den leeren String “()” als Element enthält, und sei A∗ = A0 ∪ A+ . Dann gilt: I I I (A∗ , ||) ist eine nicht-kommutative Halbgruppe. (Klar!) (A∗ , ||) sogar ein nicht-kommutativer Monoid (mit “()” als dem neutralen Element). ∗ (A , ||) ist keine Gruppe. (Warum nicht?) 4: Algebraische Strukturen / Gruppen 4.3: Freie Halbgruppe und Freier Monoid Stefan Lucks Diskrete Strukturen (WS 2009/10) – 141 – 4.4: Die Symmetrischen Gruppen Sn Sei S3 die Menge der Permutationen {1, 2, 3} → {1, 2, 3}. Achtung: I I I S3 bezeichnet Funktionen {1, 2, 3} → {1, 2, 3}, die außerdem auch noch umkehrbar sind. Man verwechsele S3 nicht mit dem Definitions- und Wertebereich dieser Funktionen, denn Sn 6= {1, 2, 3}!!! Wie wir gleich sehen werden, enthält S3 nicht drei sondern sechs Elemente. 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) – 142 – Die Elemente von S3 I I I Die “Identität” e: e(i) = i. Drei Vertauschungen von genau zwei Elementen (1, 2), (1, 3), (2, 3). Z.B. (1, 2)(1) = 2, (1, 2)(2) = 1 und (1, 2)(3) = 3. Zwei zyklische Vertauschungen aller drei Elemente: (1, 2, 3) und (1, 3, 2). Z.B. (1, 2, 3)(1) = 2, (1, 2, 3)(2) = 3 und (1, 2, 3)(3) = 1. (Man suche nach anderen Permutationen {1, 2, 3} → {1, 2, 3}!) 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) – 143 – S3 als nicht-kommutative Halbgruppe I I I I Für x ∈ {1, 2, 3} definieren wir (a ◦ b)(x) = b(a(x)). Sind a und b Permutationen, dann ist auch (a ◦ b) eine Permutation. Also ist ◦ eine Verknüpfung über S3 – und S3 damit ein Gruppoid. ((a ◦ b) ◦ c)(x) und (a ◦ (b ◦ c))(x) werden gleichermaßen zu c(b(a(x))) aufgelöst. Also ist ◦ assoziativ, und Sn eine Halbgruppe. Beispiel-Berechnungen: 1. ((1, 2) ◦ (1, 2, 3)) = (1, 3). 2. ((1, 2, 3) ◦ (1, 2)) = (2, 3). Das Beispiel zeigt: Sn nicht-kommutativ! 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) S3 ist ein nicht-kommutativer Monoid I Die Identität e ist ein neutrales Element in S3 : a ◦ e = e ◦ a = a. I I Also ist Sn ein nicht-kommutativer Monoid. Ist S3 vielleicht sogar eine nicht-kommutative Gruppe? 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn – 144 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 145 – Ist S3 eine nicht-kommutative Gruppe? Um nachzuweisen, dass S3 sogar eine Gruppe ist, müssen wir zeigen, dass für alle π ∈ S3 ein Inverses π −1 mit π ◦ π −1 = e existiert. I I I I Die Identität e ist selbstinvers: e ◦ e = e. Vertauschungen von genau zwei Elementen sind selbstinvers: (1, 2) ◦ (1, 2) = e, (1, 3) ◦ (1, 3) = e und (2, 3) ◦ (2, 3) = e. Leider ist die zyklische Vertauschung von drei Elementen nicht selbstinvers: (1, 2, 3) ◦ (1, 2, 3) = (1, 3, 2) und (1, 3, 2) ◦ (1, 3, 2) = (1, 2, 3). Kann S3 trotzdem eine Gruppe sein? 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) – 146 – Ist S3 eine nicht-kommutative Gruppe? (Ja!) I Die einzigen beiden Elemente aus S3 , zu denen wir noch kein Inverses kennen, sind (1, 2, 3) und (1, 3, 2). (1, 2, 3) ◦ (1, 3, 2) = (1, 3, 2) ◦ (1, 2, 3) = e. Ja! S3 ist eine nicht-kommutative Gruppe! I Das Inverse einer Permutation ist selbst eine Permutation. Deshalb muss “die Menge aller Permutationen” über einer Menge zu jeder Permutation π immer auch die Inverse Permutation π −1 enthalten. 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) Die Verknüpfungstafel von (S3, ◦) ◦ e (12) (13) (23) (123) (132) e e (12) (13) (23) (123) (132) 4: Algebraische Strukturen / Gruppen (12) (12) e (123) (132) (13) (23) (13) (23) (123) (13) (23) (123) (132) (123) (23) e (132) (12) (123) e (13) (23) (12) (132) (12) (13) e 4.4: Die Symmetrischen Gruppen Sn (132) (132) (13) (23) (12) e (123) – 147 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 148 – Die Symmetrischen Gruppen Sn S3 ist nur ein Beispiel aus einer großen Menge von Gruppen. 1. Für jedes n ∈ N ist die Symmetrische Gruppe Sn die Menge aller Permutationen über {1, . . . , n} mit dem Hintereinanderausführen als Verknüpfung. 2. Für jedes n ∈ N ist Sn tatsächlich eine Gruppe. (Warum?) 3. Sn ist eine Untergruppe von Sn+1 . (Siehe nächste Folie!) 4. S1 und S2 sind kommutativ. (Warum?) 5. Für n ≥ 3 ist Sn nicht kommutativ. (Warum nicht?) 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) Eigenschaften von Sn Satz 61 Ist i ≥ 1, i ≤ n, dann ist Si eine Untergruppe von Sn . (Wie man leicht sieht: Si ⊆ Sn . Da Si selbst eine Gruppe ist, folgt Si ≤ Sn .) Satz 62 Die Anzahl aller Permutationen über einer n-elementigen Menge, und damit die Anzahl aller Elemente von Sn ist n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 2 ∗ 1. (Beweis durch Induktion nach n.) 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn – 149 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 150 – Zyklen Definition 63 Seien a0 , a1 , . . . , aj−1 ∈ {1, 2, . . . n} paarweise verschieden. Ein Zyklus ist eine Abbildung (a0 , a1 , . . . , aj−1 ) ∈ Sn mit I a0 , a1 , . . . , aj − 1 ai = ai + 1 mod j und n o I a0 , a1 , . . . , aj − 1 x = x für x 6∈ a0 , a1 , . . . , aj − 1 . Zwei Zyklen (a0 , . . . , aj−1 ) und (b0 , . . . , bk −1 ) sind disjunkt, wenn die Mengen {a0 , . . . , aj−1 }und{b0 , . . . , bk −1 } disjunkt sind. Die Verknüpfung von disjunkten Zyklen (a0 , . . . , aj−1 ) und (b0 , . . . , bk −1 ) ist sogar kommutativ: (a0 , . . . , aj−1 ) ◦ (b0 , . . . , bk −1 ) = (b0 , . . . , bk −1 ) ◦ (a0 , . . . , aj−1 ). (Warum?) 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) – 151 – Die Darstellung von Elementen aus Sn Satz 64 Jedes Element einer Symmetrischen Gruppe Sn kann man als Verknüpfung von disjunkten Zyklen darstellen. Bis auf die Reihenfolge der Zyklen ist diese Darstellung eindeutig. Bemerkung Man beachte, dass ein Zyklus selbst unterschiedlich dargestellt werden kann. Z.B. ist (123) = (231) = (312). 4: Algebraische Strukturen / Gruppen 4.4: Die Symmetrischen Gruppen Sn Stefan Lucks Diskrete Strukturen (WS 2009/10) – 152 – 4.5: Zyklische und endliche Gruppen Definition 65 Sei (G, ◦) eine Gruppe mit neutralem Element e. Für x ∈ G und z ∈ Z definieren wir x ◦ (x z−1 ) falls z ≥ 1, z e falls z = 0 und x = 1/x −z falls z ≤ −1. Sei x ∈ G. Das kleinste n ∈ N mit x n = e bezeichnen wir als die Ordnung von x. Gibt es kein solches n ∈ N, dann ist die Ordnung von x unendlich. G heißt zyklisch, falls es ein a ∈ G gibt mit G = {az |z ∈ Z}. Ein solches a ∈ G nennen wir Erzeuger oder Generator von G. 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) – 153 – Zyklische Gruppen, die wir bereits kennen I I (Z, +) ist zyklisch und von unendlicher Ordnung. Die einzigen Generatoren sind 1 und −1. (Zn , +) ist zyklisch von der Ordnung n ∈ N. (Was sind die Generatoren von (Zn , +)?) 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) – 154 – Eigenschaften zyklischer Gruppen Satz 66 1. Alle zyklischen Gruppen sind kommutativ. 2. Ist die Gruppe G von endlicher Ordnung n, dann ist die Ordnung eines jeden Elements ein Teiler von n. 3. Ist G eine Gruppe und x ∈ G dann ist hxi = {g z |z ∈ Z} eine Untergruppe von G. Man kann sogar zeigen, dass alle zyklischen Gruppen isomorph zu einer der Gruppen Z bzw. Zn sind. Beispiel: Ist p prim, dann ist (Zp \{0}, ∗) eine zyklische Gruppe der Ordnung p − 1, und damit isomorph zu (Zp−1 , +). (Für p = 5 hatten wir diese Isomorphie schon beobachtet.) 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) Gruppen, die nicht zyklisch sind 1. Für n ≥ 3 sind die Symmetrischen Gruppen Sn nicht zyklisch (sie sind ja nicht einmal kommutativ). 2. Wie wir noch sehen werden, haben sie jedoch zyklische Untergruppen . . . 3. Die bereits bekannte Gruppe (Z4 , ⊕) ist ebenfalls nicht zyklisch, denn die Ordnung der Elemente 1, 2 und 3 ist jeweils 2. (Die Ordnung des neutralen Elements 0 ist ohnehin 1.) ⊕ 0 1 2 3 0 0 1 2 3 1 1 0 3 2 2 2 3 0 1 3 3 2 1 0 4. Aber: Alle x ∈ Z4 können wir durch die Verknüpfung von Elementen aus h1i und h2i generieren: 0 = 10 ⊕ 20 , 1 = 11 ⊕ 20 , 2 = 10 ⊕ 21 , 3 = 11 ⊕ 21 . 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen – 155 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Ein neuer Blick auf S3 ◦ e (12) (13) (23) (123) (132) e e (12) (13) (23) (123) (132) (12) (12) e (123) (132) (13) (23) (13) (23) (123) (13) (23) (123) (132) (123) (23) e (132) (12) (123) e (13) (23) (12) (132) (12) (13) e (132) (132) (13) (23) (12) e (123) Nichttriviale zyklische Untergruppen von S3 : I h(12)i = {e, (12)}, h(13)i = {e, (13)}, h(23)i = {e, (23)}, I h(123)i = {e, (123), (123)} = h(132)i. Jedes Element aus S3 lässt sich in der Form (12)i ◦ (123)j schreiben, i ∈ {0, 1}, j ∈ {0, 1, 2}: I I (13) = (12)1 ◦ (123)1 (23) = (12)1 ◦ (123)2 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen – 156 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Das direkte Produkt von zwei Gruppen Definition 67 Für zwei Gruppen (G, ◦) und (H, ) ist das direkte Produkt (G × H, ∗) definiert durch die Grundmenge G × H und die Operation ∗ : (G × H) × (G × H) → G × H mit (a, b) ∗ (c, d) = ((a ◦ c), (b d)). Satz 68 (G × H, ∗) ist eine Gruppe. Wenn eG ∈ G und eH ∈ H die neutralen Elemente in G bzw. H sind, dann ist (eG , eH ) das neutrale Element in G × H. (G, {eH }) und ({eG }, H) sind Untergruppen von G × H. (Beweis: Übungsaufgabe) 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen – 157 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Beispiele Man kann zeigen, dass I I S3 isomorph ist zu h(12)i × h(123)i und (Z4 , ⊕) isomorph zu h1i × h2i. 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen – 158 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 159 – Das dir. Produkt endlich vieler Gruppen Definition 69 Für k ∈ N ist das direkte Produkt G1 × G2 × . . . × Gk von k Gruppen Gi , jeweils mit der Verknüpfung ∗i , definiert durch die Grundmenge G = G1 × G2 × . . . × Gk und die Operation ∗ : G × G → G mit (a1 , . . . , ak ) ∗ (b1 , . . . , bk ) = ((a1 ∗1 b1 ), . . . (ak ∗k bk )). Satz 70 [Folgerung aus dem Hauptsatz über endl. erz. komm. Gruppen] Jede endliche kommutative Gruppe ist entweder zyklisch, oder isomorph zum direkten Produkt von endlich vielen zyklischen Gruppen. (Ohne Beweis.) 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) Beispiel: Die Gruppe (Zk2 , +) Für (a1 , . . . ak ), (b1 , . . . bk ) ∈ Zk2 definieren wir (a1 , . . . ak ) + (b1 , . . . bk ) = (c1 , . . . ck ) mit ci ≡ ai + bi (mod 2). Dann ist (Zk2 , +) eine Gruppe der Ordnung 2k und das direkte Produkt von k zyklischen Gruppen der Ordnung 2 ist. 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen – 160 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Beispiel: Eine zu (Zk2 , +) isomorphe Gruppe Nun definieren wir π : Zk2 → Z2k durch X π(a0 , . . . , ak −1 ) = 2i ai 0≤i<k und eine neue Gruppe (Z2k , ⊕) mit a ⊕ b = π(π −1 (a) + π −1 (b)). (Z2k , ⊕) und (Zk2 , +) sind isomorph, mit π als Isomorphismus. Unser “alter Bekannter” (Z4 , ⊕) ist ein Spezialfall. Beispiele in (Z16 , ⊕): 12 ⊕ 5 = 8 ⊕ 1 = 10 ⊕ 3 = 15 ⊕ 6 = 9. 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen – 161 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 162 – Untergruppen endlicher Gruppen Satz 71 (Teilaussage des Satzes von Lagrange) Sei G eine endliche abelsche Gruppe. Für jede Untergruppe U von G gilt: Die Ordnung von U ist ein Teiler der Ordnung von G. (Mit Hilfe von Satz 70 ist der Beweis einfach.) 4: Algebraische Strukturen / Gruppen 4.5: Zyklische und endliche Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) – 163 – 4.6: Anwendung: Der Diffie-Hellman Schlüsselaustausch Vorbereitung: 1. Wähle eine “große” Primzahl p, so dass 2. die Faktorisierung von p − 1 bekannt ist. 3. Wähle eine “hinreichend große” Primzahl q|(p − 1) und ein Element g ∈ (Z∗p , ∗) der Ordnung q. 4. Arithmetik mod p – aber tatsächlich werden wir in der Untergruppe hgi von (Z∗p , ∗) rechnen. 5. Stand der Technik: p > 21000 , q > 2160 (sonst ist das Verfahren unsicher). 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman Stefan Lucks Diskrete Strukturen (WS 2009/10) Alice und Bob vereinbaren einen gemeinsamen geheimen Schlüssel 1. Alice wählt a ∈ Zq und veröffentlicht A := g a (mod p) (∗ a ist geheim ∗) 2. Bob wählt b ∈ Zq und berechnet B := g b (mod p) (∗ b ist geheim ∗) 3. Gemeinsamer geheimer Schlüssel von Alice und Bob: Ba = g ab = Ab . 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman – 164 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 165 – Beispiel (in winzigen Zahlen) 0. p = 11, g = 4, es ist 45 ≡ 1024 ≡ 1 (mod 11), also q = 5. 1. a = 4, A = 44 ≡ 3 (mod 11). 2. b = 3, B = 43 ≡ 9 (mod 11). 3. Die Berechnung des geheimen Schlüssels: g ab Ba = 6561 ≡ 5 (mod 11), Ab = 27 ≡ 5 (mod 11), = 16777216 ≡ 5 (mod 11). Alice und Bob haben sich auf 5 als Geheimnis geeinigt. Ein Angreifer müsste g ab = 5 berechnen, obwohl er weder a noch b kennt. 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman Stefan Lucks Diskrete Strukturen (WS 2009/10) – 166 – Ist der D.-H. Schlüsselaustausch sicher? Man betrachte die folgenden beiden Probleme: I Diskreter Logarithmus: Geg. X = g x , berechne x I Diffie-Hellman-Problem: Gegeben A und B, berechne g ab . Man beachte: Wenn man effizient Diskrete Logarithmen berechnen kann, dann kann man erst recht das Diffie-Hellman Problem effizient lösen. Ist das Diffie-Hellman Problem dagegen nicht effizient lösbar, dann kann ein Angreifer, der nur A und B kennt, den geheimen Schlüssel g ab nicht berechnen. I I Um gegen (bekannte) Algorithmen zur Berechnung des Diskreten Logarithmus Sicherheit zu bieten, sollten I I der Modulus p mindestens eine 1000-bit Primzahl und die Ordnung q von g mindestens eine 160-bit Primzahl sein. 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman Stefan Lucks Diskrete Strukturen (WS 2009/10) Ist die Arithmetik mod p wirklich nötig? Sei (G, ∗) eine zyklische Gruppe mit erzeugendem Element g. Sei die Ordnung q = |G| von G eine hinreichend große Primzahl. 1. Alice wählt a ∈ Zq und veröffentlicht A := g a (mod p) (∗ a ist geheim ∗) 2. Bob wählt b ∈ Zq und berechnet B := g b (mod p) (∗ b ist geheim ∗) 3. Gemeinsamer geheimer Schlüssel von Alice und Bob: Ba = g ab = Ab . 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman – 167 – Stefan Lucks Diskrete Strukturen (WS 2009/10) Ist die Arithmetik mod p wirklich nötig? (Fortsetzung) Tatsächlich können wir, statt in hgi ≤ Z∗p in jeder beliebigen Gruppe (G, ∗) rechnen, die die folgenden drei funktionalen Bedingungen erfüllt: 1. man die Ordnung q von G kennen (um zufällige Zahlen a, b ∈ {0, . . . , q − 1} zu wählen), 2. und in G effizient rechnen können (um g a , g b , Ba und Ab zu berechnen) 3. und Gruppenelemente in G eindeutig darstellbar sind (damit Ba und Ab tatsächlich die gleiche Folge von Bits darstellen – statt verschiedener Repräsentationen des gleichen Elements von G). Die Gruppe (G, ∗) = (Zq , +) erfüllt alle drei Bedingungen. 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman – 168 – Stefan Lucks Diskrete Strukturen (WS 2009/10) – 169 – Warum rechnen wir dann nicht einfach in (Zq , +)? Zusätzlich zu den funktionalen Eigenschaften muss die Gruppe (G, ∗) aber auch eine Sicherheitsbedingung erfüllen: 4. Man darf nicht das Diffie-Hellman-Problem in (G, ∗) nicht effizient lösen können. Insbesondere darf es in (G, ∗) nicht effizient möglich sein, Diskrete Logarithmen zu berechnen. Die Gruppe (G, ∗) = (Zq , +), erfüllt diese Bedingung leider nicht. (Warum nicht?) 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman Stefan Lucks Diskrete Strukturen (WS 2009/10) – 170 – Alternativen zur modularen Arithmetik? Kryptographen suchen seit langem nach Alternativen zur Arithmetik mod p. Viele Gruppen (G, ∗) wurden untersucht und als praxisuntauglich verworfen. Insbesondere: Ist “∗” effizient berechenbar und q “klein” (z.B. q < 2140 ), dann kann man Diskrete Logarithmen in (G, ∗) effizient berechnen (→ Diskrete Wahrscheinlichkeit). Eine Alternative, die in der Praxis allmählich an Bedeutung gewinnt, sind die Punktgruppen Elliptischer Kurven. Ihr besonderer Vorteil ist, dass sie die Verwendung kürzerer öffentlicher Schlüssel erlauben. Weitere Informationen: http://de.wikipedia.org/wiki/ Elliptic_Curve_Cryptography 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman Stefan Lucks Diskrete Strukturen (WS 2009/10) – 171 – Abstraktes mathematisches Denken Statt nach spezifischen Lösungen für einzelne Probleme sucht man in Informatik und Ingenieurwissenschaften nach Algorithmen, die man möglichst vielfältig nutzen bzw. wiederverwerten kann. Das erfordert eine bestimmte Form des abstrakten mathematischen Denkens: I I Welche grundlegenden Eigenschaften meiner vorhandenen Datenstrukturen reichen aus, damit ein Algorithmus das leistet, was er leisten soll? Gibt es andere Datenstrukturen, die diese Eigenschaften auch erfüllen? Um entsprechend abstrakte und allgemein nutzbare Algorithmen auch allgemein und abstrakt implementieren zu können, unterstützen fast alle modernen Programmiersprachen die objektorientierte und/oder die generische Programmierung. 4: Algebraische Strukturen / Gruppen 4.6: Anwendung: Diffie-Hellman