diskrete strukturen algebra - in.tum.de · einf uhrung 4 unteralgebraversteht man den teilbereich...

80
Diskrete Strukturen Algebra c Javier Esparza und Michael Luttenberger Chair for Foundations of Software Reliability and Theoretical Computer Science Technische Universit¨ at M¨ unchen 2018/10/12

Upload: others

Post on 16-Sep-2019

3 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Diskrete StrukturenAlgebra

c©Javier Esparza und Michael Luttenberger

Chair for Foundations of Software Reliability and Theoretical Computer ScienceTechnische Universitat Munchen

2018/10/12

Page 2: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

1 Algebra

Einfuhrung

Gruppentheorie

Page 3: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Einfuhrung

Page 4: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Einfuhrung 4

• Unter Algebra versteht man den Teilbereich der Mathematik, der sich mitdem Studium der Eigenschaften von (Rechen-)Operationen beschaftigt.

. Genauer werden verschiedene Klassen von algebraischen Strukturen mittelsAxiomen definiert

• Axiom: nicht zubeweisende Grundannahme/Pramisse/Hypthose, z.B. in PLformuliert

und deren Eigenschaften (d.h. logische Inferenzen aus den Axiomen) undBeziehungen untereinander untersucht.

. Anwendungen der Algebra in der Informatik:

• Kryptographie: RSA- und DLP-basierte Kryptosysteme

• Theoretische Informatik & Programmiersprachen: algebraische Sprachtheorie,formale Semantik, statische Analyse, Compilerbau, abstrakte Datentypen

Page 5: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Algebraische Strukturen 5

• Eine algebraische Struktur S ist dabei zunachst eine Struktur im Sinne derPradikatenlogik, die nur Funktionen/Operatoren, jedoch keinePradikate/Relationen definiert:

• US ist die Grundmenge/das Universum/der Trager

• IS interpretiert jedes Funktionssymbol f mit Aritat ar(f) als eine konkrete

k-stellige Funktion/Operation IS(f) : Uar(f)S → US auf US ; nullstellige

Funktionssymbole mit Konstanten gleichgesetzt.

• Konventionen:

• Meistens gibt man eine algebraische Struktur als Tupel 〈U, f1, . . . , fk〉 an.

Je nach Literatur auch mit runden Klammern (U, f1f2, . . . , fk).

Definiert dann einmalig die Interpretationen/Bedeutungen US und fSi .

Verwendet dann jedoch U und fi im Sinne von US und fSi .

. 〈U, f1, . . . , fk〉 (manchmal auch nur 〈f1, . . . , fk〉) wird als Signatur (=

”nichtlogische“ Zeichen/Symbole) der algebraischen Struktur bezeichnet.

. Haufig gibt man die Aritat als Superskript in der Signatur direkt an, also〈U, f ar(f1)

1 , . . . , far(fk)k 〉.

Page 6: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Algebraische Strukturen 6

• Beispiele

• 〈Q,+2, •2, 00, 10〉 mit Q die rationalen Zahlen und der Interpretation von +bzw. • als die Addition bzw. Multiplikation auf den rationalen Zahlen und 0bzw. 1 als die rationalen Zahlen Null bzw. Eins.

• 〈R,+2, •2, 00, 10〉 mit R die reellen Zahlen und der Interpretation von + bzw. •

als die Addition bzw. Multiplikation auf den reellen Zahlen und 0 bzw. 1 alsdie reellen Zahlen Null bzw. Eins.

• 〈2A,∪2,∩2〉 mit 2A die Potenzmenge der Menge A und der Interpretation von∪ und ∩ als Vereinigung bzw. Schnitt.

• 〈R>0, •2, 10〉 mit R die reellen Zahlen und der Interpretation von • als die

Multiplikation auf den reellen Zahlen und 1 als die reelle Zahl Eins.

• 〈Z,+2, 00〉 mit Z die ganzen Zahlen und der Interpretation von + als dieAddition auf den ganzen Zahlen und 0 als die ganze Zahl Eins.

• 〈AA, ◦2, Id0A〉 mit AA die Menge der Funktionen von A nach A und der

Interpretation von ◦ als Funktionskompositionen und IdA als dieIdentitatsfunktion auf A.

• 〈Σ∗, •2, ε0〉 mit Σ∗ die Menge der endlichen Worter uber dem Alphabet Σ undder Interpretation von • als Konkatenation und ε als das leere Wort.

Page 7: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Algebraische Strukturen 7

• Beispiele

• 〈RR,+2, •2〉 mit RR die Menge aller Funktionen von R nach R und derInterpretation von + und • als punktweise Addition bzw. Multiplikation((f + g)(x) = f(x) + g(x), (f • g)(x) = f(x) • g(x)).

• 〈⋃k≥0{a, b}

k, extend2, push1a, push1

b , pop1, ()0〉 mit {a, b}∗ die Menge derendlichen Tupel (Listen) mit Eintragen aus {a, b} und der Interpretation vonextend als Konkatenation zweier Listen, pushx als das Anfugen des Elements xan den Anfang der Liste, pop das Entfernen des ersten Eintrags einer nichtleeren Liste und () der leeren Liste.

• 〈2Σ∗ ,∪2, •2, ∅0, {ε}0〉 mit 2Σ∗ die Menge aller Mengen/Sprachen endlicherWorter uber dem Alphabet Σ und der Interpretation von ∪ alsMengenvereinigung, • als Konkatenation von Sprachen (d.h.L1 • L2 = {uv | u ∈ L1, v ∈ L2}), ∅ als die leere Menge und {ε} als dieMenge, die genau das leere Wort enthalt.

• 〈Q[X],+2, •2, 00, 10〉 mit Q[X] die Menge aller univariaten Polynome mitrationalen Koeffizienten in einer Variablen X und der Interpretation von + und• als die ubliche Addition bzw. Multiplikation von Polynomen und 0 und 1 alsdie jeweiligen rationalen Zahlen.

Page 8: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Algebraische Strukturen 8

• Weitere Bemerkungen/Konventionen:

• Ein Term/Ausdruck uber einer gegebenen Signatur und dessen Syntaxbaum istanalog zur PL definiert, z.B. fur 〈N0, f

2, g1, a0〉 sind”f(g(0), 1)“,

”g(f(f(a, g(a)), g(a)))“,

”a“ Terme.

• Fur binare Operatorsymbole, insbesondere +, •,⊕,� u.a. wird meistens dieInfixnotation statt der Prafixnotation verwendet, z.B. also

”(a • b)“ statt

”•(a, b)“.

Insbesondere wird das Symbol”•“ haufig (wenn keine Missverstandnisse

entstehen konnen) dann auch einfach weggelassen, z.B. statt”•(a, b)“ einfach

”ab“.

• Beachte: Die Operatoren mussen stets wieder Elemente aus der Grundmengezuruckgegeben, was als Abgeschlossenheit bezeichnet wird.

• Algebraische Strukturen werden nach den Axiomen (Eigenschaften), die ihreOperatoren erfullen, z.B. Assoziativitat, Kommutativitat, siehe auchsemantische Aquivalenzen in AL/PL, klassifiziert.

Page 9: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Grundlegende algebraische Strukturen (Uberblick) 9

• Def.: Eine Halbgruppe ist eine algebraische Struktur 〈A, •2〉 mit:

1 • assoziativ ist, d.h. es gilt ∀a, b, c : (a • (b • c)) = ((a • b) • c).

〈A, •2〉 ist eine kommutative Halbgruppe, falls zusatzlich zu 1 gilt:

2 • kommutativ ist, d.h. es gilt ∀a, b : (a • b) = (b • a).

. Bei assoziativen Operatoren spielt die Reihenfolge der Auswertung einesTerms keine Rolle, so dass auf die Klammern verzichtet werden kann.

• Def.: Ein (kommutatives) Monoid ist eine alg. Struktur 〈A, •2, 10〉 mit

1 〈A, •2〉 eine (kommutative) Halbgruppe und

2 neutralem Element 10 (bzgl. •), d.h. es gilt ∀a : (a • 1) = a = (1 • a).

. Beispiele:

• Monoide:

〈R,+2, 00〉, 〈R>0, •2, 10〉, 〈Z,+2, 00〉, 〈Σ∗, •2, ε0〉, 〈N0,+

2, 00〉, 〈AA, ◦2, Id0A〉

• Halbgruppen ohne neutrales Element: 〈R>0,+2〉 (bzgl. Addition auf R),

〈N,+2〉 (bzgl. Addition auf N).

• Keine Halbgruppe: 〈N, pow2〉 mit pow(a, b) = ab z.B. (23)4 6= 2(34).

Page 10: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Grundlegende algebraische Strukturen (Uberblick) 10

• Def.: Eine (kommutative) Gruppe ist eine alg. Struktur 〈A, •2, 10〉 mit:

1 〈A, •2, 10〉 ein (kommutatives) Monoid und

2 Inversen (bzgl. •), d.h. es gilt ∀a∃b : (a • b) = 1 = (b • a).

Eine kommutative Gruppe wird auch als abelsche Gruppe bezeichnet.

. Beispiele:

• Kommutative Gruppen: 〈R,+2, 00〉, 〈R>0, •2, 10〉, 〈Z,+2, 00〉.

• Keine Gruppen: 〈Σ∗, •2, ε0〉, 〈N0,+2, 00〉, 〈AA, ◦2, IdA〉

. Die Bijektionen SA = {f : A→ A | f bijektiv } von A nach A bzgl. derFunktionskomposition und der Identitat bilden jedoch die sogenanntesymmetrische Gruppe, welche i.A. nicht kommutativ ist (spater mehr).

Page 11: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Grundlegende algebraische Strukturen (Uberblick) 11

• Def.: Ein (unitarer) Ring ist eine alg. Struktur 〈A,+2, •2, 00〉 (bzw.〈A,+2, •2, 00, 10〉) mit:

1 〈A, •2〉 eine Halbgruppe (bzw. 〈A, •2, 10〉 ein Monoid) und

2 〈A,+2, 00〉 eine kommutative Gruppe und

3 • distributiert uber + von beiden Seiten, d.h. es gilt∀a, b, c : (a • (b+ c)) = (a • b+ a • c) ∧ ((a+ b) • c) = ((a • c) + (b • c)).

• Def.: Ein Korper ist eine alg. Struktur 〈A,+2, •2, 00, 10〉 mit:

1 〈A,+2, •2, 00, 10〉 ein unitarer Ring und

2 〈A \ {0}, •2, 10〉 eine kommutative Gruppe.

. Beachte: In einem Korper hat bis auf 0 jedes Element ein Inverses bzgl. •.

. Beispiele:

• unitare Ringe, keine Korper: 〈Z,+2, •2, 00, 10〉, 〈Q[X],+2, •2, 00, 10〉

〈2Σ∗ ,∪2, •2, ∅0, {ε}0〉 (nicht kommutativ)

• Korper: 〈R,+2, •2, 00, 10〉, 〈Q,+2, •2, 00, 10〉

Page 12: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Grundlegende algebraische Strukturen (Uberblick) 12

• Def.: Ein Verband ist eine alg. Struktur 〈A,t2,u2〉 mit:

1 〈A,t2〉 kommutative Halbgruppe und

2 〈A,u2〉 kommutative Halbgruppe und

3 es gelten die Absorptionsgesetze ∀a, b, c : a u (a t b) = a = a t (a u b).

Ein Verband ist distributiv, falls zusatzlich noch gilt:

4 ∀a, b, c : a u (b t c) = (a u b) t (a u c)

. Beispiele:

• keine Verbande: 〈R,+2, •2〉, 〈Q,+2, •2〉, 〈N0,+2, •2〉

• distributive Verbande: 〈2A,∪2,∩2〉, 〈R,min2,max2〉, 〈N, ggT2, kgV2〉,

〈{0, 1}{0,1}N,∧2,∨2〉 boolsche Funktionen/Semantik der AL mit

[F ∧G](β) := min{[F ](β), [G](β)} und

[F ∨G](β) := max{[F ](β), [G](β)}.

Page 13: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Grundlegende algebraische Strukturen (Uberblick) 13

• Eine konkrete algebraische Struktur ist dann z.B. eine Gruppe, falls sie einModell der Definition einer Gruppe im Sinne der PL ist.

. Z.B. ist S = 〈U, g2, e0〉 eine Gruppe, falls S im Sinne der PL ein Modell derFormel

FG := ∀x∀y∀z(g(x, (g(y, z)) = g(g(x, y), z))∧ ∀x(g(x, e) = x ∧ g(e, x) = x)∧ ∀x∃y(g(x, y) = e ∧ g(y, x) = e)

ist (ggf. mit entsprechender Umbenennung der Symbole).

• Die Definition von Halbgruppe, Monoid, Gruppe, Ring, Korper und Verbandwerden auch als abstrakte algebraische Strukturen bezeichnet.

Page 14: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Grundlegende algebraische Strukturen (Uberblick) 14

• Die Algebra ist vorrangig an Aussagen F interessiert, die z.B. in allenGruppen oder in allen Verbanden gelten – im Sinne der PL also logischeInferenzen der jeweiligen Axiome sind (z.B. FG |= F ).

• Z.B. kann man zeigen (ohne Beweis):

Lemma: In jedem Verband 〈A,t2,u2〉 gilt:

1 ∀a : a u a = a = a t a (Idempotenz)

2 In jedem distributiven Verband gilt auch: ∀a, b, c : at (bu c) = (at b)u (at c).

• Eine weitere haufige Fragestellung ist die nach den schwachstenAnforderungen/Annahmen FA, aus denen eine konkrete Eigenschaft F stetslogisch folgt.

. Nach obigem Lemma konnte man z.B. auf die entsprechenden semantischenAquivalenzen in der AL/PL verzichten.

. Je weniger Annahmen/Axiomen, umso weniger Arbeit, um nachzuweisen,dass eine konkrete Struktur z.B. eine Gruppe oder ein Verband ist.

• Wir betrachten im Weiteren die wichtigsten Eigenschaften von Gruppen,welche auch fur die Kryptrographie von Interesse sind.

Page 15: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

1 Algebra

Einfuhrung

Gruppentheorie

Zahlentheoretische Grundlagen

Einleitung

Restklassengruppen

Grundlegende Eigenschaften

Ordnung eines Elements

Untergruppen

Zyklische Gruppen

Homomorphie und Isomorphie

RSA, ElGamal

Page 16: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Page 17: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Zahlentheoretische Grundlagen

Page 18: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erinnerung: Primfaktorzerlegung, ggT, kgV, Teilbarkeit 18

• Im Weiteren a, b,N ∈ Z mit N > 0.

• a|b kurz fur ∃k ∈ Z : b = k • a (”a teilt b (ohne Rest)”)

• ggT(a, b) := max{d ∈ N : d|a ∧ d|b} (”großter gemeinsamer Teiler”)

kgV(a, b) := min{m ∈ N : a|m ∧ b|m} (”kleinstes gemeinsames Vielfaches”)

a • b = kgV(a, b) • ggT(a, b)

• Primzahlen P = {p ∈ N : p > 1 ∧ ∀n ∈ N : n|p→ (n = 1 ∨ n = p)}

Fur p ∈ P sei νp(n) := max{k ∈ N0 : pk|n}.

Dann ist∏p∈P p

νp(n) die Primfaktorzerlerung von n ∈ N.

• ggT(a, b) =∏p∈P p

min{νp(a),νp(b)} und kgV(a, b) =∏p∈P p

max{νp(a),νp(b)}

. Beispiel: a = 300 = 22 • 3 • 52, b = 126 = 2 • 32 • 7

ggT(a, b) = 21 • 31 • 50 • 70 = 6

kgV(a, b) = 22 • 32 • 52 • 7 = 6300

ggT(a, b) • kgV(a, b) = 37800 = a • b

Page 19: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erinnerung: modN , ZN , Z∗N 19

• ZN := {0, 1, 2, . . . , N − 1} (vgl. [N ] = {1, 2, . . . , N})

•”Division mit Rest”:

a mod N : eindeutige Zahl k ∈ ZN mit N |(a− k).

a ≡N b kurz fur a mod N = b mod N

. Erinnerung: ≡N ist Aquivalenzrelation auf Z mit Aquivalenzklassen

[k]n = k + nZ := {k + nz | z ∈ Z}

• Z∗N := {k ∈ ZN | ggT(k,N) = 1}

ϕ(N) := |Z∗N | (Euler’s phi-function)

Lemma: Es gilt ϕ(N) = N∏p∈P : p|N (1− p−1)

Insbesondere ϕ(p) = p− 1 fur p ∈ P.

(Beweis mittels Kombinatorik/Siebformel, siehe TA.)

. Bsp.: ϕ(15) = 15(1− 15 )(1−

13 ) = (5− 1)(3− 1) = 8.

Page 20: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erweiterter euklidischer Algorithmus (EEA) 20

• Wichtig fur Kryptographie:

ggT(a, b) kann effizient rekursiv auf ohne Kenntnis derPrimfaktorzerlegungen von a und b berechnet werden.

. Beobachtungen:

1 ggT(a, b) = ggT(b, a) = ggT(−a, b) = ggT(a,−b) = ggT(−a,−b),

daher oBdA 0 ≤ a ≤ b.

2 ggT(a, b) = b falls a = 0

3 ggT(a, b) = 1 falls a = 1 (prinzipiell uberflussig wegen 2 ).

4 ggT(a, b) = ggT(b mod a, a) fur 1 < a ≤ b da:

Es gilt b mod a = b− ka fur k = bb/ac.

Damit: d|a ∧ d|b gdw. d|a ∧ d|(b− ka).

Page 21: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erweiterter euklidischer Algorithmus (EEA) 21

• Dies fuhrt auf den euklidischen Algorithmus:

def euclid(a,b):if a < 0:a = -a

if b < 0:b = -b

if b < a:return euclid(b,a)

if a == 0:return b

if a == 1:return 1

return euclid(b % a, a)

Page 22: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erweiterter euklidischer Algorithmus (EEA) 22

• Wichtig(er) fur Kryptographie und Algebra:

Der euklidische Algorithmus kann so erweitert werden, dass er zwei Zahlenα, β ∈ Z bestimmt, so dass gilt

ggT(a, b) = α • a+ β • b

. Beobachtungen (oBdA 0 ≤ a ≤ b):

1 ggT(a, b) = b = 0 • a+ 1 • b falls a = 0; also α = 0, β = 1.

2 ggT(a, b) = 1 = 1 • a+ 0 • b falls a = 1; also α = 1, β = 0.

3 ggT(a, b) = (β′ − bb/acα′)a+ α′b

falls 1 < a ≤ b und rekursiv ggT(b mod a, a) = α′ • (b mod a) + β′ • a

da: Es gilt b mod a = b− ka fur k = bb/ac Daher:

ggT(a, b) = ggT(b mod a, a) = α′(b mod a) + β′a= α′(b− ka) + β′a = (β′ − kα′)a+ α′b

(Da 0 ≤ b mod a < a terminiert die Rekursion.)

. Bemerkung: kompakter fur a > 0

1,2 ggT(a, b) = a = 1 • a+ 0 • b falls b mod a = 0; also α = 1, β = 0.

Page 23: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erweiterter euklidischer Algorithmus (EEA) 23

• Dies fuhrt auf den erweiterten euklidischen Algorithmus (EEA)

def eea(a,b):if a < 0:alpha,beta = eea(-a,b)return (-alpha,beta)

if b < 0:alpha,beta = eea(a,-b)return (alpha,-beta)

if b < a:beta,alpha = eea(b,a)return (alpha,beta)

if a == 0:return (0,1)

if a == 1:return (1,0)

alpha,beta = eea(b % a, a)return (beta - (b // a) * alpha,alpha) # (β′ − bb/acα′, α′)

. Ohne Beweis: man kann zeigen, dass der EEA maximal log2(a+ b) rekursiveAufrufe benotigt.

Page 24: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erweiterter euklidischer Algorithmus (EEA) 24

• Kurzfassung EEA

Gegeben: 1 ≤ a ≤ b aus N• Falls (b mod a) = 0, gibt α = 1, β = 0 zuruck.

• Ansonsten berechne rekursiv α′, β′ mit

ggT(b mod a, a) = (b mod a)α′ + aβ′

Gib dann α = (β′ − bb/acα′), β = α′ zuruck.

• Beispiel: a = 5, b = 911 mit ggT(5, 911) = 1 (911 ist prim)

a b bb/ac α β5 911 182 −182 11 5 − 1 0

Test: 1 = ggT(5, 911)!= 5 • (−182) + 911 • 1 = 1

Page 25: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erweiterter euklidischer Algorithmus (EEA) 25

• Kurzfassung EEA

Gegeben: 1 ≤ a ≤ b aus N• Falls (b mod a) = 0, gibt α = 1, β = 0 zuruck.

• Ansonsten berechne rekursiv α′, β′ mit

ggT(b mod a, a) = (b mod a)α′ + aβ′

Gib dann α = (β′ − bb/acα′), β = α′ zuruck.

• Beispiel: a = 45 = 5 • 32, b = 63 = 7 • 32 mit ggT(45, 63) = 9

a b bb/ac α β45 63 1 3 −218 45 2 − 2 19 18 − 1 0

Test: 9 = ggT(45, 63)!= 45 • 3 + 63 • (−2) = 9

Page 26: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Einleitung

Page 27: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Definition (Erinnerung) 27

• Definition: G=〈G, •, 1〉 ist eine Gruppe, falls

0 • : G×G→ G (abgeschlossen),

1 ∀a, b, c : a • (b • c) = (a • b) • c (assoziativ),

2 ∀a : a • 1 = 1 • a = a (Neutrales) und

3 ∀a∃b : a • b = b • a = 1 (Inverses).

G ist endlich, falls |G| <∞;G ist kommutativ (auch: abelsch), fallszusatzlich noch:

4 ∀a, b : a • b = b • a.

. Anmerkung:

• Multiplikative Notation 〈G, •, 1〉 fur allgemeine, d.h. auch nicht kommutativeGruppen; haufig kurz ab statt a • b.

• Additive Notation 〈G,+, 0〉 nur fur kommutative Gruppen.

• Obige Definition ist (semantisch) aquivalent zu der Definition, in der dieAxiome 2 und 3 abgeschwacht werden zu:

2’ ∀a : a • 1 = a (Rechtsneutrales) und 3’ ∀a∃b : a • b = 1 (Rechtsinverses).

Page 28: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiele: Gruppen auf Z 28

• Beispiel: 〈Z,+, 0〉• Grundmenge: Ganze Zahlen Z = {. . . ,−2,−1, 0, 1, 2, . . .}

• Gruppenoperation: kanonische Addition auf Z

• Neutrales: 0

• Inverse: −a

• Beispiel: 〈nZ,+, 0〉 fur n ∈ N• Grundmenge: nZ = {. . . ,−2n,−1n, 0, 1n, 2n, . . .} ganzzahlige Vielfache von n

• Gruppenoperation: kanonische Addition auf Z (abgeschlossen?)

• Neutrales: 0

• Inverse: −a

. Bemerkung: Da 〈nZ,+, 0〉 und 〈Z,+, 0〉 bzgl. derselben Gruppenoperationdefiniert sind und nZ ⊆ Z gilt, nennt man 〈nZ,+, 0〉 auch eine Untergruppevon 〈Z,+, 0〉 (spater mehr).

Page 29: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiele: Gruppen auf Zn 29

• Beispiel: 〈Zn,+n, 0〉 additive Gruppe modulo n ∈ N• Grundmenge: Zn = {0, 1, . . . , n− 1} Reste modulo n ∈ N

• Gruppenoperation: a+n b := (a+ b) mod n

• Neutrales: 0

• Inverse: 0 fur 0, sonst n− a fur a ∈ Zn \ {0}

• Beispiel: 〈Z∗n, •n, 1〉 multiplikative Gruppe modulo n ∈ N• Grundmenge: Z∗n = {x ∈ Zn | ggT(x, n) = 1} alle zu n teilerfremden Reste

modulo n

• Gruppenoperation: a • nb := (a • b) mod n

• Neutrales: 1

• Inverse: α mod n inverse zu a mit 1 = ggT(a, n) = α • a+ β • n (EEA)

. Beweise spater.

Page 30: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiele: Gruppen auf Zn 30

• 〈Z6,+6, 0〉:+6 0 1 2 3 4 50 0 1 2 3 4 51 1 2 3 4 5 02 2 3 4 5 0 13 3 4 5 0 1 24 4 5 0 1 2 35 5 0 1 2 3 4

• 〈Z∗9, •9, 1〉:•9 1 2 4 5 7 81 1 2 4 5 7 82 2 4 8 1 5 74 4 8 7 2 1 55 5 1 2 7 8 47 7 5 1 8 4 28 8 7 5 4 2 1

Page 31: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiele: Gruppen auf Kurven 31

• Beispiel: Addition auf Einheitskreis bzgl. f(t) := (sin t, cos t)

• Grundmenge: {(x, y) ∈ R2 | x2 + y2 = 1}

• Gruppenoperation: f(t1)⊕ f(t2) := f(t1 + t2) – Addition der Winkel imBogenmaß gemessen im Uhrzeigersinn ab (0, 1) (

”12 Uhr“).

• Neutrales: f(0) = (0, 1)

• Inverse: −f(t) := f(−t)

. Ubung: Uberprufen, dass alle Gruppenaxiome erfullt sind.

P0 := (sin 0, cos 0) = f(0)P1 := (sin π

4 , cosπ4 ) = f(π4 )

P2 := (sin π3 , cos

π3 ) = f(π3 )

P1 ⊕ P2 := (sin 7π12 , cos

7π12 ) = f(π4 + π

3 )

Page 32: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiele: Gruppen auf R 32

• Beispiel: 〈R,+, 0〉 additive Gruppe der reellen Zahlen

• Grundmenge: reelle Zahlen R bzw. positive reelle Zahlen R>0

• Gruppenoperation: kanonische Addition bzw. Multiplikation

• Neutrales: 0

• Inverse: −a

• Beispiel: 〈R>0, •, 1〉 multiplikative Gruppe der positiven reellen Zahlen

• Grundmenge: positive reelle Zahlen R>0

• Gruppenoperation: kanonische Multiplikation

• Neutrales: 1

• Inverse: 1/a

. Beachte: x • y = e(log x)+(log y) und x+ y = log(ex • ey), d.h. man kommt von〈R,+, 0〉 nach 〈R>0, •, 1〉 mittels x 7→ ex und zuruck mittels x 7→ log x.Solche Gruppen werden isomorph genannt (spater mehr).

. Entsprechend von 〈Z6,+6, 0〉 nach 〈Z∗9, •9, 1〉 mittels k 7→ 2k mod 9;Umkehrabbildung wird als diskreter Logarithmus zur Basis 2 bezeichnet.

Page 33: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiel: Permutationen 33

• Erinnerung:

Eine Bijektion f : A→ A wird auch als Permutation von A bezeichnet.

Fur die Menge aller Permutationen einer Menge A schreibt man SA.

Mit Sn := S[n] bezeichnet man speziell die Menge aller Permutationen von[n].

• Beispiel: 〈SA, ◦, IdA〉 symmetrische Gruppe uber A.

• Grundmenge: SA = {f : A→ A | f bijektiv }

• Gruppenoperation: Funktionskomposition f ◦ g : A→ A : a 7→ f(g(a))

• Neutrales: Identitat IdA : A→ A : a 7→ a

• Inverse: Umkehrabbildung

• Die symmetrischen Gruppen sind i.A. nicht kommutativ.

• Jede Gruppe G lasst sich als ein Teil der SG auffassen (Satz von Cayley).

• Gerade fur die Gruppentheorie ist die Zykelschreibweise von Permutationenbesonders nutzlich.

Page 34: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiel: Permutationen 34

• Erinnerung (TA5.2, HA61, HA6.3): Sei f ∈ Sn eine Permutation von [n].

In der Zykelschreibweise notiert π, indem man die Kreise/Zyklen angibt, indie der Graph Gπ = ([n], {(i, f(i)) | i ∈ [n]}) zerfallt:

f = (x(1)0 , x

(1)1 , . . . , x

(1)l1−1)(x

(2)0 , x

(2)1 , . . . x

(2)l2−1) . . . (x

(k)0 , x

(k)1 , . . . x

(k)lk−1)

Jedes Tupel (Zykel/Zyklus) (x(j)0 , x

(j)1 , . . . , x

(j)lj−1) gibt gerade einen der

Kreise in Gπ an, d.h. es gilt f(x(i)j ) = x

(i)(j+1) mod li

.

• Beispiel:

f =

1 7→ 22 7→ 33 7→ 14 7→ 4

= (1, 2, 3) (4) =

1

2

3

4

g =

1 7→ 12 7→ 33 7→ 24 7→ 4

= (1) (2, 3) (4) =

1

2

3

4

• Die Zykel konnen beliebig angeordnet werden, die Elemente in einem Zykelkonnen zyklisch rotiert werden, d.h.:

(2)(1, 3, 5)(4) = (2)(4)(5, 1, 3) = (3, 5, 1)(4)(2)

Page 35: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Beispiel: Permutationen 35

• Beispiel: 〈S3, ◦, Id〉

(1)(2)(3) (1, 2)(3) (1, 3)(2) (1)(2, 3) (1, 2, 3) (1, 3, 2)(1)(2)(3) (1)(2)(3) (1, 2)(3) (1, 3)(2) (1)(2, 3) (1, 2, 3) (1, 3, 2)(1, 2)(3) (1, 2)(3) (1)(2)(3) (1, 3, 2) (1, 2, 3) (1)(2, 3) (1, 3)(2)(1, 3)(2) (1, 3)(2) (1, 2, 3) (1)(2)(3) (1, 3, 2) (1, 2)(3) (1)(2, 3)(1)(2, 3) (1)(2, 3) (1, 3, 2) (1, 2, 3) (1)(2)(3) (1, 3)(2) (1, 2)(3)(1, 2, 3) (1, 2, 3) (1, 3)(2) (1)(2, 3) (1, 2)(3) (1, 3, 2) (1)(2)(3)(1, 3, 2) (1, 3, 2) (1)(2, 3) (1, 2)(3) (1, 3)(2) (1)(2)(3) (1, 2, 3)

. Ublicherweise notiert man die Fixpunkte (Kreise der Lange 1) jedoch nicht:

Id[3] (1, 2) (1, 3) (2, 3) (1, 2, 3) (1, 3, 2)Id[3] Id[3] (1, 2) (1, 3) (2, 3) (1, 2, 3) (1, 3, 2)(1, 2) (1, 2) Id[3] (1, 3, 2) (1, 2, 3) (2, 3) (1, 3)(1, 3) (1, 3) (1, 2, 3) Id[3] (1, 3, 2) (1, 2) (2, 3)(2, 3) (2, 3) (1, 3, 2) (1, 2, 3) Id[3] (1, 3) (1, 2)(1, 2, 3) (1, 2, 3) (1, 3) (2, 3) (1, 2) (1, 3, 2) Id[3]

(1, 3, 2) (1, 3, 2) (2, 3) (1, 2) (1, 3) Id[3] (1, 2, 3)

Page 36: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Additive Gruppe modulo n: 〈Zn,+n, 0〉 36

• Lemma: 〈Zn,+n, 0〉 ist eine kommutative Gruppe (n > 0):

1 Abgeschlossen: a+n b = (a+ b) mod n ∈ Zn nach Definition von modn.

2 Assoziativ: Seien a, b ∈ Zn.

Dann gilt (a+ b) mod n = a+ b− kn fur k := b(a+ b)/nc.

Damit: (a+n b) +n c = ((a+ b− kn) + c) mod n = (a+ b+ c) mod n

Symmetrisch folgt a+n (b+n c) = (a+ b+ c) mod n.

3 Neutrales: a+n 0 = (a+ 0) mod n = a mod n = a fur a ∈ Zn.

4 Inverse: 0 +n 0 = (0 + 0) mod n = 0 mod n = 0 unda+n (n− a) = (a+ (n− a)) mod n = 0 mod n = 0 (a ∈ Zn \ {0}).

5 Kommutativ: a+n b = (a+ b) mod n = (b+ a) mod n = b+n a.

. Ubung:

〈Zn, •n, 1〉 ist ein kommutatives Monoid (vollkommen analog).

〈Zn,+n, •n, 0〉 ist ein kommutativer Ring.

Page 37: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Multiplikative Gruppe modulo n: 〈Z∗n, •n, 1〉 37

• 〈Zn,+n, •n, 0, 1〉 ist i.A. jedoch kein Korper, z.B.:

•6 0 1 2 3 4 50 0 0 0 0 0 01 0 1 2 3 4 52 0 2 4 0 2 43 0 3 0 3 0 34 0 4 2 0 4 25 0 5 4 3 2 1

• Allgemein haben nur die zu n teilerfremden Reste ein Inverses bzgl. •n da:

• Aus 1 = a • nb folgt ggT(ab, n) = ggT(a • nb, n) = ggT(1, n) = 1.

. Also auch 1 = ggT(a, n) = ggT(b, n).

. Nullteiler: Falls 1 < d := ggT(a, n), dann a • nnd = a

d• nn = 0.

. Mussen •n auf Z∗n einschranken, z.B. •6 nur auf Z∗6 = {1, 5}:

•6 1 51 1 55 5 1

Page 38: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Multiplikative Gruppe modulo n: 〈Z∗n, •n, 1〉 38

• Lemma: 〈Z∗n, •n, 1〉 ist eine kommutative Gruppe (n > 1).

1 Abgeschlossen: Fur p ∈ P gilt: p|n ∧ p|ab gdw. p|n ∧ (p|a ∨ p|b).

Aus ggT(a, n) = 1 = ggT(b, n) = 1 folgt also

1 = ggT(ab, n) = ggT(ab mod n, n).

2 Assoziativ: analog zu 〈Zn,+n, 0〉.

3 Neutrales: ∀a : a • n1 = 1 — analog zu 〈Zn,+n, 0〉.

4 Inverse: EEA berechnet α, β ∈ Z mit:

1 = ggT(a, n) = aα+ nβ

Setze b := (α mod n) (damit sicher in Z∗n), dann

a • nb = (a • b) mod n (Def. von •n)= (a • (α+ kn)) mod n (α mod n ∈ α+ nZ)= (aα+ akn+ nβ) mod n (nβ mod n = 0)= (1 + akn) mod n = 1 (1 = aα+ nβ)

d.h. b = (α mod n) ist das Inverse zu a in 〈Z∗n, •n, 1〉.

5 Kommutativ: analog zu 〈Zn,+n, 0〉.

Page 39: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Erweiterter euklidischer Algorithmus (EEA) 39

• Beispiel: a = 5, b = 911 mit ggT(5, 911) = 1 (911 ist prim)

a b bb/ac α β5 911 182 −182 11 5 − 1 0

Nach EEA: 1 = ggT(5, 911) = 5 • (−182) + 911 • 1

. Also ist 729 = (−182) mod 911 das Inverse von 5 in 〈Z∗911, •911, 1〉:

5 • 911729 = (5 • 729) mod 911 = 3645 mod 911 = (1 + 4 • 911) mod 911 = 1

• Erinnerung: Aber 906 ist das Inverse von 5 in 〈Z911,+911, 0〉:

5 +911 906 = (5 + 906) mod 911 = 911 mod 911 = 0.

und 0.2 das Inverse von 5 in 〈R>0, •, 1〉

und −5 das Inverse von 5 in 〈R,+, 0〉

und . . .

• Anmerkung: 〈Zn,+n, •n, 0, 1〉 Korper gdw. Zn \ {0} = Z∗n gdw. n ∈ P.

Page 40: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Restklassengruppen

Page 41: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Restklassengruppen, Kongruenzen 41

• Erinnerung: Sei f : A→ B Funktion. Dann ist

”a ≡f b gdw. f(a) = f(b)“

eine Aquivalenzrelation auf A mit Aquivalenzklassen [a]f = f−1(f(a)).

. Fur f(x) = x mod n (n ∈ N) erhalt man damit sofort:

”a ≡n b gdw. (a mod n) = (b mod n)“

ist Aquivalenzrelation auf Z mit Klassen [a]n = {a+ nz | z ∈ Z} =: a+ nZ.

Man nennt [a]n auch die Restklasse von a modulo n.

. Insbesondere ist ≡n eine Kongruenz bzgl. + und •, d.h. es gilt

a+ b ≡n a′ + b′ und a • b ≡n a′ • b′

fur a ≡n a′ und b ≡n b′ da:

Mit a′ = a+ nk fur k = a′−an und b′ = b+ nl fur l = b′−b

n folgt, dass

• a′ + b′ = (a+ nk) + (b+ nl) = a+ b+ n(k + l) und

• a′b′ = (a+ nk) • (b+ nl) = ab+ n(al + bk + nkl).

Page 42: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Restklassengruppen, Kongruenzen 42

• Daher sind durch

[a]n + [b]n := [a+ b]n und [a]n • [b]n := [a • b]n

Funktionen/binare Operationen auf Z/nZ = {[x]n | x ∈ Z} wohldefiniert.

. D.h. die Definitionen sind unabhangig von dem konkreten Reprasentanteneiner Restklasse sind, d.h. dass fur a ≡n a′ und b ≡n b′ gilt:

• [a]n + [b]n := [a+ b]n!= [a′ + b′]n =: [a′]n + [b′]n und

• [a]n • [b]n := [ab]n!= [a′b′]n =: [a′]n • [b′]n

was, wie gerade nachgerechnet, der Fall ist (ansonsten keine Funktionen).

• Addition und Multiplikation sind trivial auf Z/nZ assoziativ und kommutativ,da sie mittels der Addition und Multiplikation auf Z definiert wurden, z.B.:

[a]n + ([b]n + [c]n) = [a]n + [b+ c]n = [a+ (b+ c)]n = [a+ b+ c]n

. Erinnerung: In der AL/PL hatten wir das Ersatzbarkeitstheorem (z.B.(F ∧G) ≡ (F ∧H), falls G ≡ H). Die semantische Aquivalenz kann daheranalog als Kongruenz bzgl. der logischen Operatoren angesehen werden.

Page 43: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Restklassengruppen, Kongruenzen 43

• Beispiel: 〈Z/nZ,+, [0]n〉 fur n ∈ N• Grundmenge: Z/nZ := {[a]n | a ∈ Z}

• Gruppenoperation: [a]n + [b]n := [a+ b]n

• Neutrales: [0]n

• Inverse: −[k]n = [−k]n

• Beispiel: 〈(Z/nZ)∗, •, [1]n〉 fur n ∈ N• Grundmenge: (Z/nZ)∗ := {[a]n | ggT(a, n) = 1}

• Gruppenoperation: [a]n • [b]n := [a • b]n

• Neutrales: [1]n

• Inverse: [a]−1n = [α]n mit 1 = ggT(a, n) = α • a+ β • n (EEA).

. Bemerkung: 〈Z/nZ,+, •, [0]n, [1]n〉 ist ein kommutativer Ring.

. Bemerkung: Entsprechend kann man z.B. auch 〈R/2πZ,+2π, [0]2π〉definieren mit

”x ≡2π y gdw. x−y

2π ∈ Z“. Die”Kreisgruppe“

〈{(x, y) ∈ R2 | x2 + y2 = 1},⊕, (0, 0)〉 verhalt sich dann zu 〈R/2πZ,+2π, 0〉wie 〈Zn,+n, 0〉 zu 〈Z/nZ,+, [0]n〉 (Reprasentanten/Aquivalenzklassen).

Page 44: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Restklassengruppen, Kongruenzen 44

• Fakt: Es gilt

[a+n b]n = [(a+ b) mod n]n = [a+ b]n = [a]n + [b]n und

[a • nb]n = [(a • b) mod n]n = [a • b]n = [a]n • [b]n

. Anwendung: Statt in 〈Z∗n, •n, 1〉 zu rechnen, rechne in 〈(Z/nZ)∗,+, [1]n〉.

In 〈(Z/nZ)∗,+, [1]n〉 kann man sich die Reprasentanten noch auswahlen, wasdie Rechnung haufig vereinfacht.

. Z.B. 5 • 1312 = 8 mittels:

[5 • 1312]13 = [5]13 • [12]13 = [5]13 • [−1]13 = [−5]13 = [8]13

oder kurz: 5 • 12 ≡13 5 • (−1) ≡13 −5 ≡13 8

. Z.B. 994 • 997995 • 997996 = 991 mittes:

[994 • 997995 • 997996]997 = [994]997 • [995]997 • [996]997= [−3]997 • [−2]997 • [−1]997 = [−6]997 = [991]997

oder kurz: 994 • 995 • 996 ≡997 (−3) • (−2) • (−1) ≡997 −6 ≡997 991

Page 45: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Grundlegende Eigenschaften

Page 46: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Eigenschaften (1) 46

• Lemma: Sei G=〈G, •, 1〉 eine Gruppe. Dann gilt stets (ab fur a • b):

• Das Neutrale ist eindeutig da:

Sei 1′ ∈ G mit ∀a ∈ G : 1′a = a = a1′.

Da 1 Neutrales gilt auch ∀a ∈ G : 1a = a = a1.

Damit: 1′ = 1′1 = 1

• Das Inverse ist eindeutig da:

Sei a ∈ G beliebig und b, c ∈ G mit ab = ba = ac = ca = 1.

Damit: b = b1 = b(ac) = (ba)c = 1c = c

Notation: Fur multiplikative Gruppen 〈G, •, 1〉 schreibt man a−1 fur das (jetzt)eindeutige Inverse von a ∈ G; fur additive Gruppen 〈G,+, 0〉 entsprechend −a.

Wichtig:”a−1“ bedeutet

”Bestimme das Inverse“, z.B. in 〈Z∗5, •5, 1〉 also

3−1 = 2 ∈ Z∗5 und nicht 0.3 6∈ Z∗5.

. (a−1)−1 = a und (ab)−1 = b−1a−1 da:

a und (a−1)−1 Inverse von a−1; (ab)−1 und b−1a−1 Inverse von ab.

In additiver Notation: −(−a) = a und −(a+ b) = (−b) + (−a).

Page 47: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppen – Eigenschaften (2) 47

• Lemma: Sei G=〈G, •, 1〉 eine Gruppe. Dann gilt stets (ab fur a • b):

• Kurzungsregel: Falls ab = ac, dann bereits b = c da:

b = 1b = (a−1a)b = a−1(ab) = a−1(ac) = (a−1a)c = 1c = c

Analog: Falls ba = ca, dann auch b = c

. Trivial: Falls b = c, dann auch ab = ac

Also: b = c gdw. ab = ac fur ein beliebiges a ∈ G

bzw.: b 6= c gdw. ab 6= ac fur ein beliebiges a ∈ G

• Folgerungen:

• a−1b ist die eindeutige Losung von ax = b da:

ax = b = a(a−1b), also x = a−1b nach Kurzungsregel.

. Entsprechend ba−1 eindeutige Losung von xa = b.

• Fur jedes a ∈ G sind la(x) := ax und ra(x) := xa Permutationen von G:

a−1b ist das eindeutige Urbild von b bzgl. la.

ba−1 ist das eindeutige Urbild von b bzgl. ra.

Page 48: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Ordnung eines Elements

Page 49: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 49

• Definition: Fur G=〈G, •, 1〉 eine Gruppe, a ∈ G und k ∈ N0:

a0 := 1 und ak+1 := a • (ak) und a−(k+1) := (a−1) • (a−k)

Setze dann 〈a〉 := {ak | k ∈ Z}

und ord(a) := min{k ∈ N | ak = 1} (mit min ∅ :=∞).

ord(a) heißt Ordnung von a und ist die kleinste positive Zahl mit ak = 1.

• Anmerkungen:

• Fur additiv geschriebene Gruppen 〈G,+, 0〉 wird die Definition zu

0a := 0 und (k + 1)a := a+ (ka) und (−(k + 1))a := (−a) + ((−k)a)

mit 〈a〉 = {ka | k ∈ Z} und ord(a) = min{k ∈ N | ka = 0}.

• Der Exponent zahlt nach Definition einfach, wie viele Kopien des Elements abzw. a−1 man mittels der Gruppenoperation verknupfen muss.

Man rechnet also im Exponenten ganz normal in 〈Z,+, •, 0, 1〉.

. Ubung: Insbesondere gilt fur alle a ∈ G und k, l ∈ Z:

(ak)−1 = a−k = (a−1)k akal = ak+l 〈a〉 = 〈a−1〉 ord(a) = ord(a−1)

Page 50: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 50

• Beispiel: ord((1, 2, 3)) = 3 in 〈S3, ◦, id〉 da:

(1, 2, 3)3 = ((1, 2, 3) ◦ (1, 2, 3)) ◦ (1, 2, 3) = (1, 3, 2) ◦ (1, 2, 3) = (1)(2)(3)

• Beispiel: ord(5) = 6 in 〈Z∗7, •7, 1〉 da:

56 = (5 • 75) • 754 = 4 • 75

4

= (4 • 75) • 753 = 6 • 75

3

= (6 • 75) • 752 = 2 • 75

2

= (2 • 75) • 75= 3 • 75= 1

Oder einfacher mittels 5 ≡7 −2, woraus direkt 5k ≡7 (−2)k folgt.

• Beispiel:

ord(4) = 3 in 〈Z6,+6, 0〉 da (4 +6 4) +6 4 = 2 +6 4 = 0 und

ord(4) =∞ in 〈Z,+, 0〉 da 〈4〉 = 4Z = {4k | k ∈ Z}

Page 51: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elemente: Veranschaulichung fur |G| <∞ 51

• Erinnerung: la(x) = ax und ra(x) = xa sind Permutationen auf G.

Betrachte Gra = (G, {(x, ra(x)) | x ∈ G}) (alternativ Gla) (Zykelnotation).

Gra zerfallt wieder in disjunkte Kreise (siehe auch Cayley-Graph in TA13.4):

. Beispiele:

〈Z6,+6, 0〉, a = 1

4

3

2

15

0

〈Z6,+6, 0〉, a = 2

43

2

1

5

0

〈Z∗9, •9, 1〉, a = 2

4

8

2

1

5

7

〈Z∗9, •9, 1〉, a = 4

4

8

2

1

5

7

. 〈a〉 sind gerade die Elemente des Kreises, der das Neutrale enthalt;

ord(a) = |〈a〉| ist gerade die Lange des Kreises;

Gra−1 entsteht durch Umdrehen der Kanten von Gra .

. Beobachtung: Alle Kreise von Gra haben dieselbe Lange ord(a);

Gra besteht aus genau |G|ord(a) ∈ Z Kreisen (siehe spater).

Page 52: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elemente: Veranschaulichung fur |G| <∞ 52

〈S3, ◦, Id〉, a = (1, 2, 3)

Id

(1, 2, 3)

(1, 3, 2)

(1, 2)

(2, 3)

(1, 3)

〈Z∗7, •7, 1〉, a = 5

1

5

4

6

2

3

〈Z6,+6, 0〉, a = 4

0

4

2

1

5

3

〈Z12,+12, 0〉, a = 3

03

6

9

1

47

10

2

5

8

11

Page 53: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 53

• Lemma: Sei 〈G, •, 1〉 eine Gruppe und a ∈ G mit ord(a) <∞.

Dann gilt: (Erinnerung: ord(a) = min{k ∈ N : ak = 1} ≥ 1.)

1 a−1 = aord(a)−1 da 1 = aord(a) = aord(a)−1 • a.

2 ak = ak mod ord(a) fur jedes k ∈ Z da

k mod ord(a) = k −m ord(a) fur ein geeignetes m ∈ Z, so dass

ak = a(k mod ord(a))+m ord(a) = ak mod ord(a)(aord(a))m = ak mod ord(a) • 1m

3 〈a〉 = {1, a, a2, . . . , aord(a)−1} da (2) auf Definition anwenden:

〈a〉 = {ak | k ∈ Z} = {ak mod ord(a) | k ∈ Z} = {ak | k ∈ Zord(a)}

4 |〈a〉| = ord(a) da:

Nach 3 gilt |a| ≤ ord(a). Falls |〈a〉| < ord(a), dann gibt es 0 ≤ i < j < ord(a)mit ai = aj , also aj−i = 1, womit ord(a) ≤ j − i < ord(a) folgt.

Bemerkung: Selbes Argument wie in TA5.2(b).

5 ak = ak mod ord(a) = 1 gdw. k mod ord(a) = 0 gdw. ord(a)|k da

ord(a) = ord(a−1) = min{k ∈ N | ak = 1} und 0 ≤ k mod ord(a) < ord(a).

Page 54: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 54

• Erinnerung: 〈a〉 = 〈a−1〉 in jeder Gruppe.

• Beispiel: 〈Z∗11, •11, 1〉:

〈1〉 = {1}〈2〉 = {2, 4, 8, 5, 10, 9, 7, 3, 6, 1}〈3〉 = {3, 9, 5, 4, 1}〈4〉 = 〈3〉〈5〉 = {5, 3, 4, 9, 1}〈6〉 = 〈2〉〈7〉 = {7, 5, 2, 3, 10, 4, 6, 9, 8, 1}〈8〉 = 〈7〉〈9〉 = 〈5〉〈10〉 = {10, 1}

. Also ord(2) = ord(6) = ord(7) = ord(8) = 10,ord(3) = ord(5) = ord(8) = ord(9) = 5, ord(10) = 2, ord(1) = 1.

Page 55: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 55

• Erinnerung: 〈a〉 = 〈a−1〉 in jeder Gruppe.

• Beispiel: 〈S3, ◦, id〉:

〈(1)(2)(3)〉 = {(1)(2)(3)}〈(1)(2, 3)〉 = {(1)(2, 3), (1)(2)(3)}〈(1, 2)(3)〉 = {(1, 2)(3), (1)(2)(3)}〈(1, 3)(2)〉 = {(1, 3)(2), (1)(2)(3)}〈(1, 2, 3)〉 = {(1, 2, 3), (1, 3, 2), (1)(2)(3)}〈(1, 3, 2)〉 = 〈(1, 2, 3)−1〉

• Fakt: Ist π ∈ Sn eine Permutation, die in Zykelschreibeweise die Form

π = (x(1)1 , . . . , x

(1)l1

)(x(2), . . . , x(2)l2

) . . . (x(r), . . . , x(r)lr

)

hat, dann gilt:ord(π) = |〈π〉| = kgV(l1, l2, . . . , lr)

Intuition: r Uhren, i-te Uhr braucht li Zeiteinheiten fur einen Durchlauf.

Page 56: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 56

• Satz: Sei 〈G, •, 1〉 eine endliche Gruppe.

Dann gilt fur jedes a ∈ G, dass |G| mod ord(a) = 0, also a|G| = 1.

. Erinnerung: ra(x) = xa ist Permutation, Gra = (G, {(x, xa) | x ∈ G}).

. Beweis: Fixiere ein a ∈ G und definiere x〈a〉 := {xak | k ∈ Z} fur x ∈ G.

x〈a〉 = {rka(x) | k ∈ Z} ist gerade der Kreis in Gra , der x enthalt.

1”x ∼a y gdw. x〈a〉 = y〈a〉“ ist eine Aquivalenzrelation auf G.

(”Liegen im selben Kreis in Gra .“)

2 Die Aquivalenzklasse [x]a = {y ∈ G | x ∼a y} ist gerade x〈a〉.

(”Der Kreis von x in Gra .“)

3 Jede Aquivalenzklasse [x]a hat gerade ord(a) = |〈a〉| viele Elemente.

Da Multiplikation 〈a〉 → x〈a〉 : y 7→ xy mit x bijektiv.

4 Damit gilt |G| = k ord(a) mit k = |{[x]a | x ∈ G}| die Anzahl derverschiedenen Aquivalenzklassen (

”Kreise in Gra“).

5 Insbesondere gilt daher |G| mod ord(a) = 0 und somit a|G| = 1.

Page 57: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 57

• Beispiel: Fur 〈Z12,+12, 0〉 und a = 3 gilt 〈3〉 = {3, 6, 9, 0},

so dass”x ∼a y gdw. x+12 {0, 3, 6, 9} = y +12 {0, 3, 6, 9}“:

[0]3 = {0, 3, 6, 9} [1]3 = {1, 4, 7, 10} [2]3 = {2, 5, 8, 11}

Zum Vergleich Gr3 = (Z12, {(x, x+12 3) | x ∈ Z12}):

03

6

9

1

47

10

2

5

8

11

Page 58: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 58

• Bemerkung: Fur 〈Z,+, 0〉 und a = 3 gilt 〈3〉 = 3Z,

so dass”x ∼3 y gdw. x+ 3Z = y + 3Z gdw. x ≡3 y“.

Die Kongruenz ≡n modulo n ist also ein Spezialfall von ∼a.

Alternativ kann man x ∼a y daher auch als”x und y unterscheiden sich (von

rechts) um eine Potenz von a lesen“.

(∼a ist i.A. allerdings nur eine Kongruenz, falls a mit jedem Element aus Gkommutiert.)

Page 59: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 59

• Korollar: Sei 〈G, •, 1〉 eine endliche Gruppe. Dann gilt:

1 λG := kgV({ord(a) | a ∈ G}) teilt |G| ohne Rest.

2 λG = min{λ ∈ N | ∀a ∈ G : aλ = 1}.

Man nennt λG den Gruppenexponent von G.

3 Fur jedes k ∈ Z, jedes a ∈ G und M = |G| (oder M = λG):

ak = a(k mod M)+mM = a(k mod M)(aM )m = ak mod M

. Beispiel: In 〈Z∗11, •11, 1〉 mit |Z∗11| = ϕ(11) = 11− 1

21001 = 21001 mod |Z∗11| = 21 = 2

Weiterhin gilt ord(2) = 10 und daher λZ∗11 = |Z∗11| = 10.

. Beispiel: In 〈S6, ◦, Id〉 mit |S6| = 6! = 720.

(1, 2, 3, 4, 5, 6)723 = (1, 2, 3, 4, 5, 6)723 mod |S6|

= (1, 2, 3, 4, 5, 6)3 = (1, 4)(2, 5)(3, 6)

Weiterhin gilt ord( (1, 2, 3, 4, 5, 6) ) = 6 und λS6= kgV([6]) = 60.

Page 60: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Ordnung eines Elements 60

• Spezialfall: In 〈Z∗n, •n, 1〉 Satz von Euler

1 = a|Z∗n| = aϕ(n)

bzw. aϕ(n) ≡n 1 falls ggT(a, n) = 1.

• Spezialfall: In 〈Z∗p, •p, 1〉 fur p ∈ P kleiner fermatscher Satz

1 = a|Z∗p| = aϕ(p) = ap−1

bzw. ap−1 ≡p 1 falls ggT(a, p) = 1.

• Anwendung: Gegeben endliche Gruppe 〈G, •, 1〉. Gesucht e, d ∈ Z, so dass

f(x) = xe und g(x) = xd Permutationen von G mit f−1 = g.

Es soll also ∀x : x != g(f(x)) = (xe)d = xed = xed mod |G| = xe•|G|d gelten.

Hinreichend hierfur: 1 = e • |G|d. (Notwendig: 1 = e • λGd.)

1 = e • |G|d bedeutet 1 = ggT(e, |G|) (siehe ggT, EEA).

Wahle also e ∈ Z∗|G| und bestimme d mittels EEA.

Page 61: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Untergruppen

Page 62: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Untergruppen 62

• Defintion: Sei 〈G, •, 1〉 eine Gruppe.

Eine nicht leere Teilmenge H ⊆ G wird als Untergruppe von G (kurz:H ≤ G) bezeichnet, falls • eingeschrankt auf H eine Gruppe definiert.

• Beispiele:

• 〈a〉 definiert eine (kommutative) Untergruppe fur jedes a ∈ G.

Speziell fur 〈Z,+, 0〉: 〈n〉 = nZ.

• Z definiert eine Untergruppe von 〈R,+, 0〉

• Zn definiert keine Untergruppe von Z.

• Die Automorphismen eines Graphens mit n Knoten bilden eine Untergruppejeder symmetrsichen Gruppe 〈Sm, ◦, id〉 mit mindestens m ≥ n Elementen.

. Spezialfall: Die Symmetrien des regelmaßigen n-Ecks definieren eine alsDiedergruppe Dn bezeichnete Untergruppe der 〈Sn, ◦, id〉 ([Bsp])

Das sind gerade die Graphautomorphismen des ungerichteten Kreises mit nKnoten.

Es gilt |Dn| = 2n, also S3 = D3, aber fur n > 3 echte Untergruppe.

Page 63: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Untergruppen 63

• Beispiel D4 ≤ S4 (siehe auch TA5.1)

Bildquelle: [wikipedia.de]

Page 64: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Untergruppen 64

• Lemma: Sei 〈G, •, 1〉 Gruppe und ∅ 6= H ⊆ G mit H ≤ G.

Dann erbt H das Neutrale und die Inversen von G, da:

• Sei 1H das Neutrale in H. Dann folgt 1H = 1, da in G gilt:

1H = 1H1 = 1H(1H1−1H ) = (1H1H)1−1

H = 1H1−1H = 1

• Weiterhin sind die Inversen in G eindeutig.

• Lemma: Sei 〈G, •, 1〉 Gruppe und ∅ 6= H ⊆ G. Dann gilt

H ≤ G gdw. ∀a, b ∈ H : ab−1 ∈ H

da:

• Es gelte H ≤ G: nach oben auch b−1 ∈ H und • auf H abgeschlossen.

• Es gelte ∀a, b ∈ H : ab−1 ∈ H.

Dann gilt aa−1 = 1 ∈ H und damit 1b−1 = b−1 ∈ H fur alle a, b ∈ H.

Wegen (b−1)−1 = b folgt ab = a(b−1)−1 ∈ H fur alle a, b ∈ H.

Page 65: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Zyklische Gruppen

Page 66: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Zyklische Gruppen 66

• Definition: Eine Gruppe 〈G, •, 1〉 heißt zyklisch,

falls es ein a ∈ G mit 〈a〉 = G gibt;

a heißt dann Erzeuger/Generator von G.

. Fakt:

Jede zyklische Gruppe ist kommutativ da ak • al = ak+l = alak.

. Beispiele:

• 〈Z,+, 0〉 ist zyklisch; Erzeuger 1 und −1.

• 〈Zn,+n, 0〉 ist zyklisch; Erzeuger Z∗n (folgt).

• 〈Sn, ◦, id〉 ist nicht zyklisch i.A., da nicht kommutativ fur n ≥ 3.

• 〈Z∗n, •n, 1〉 zykl. gdw. n ∈ {2, 4, pr, 2pr : p ∈ P \ {2}, r ∈ N} (ohne Beweis).

Bemerkung: Wegen ggT(0, 1) = 1 gilt Z∗1 = {0} und somit 1 6∈ Z∗1. Also ist〈Z∗1, •1, 1〉 keine Gruppe. Je nach Literatur wird Z∗1 jedoch dennoch als zyklischbetrachtet, dann ist allerdings 〈Z∗1, •1, 0〉 gemeint.

• 〈a〉 ist immer eine zyklische Untergruppe.

Page 67: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Zyklische Gruppen 67

• Lemma: Sei 〈G, •, 1〉 zyklisch und endlich mit N := |G|. Dann gilt fur a ∈ G:

〈a〉 = G gdw. ∀p ∈ {p ∈ P : p | N} : aN/p 6= 1

. Beweis:

Falls a Erzeuger, dann ord(a) = N , also aN/p 6= 1, da N/p < ord(a).

Falls a kein Erzeuger, ord(a) < N ∧ ord(a)|N . Wahle p ∈ P mit p | Nord(a) .

. Korollar 1: Jede Gruppe 〈G, •, 1〉 mit p := |G| ∈ P ist zyklisch.

da: (1) ord(a) ∈ {1, p} und (2) ord(a) = 1 gdw. a = 1.

Also 〈a〉 = G gdw. a 6= 1.

. Korollar 2: Z∗n ist gerade die Menge der Erzeuger von 〈Zn,+n, 0〉.

da: 〈a〉 6= Zn gdw. ∃p|n : np • na = 0 gdw. ∃p|n : p|a gdw. ggT(a, n) ≥ p > 1.

Page 68: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Zyklische Gruppen 68

• Lemma:

Jede Untergruppe H ≤ G einer zyklischen Gruppe 〈G, •, 1〉 ist zyklisch.

. Beweis: Sei 〈g〉 = G. OBdA. H 6= {1}.1 Sei I = {k ∈ Z | gk ∈ H}. Da H ⊆ G = 〈g〉 gilt H = {gk | k ∈ I}.

2 Da H Gruppe: (1) k + l ∈ I fur k, l ∈ I, (2) k ∈ I gdw. −k ∈ I, (3) 0 ∈ I.

3 Sei m := min{k ∈ N : gk ∈ H} = min(I ∩ N) die kleinste positive Zahl in I.

4 Dann gilt auch mZ ⊆ I, da 〈gm〉 = {gk | k ∈ mZ} ⊆ H.

5 Wir zeigen, dass I = mZ und damit 〈gm〉 = H. Sei hierfur n ∈ I beliebig.

6 Dann gilt auch n+mZ ⊆ I, also auch n mod m ∈ I.

7 Da 0 ≤ n mod m < m und m = min(I ∩ N) folgt n mod m = 0.

. Korollar: Speziell fur G = 〈Z,+, 0〉 folgt H = I = mZ in obigem Beweis.

D.h. die zyklischen Untergruppen von 〈Z,+, 0〉 sind gerade von der Form〈mZ,+, 0〉 fur m ∈ N0.

Page 69: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

Homomorphie und Isomorphie

Page 70: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Homomorphie und Isomorphie 70

• Definition: Seien 〈GA, •A, 1A〉 und 〈GB , •B , 1B〉 Gruppen.

h : GA → GB heißt Homomorphismus, falls fur alle a, b ∈ GA

h(a • Ab) = h(a) • Bh(b)

Falls h bijektiv, nennt man h Isomorphismus und GA ∼= GB ismorph.

. Beispiele: Homomorphien (”von ahnlicher Gestalt“)

• h : 〈Z,+, 0〉 → 〈Z/nZ,+, [0]n〉 : z 7→ [z]n

• h : 〈R,+, 0〉 → 〈{(x, y) ∈ R2 | x2 + y2 = 1},⊕, (0, 1)〉 : x 7→ (sinx, cosx)

. Beispiele: Isomorphien (”von gleicher Gestalt“)

• 〈Z/nZ,+, [0]n〉 ∼= 〈Zn,+n, 0〉 und

〈(Z/nZ)∗, •, [1]n〉 ∼= 〈Z∗n, •n, 1〉

mittels h([k]n) = k mod n und h−1(k) = [k]n.

• 〈R,+, 0〉 ∼= 〈R>0, •, 1〉 mittels h(x) = ex und h−1(x) = log x.

Page 71: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Homomorphie und Isomorphie 71

• Lemma: Ist h : GA → GB ein Homomorphismus von Gruppen, dann gilt:

1 h(1A) = 1B da: 1B • Bh(1A) = h(1A) = h(1A • A1A) = h(1A) • Bh(1A).

2 h(a−1) = h(a)−1 da: h(a) • Bh(a)−1 = 1b = h(a • Aa−1) = h(a) • Bh(a−1).

3 h(〈a〉) = 〈h(a)〉 da: h(〈a〉) = {h(ak) | k ∈ Z} = {h(a)k | k ∈ Z} = 〈h(a)〉.

4 ord(a) ≥ ord(h(a)) (falls h Isomorphismus, dann ord(a) = ord(h(a)).

da: ord(a) = |〈a〉| ≥ |h(〈a〉)| = |〈h(a)〉| = ord(h(a)).

5 h(GA) ≤ GB da: h(x) • Bh(y)−1 = h(x • Ay−1) ∈ h(GA).

6 h−1(1B) ≤ GA da: h(x • Ay−1) = h(x) • Bh(y)−1 = 1B • 1B = 1B .

7 Ist h Isomorphismus, dann auch die Umkehrabbildung h−1

da: h−1(h(x) • Bh(y)) = h−1(h(x • Ay)) = x • Ay = h−1(h(x)) • Ah−1(h(y)).

8 Ist h Isomorphismus, dann 〈a〉 = GA gdw. 〈h(a)〉 = GB da: 4 .

Page 72: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Homomorphie und Isomorphie 72

• Lemma: Falls G = 〈g〉 = {gk | k ∈ Z} zyklische Gruppe, dann ist

• h : 〈Z,+, 0〉 → 〈G, •, 1〉 : k 7→ gk Homomorphismus,

sogar Isomorphismus, falls G nicht endlich.

Da: G = {gk | k ∈ Z} und gk • gl = gk+l.

• h : 〈Z|G|,+|G|, 0〉 → 〈G, •, 1〉 : k 7→ gk Isomorphismus, falls G endlich.

Da: G = {gk | k ∈ Z|G|} und gk • gl = g(k+l) mod |G| = gk+nl.

. Diskrete Version von 〈R,+, 0〉 ∼= 〈R>0, •, 1〉 mittels h(x) = ex.

(Allerdings sind 〈R,+, 0〉 und 〈R>0, •, 1〉 nicht zyklisch.)

. Korollar: {gk | k ∈ Z∗|G|} sind genau die Erzeuger von G = 〈g〉.

da: h : Z|G| → G : k 7→ gk Ismorphismus;

Isomormphismen bilden eindeutig Erzeuger auf Erzeuger ab;

Z∗n ist die Menge der Erzeuger von 〈Zn,+n, 0〉.

Page 73: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Homomorphie und Isomorphie 73

• Aus der Sicht der Gruppentheorie sind isomorphe Gruppen aquivalent – kenntman einen Isomorphismus h : G1 → G2, so kann man sich prinzipiellaussuchen, in welcher der beiden Gruppen man rechnen mochte:

a • 1b = h−1(h(a)) • 1h−1(h(b)) = h−1(h(a) • 2h(b))

• Beispiele:

• [5 • 1312]13 = [5]13 • [12]13 = [8]13

also 5 • 1312 = 8

oder kurzer: 5 • 12 ≡13 5 • (−1) ≡13 −5 ≡13 8

• [995 • 997 . . . • 997995︸ ︷︷ ︸1000Faktoren

]997 = [995]1000997 = [−2]4997 = [16]997

also 9951000 mod 997 = 16

oder kurzer: 9951000 ≡997 (−2)4 ≡997 16

Page 74: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Homomorphie und Isomorphie 74

• Fur die Kryptographie ist aber auch die Frage der effizienten Berechnungeines Isomorphismus h bzw. h−1 wichtig.

. Diskreter-Logarithmus-Problem (DLP):

Gegeben 〈g〉 = G und a ∈ G, find das k ∈ Z|G| mit gk = a.

D.h. berechne h−1(a) fur h(k) = gk der kanonische Isomorphismus.

. Ubung: DLP ist trivial in 〈Zn,+n, 0〉 und in 〈Z,+, 0〉 (additive Notation!).

. Die Kryptographie ist gerade an zyklischen Gruppen interessiert, fur welchedas DLP nicht effizient gelost werden kann.

Kandidaten: bestimmte zyklische Untergruppen von 〈Z∗p, •p, 1〉 fur p ∈ P;bestimmte zyklische Untergruppen von elliptischen Kurven.

Page 75: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

Gruppentheorie

RSA, ElGamal

Page 76: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

RSA 76

• Lemma: Sei 〈G, •, 1〉 eine endliche Gruppe.

Fur jedes feste k ∈ Z sei Ek : G→ G : a 7→ ak.

1 Falls k ≡|G| k′, dann sind Ek und Ek′ identisch da

Falls |G| |(k − k′), dann ∀a ∈ G : ak−k′

= 1 und ∀a ∈ G : ak = ak′

2 Falls ggT(k, |G|) = 1, dann ist Ek bijektiv und

es gilt E−1k = Ek′ fur jedes k′ ∈ Z mit k • k′ ≡|G| 1 da:

Ek(Ek′(a)) = akk′

= akk′ mod |G| = a.

• Erinnerung: Gruppenexponent λG, falls G endlich:

λG = kgV({ord(a) | a ∈ G}) = min{λ ∈ N | ∀a ∈ G : aλ = 1}. Bemerkung: Mittels λG gilt genauer:

1 k ≡λG k′ gdw. Ek und Ek′ identisch

2 Ek ist bijektiv gdw ggT(k, λG) = 1

3 Gilt ggT(k, λG) = 1, dann gibt es ein k′ ∈ Zλ∗G mit E−1k = Ek′ .

Insbesondere kann k 6≡|G| k′ ∧ k ≡λG k′ gelten.

Page 77: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

RSA 77

• Generische Basisversion von RSA:

1 Empfanger wahlt G so, dass er M = |G| (oder M = λG) berechnen kann;

wahlt dann k ∈ Z∗M und berechnet k′ ∈ Z∗M mit kk′ ≡M 1.

2 Empfanger veroffentlicht G und k in geeigneter Form.

3 Sender codiert Nachricht m in Gruppenelement a;

schickt das permutierte Element Ek(a) uber offentlichen Kanal.

4 Empfanger berechnet a = Ek′(Ek(a)) und gewinnt daraus wieder m.

• Zentrale Anforderung an G:

Allein unter der Kenntnis von G und Ek(a) ist es in einem realistischenZeitraum

”nicht moglich”a (und daher auch nicht |G| , λG, k′) zu berechnen

. Kandidaten fur geeignete Gruppen G:

〈Z∗pq, •pq, 1〉 mit p 6= q sehr große Primzahlen. Es gilt∣∣Z∗pq∣∣ = (p− 1)(q − 1).

Empfanger veroffentlicht nur k und ausgewertetes Produkt N := pq.

Page 78: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

RSA 78

• Beispiel fur p = 41, q = 43, N = pq = 1763:

Dann gilt ϕ(41 • 43) =∣∣Z∗pq∣∣ = (41− 1)(43− 1) = 23 • 5 • 2 • 3 • 7 = 1680.

Wahle z.B. k = 11 ∈ Z∗1680.

Mittels EEA:a b bb/ac α β11 1680 152 611 −48 11 1 −4 33 8 2 3 −12 3 1 −1 11 2 1 1 0

Also k′ = 611 mit 11 • 1680611 = 1.

”Verschlusseln” von 71: E11(71) = (7111) mod 1763 = 270

”Entschlusseln” von 270: E611(270) = (270611) mod 1763 = 71

Page 79: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

ElGamal 79

• Generische Version von ElGamal:

1 Empfanger wahlt endliche zyklische Gruppe 〈G, •, 1〉 samt Erzeuger g.

Wahlt weiterhin zufalliges x ∈ Z|G| und berechnet hx = gx in G.

2 Empfanger veroffentlicht hx, g und”G“ in geeingeter Form

3 Sender codiert Nachricht m als Gruppenelement a.

Wahlt weiterhin zufalliges y ∈ Z|G| und berechnet hy = gy und c = hyx •a in G.

Verschickt dann hy und c uber offentlichen Kanal.

4 Empfanger berechnet h−xy • c = g−xy • gxy • a = a in G.

. Notwendige Forderung an G:

Berechnen von x aus hx bzw. y aus hy darf nicht in einem realistischenZeitraum moglich sein, d.h. der inverse Ismorphismus zu Z|G| → G : k 7→ gk

muss”schwer“ zu berechnen sein (DLP).

. Kandidaten fur geeignete Gruppen G:

Bestimmte Untergruppen von 〈Z∗p, •p, 1〉 fur p prim; bestimmte Untergruppenelliptischer Kurven.

Page 80: Diskrete Strukturen Algebra - in.tum.de · Einf uhrung 4 UnterAlgebraversteht man den Teilbereich der Mathematik, der sich mit dem Studium der Eigenschaften von (Rechen-)Operationen

RSA, ElGamal – Anmerkungen 80

• RSA wird in der vorgestellten Form nur als Bausstein furVerschlusselungsverfahren benutzt.

. Ublicherweise verwendet man RSA nur, um den Schlussel fur z.B.AES-basierte Verschlusselungsverfahren auszutauschen.

. Fur die Einbettung von Binardaten in die Gruppe wird z.B. das randomisierte[Optimal Asymmetric Encryption Padding] verwendet.

• Fur ElGamal verwendet man meistens die Untergruppe 〈g2〉 von 〈Z∗p, •p, 1〉fur 〈g〉 = Z∗p (p ∈ P).

. ElGamal wird ebenfalls hochstens zum Schlusselaustausch verwendet –meistens allerdings nur das zugrundeliegende Diffie-Hellman-Protokoll:

Hier wahlt der Sender nur y und sendet nur hy an den Empfanger. Aushyx = gxy = hxy bestimmen beide Parteien dann den gemeinsamen Schlusselfur z.B. AES-basierte Verschlusselungsverfahren.

• [Aktuelle Empfehlung] des BSI fur Sicherheit bis 2038:

Fur RSA p, q ≥ 21500.

Fur ElGamal/DLP in 〈Z∗p, •p, 1〉: p ≥ 23000