Seminar zum Thema Kryptographie Michael Hampton 11. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 1.1 Konventionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Wiederholung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Hauptteil 6 2.1 Gruppen/ Untergruppen und Ordnung . . . . . . . . . . . . . . . . . . . . 6 2.2 Prime Restklassengruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Eulersche phi-Funktion und kleine Satz von Euler . . . . . . . . . . . . . . 10 2 1 Einleitung Diese Ausarbeitung handelt vom Satz von Euler und dessen Beweis. Dazu wird vorher ein kleiner Teil der Gruppentheorie wiederholt. Als Quellen wurden aus dem Kapitel 2 des Buches Einführung in die Kryptographie von Johannes Buchmann die Sätze und Denitionen 2.8-2.12 und das Kapitel 1.2 aus dem Buch Lineare Algebra von Gerd Fischer, sowie eigene Unterlagen verwendet. 1.1 Konventionen In diesem Abschnitt gehe ich auf Konventionen ein, die ich in dieser Arbeit verwende. Ich schreibe für die N = {1, 2, 3, 4, ...} für die natürlichen Zahlen ohne 0 und Z = {0, ±1, ±2, ±3, ...} ganzen Zahlen. 1.2 Wiederholung Dieser Abschnitt dient dazu, die wichtigsten Begrie in Erinnerung zu rufen. Dention 1.2.1: Teiler und Vielfaches Seien a, b ∈ Z. Man sagt a teilt b (geschrieben Das Element a ist dann ein Wenn kein solches c a|b), c ∈ Z existiert mit b = ac. b ein Vielfaches von a. a - b. falls ein Teiler von b und existiert schreibt man Beispiel 1. Es gilt 6|30, da 30 = 5 · 6 ist. Beispiel 2. Sei a ∈ Z. Für alle a gilt: a|0 weil 0 = a · 0 für alle a ist. Dention 1.2.2: gemeinsamer Teiler/ Teilerfremd a, b, c ∈ Z. Das Element c Seien ist ein gemeinsamer Teiler von c|a und a und b, c|b Unter allen gemeinsamen Teilern zweier ganzen Zahlen gleich 0 sind, gibt es genau einen gröÿten. Dieser heiÿt Teiler (ggT) von a und b und wird mit 3 wenn gilt: ggT (a, b) a und b, die nicht beide gröÿter gemeinsamer bezeichnet. Weiterhin wird der gröÿte gemeinsame Teiler von 0 und 0 auf 0 gesetzt. Also Falls ggT (a, b) = 1, sagen wir, a und b sind ggT (0, 0) = 0. teilerfremd. An dieser Stelle möchten wir uns kurz klarmachen, dass auch wirklich ein gröÿter gemeinsamer Teiler existiert. a, b ∈ Z, und a 6= 0. a durch |a| beschränkt Seien dazu Da alle Teiler von sind, muss es unter allen Teilern von a damit unter allen gemeinsamen Teilern von und b a und einen gröÿten geben. Beispiel 3. Zum Beispiel gilt: 1. ggt(18,30)=6, 2. ggt(-10,20)=10, 3. ggt(-20,-14)=2. Dention 1.2.3: Kongruenz Sei m∈N a, b ∈ Z. a ist kongruent zu b modulo m b − a teilt. und Wir sagen, Dierenz und schreiben a ≡ b mod m, wenn m die Dention 1.2.4: Ring Eine Menge R zusammen mit zwei Verknüpfungen + :R × R → R, (a, b) 7→ a + b, und · :R × R → R, (a, b) 7→ a · b, heiÿt Ring, wenn folgendes gilt: R1) Die Menge R ist mit der Addition + eine abelsche Gruppe. R2) Die Multiplikation · ist assoziativ. R3) Es gelten die Distributivgesetze, also für alle • a · (b + c) = a · b + a · c a, b, c ∈ R gilt: und • (a + b) · c = a · c + b · c. Der Ring heiÿt kommutativ, wenn die Halbgruppe (R, ·) kommutativ ist. Beispiel 4. (Z, +, ·) ist ein kommutativer Ring mit Einselement 1 und daraus leitet man ab, dass (Z/mZ, +, ·) ein kommutativer Ring mit Einselement 1 + mZ ist. Der letzere Ring heiÿt Restklassenring modulo m. 4 Dention 1.2.5: nullteilerfrei Ein Ring heiÿt nullteilerfrei, falls für a, b ∈ R a·b=0⇒a=0 gilt: oder b = 0. Dention 1.2.6: Einheit Sei R ein nullteilerfreier kommutativer Ring mit 1. u ∈ R heiÿt Einheit, falls es ein v ∈ R gibt mit u · v = 1. ∗ schreiben R = {u ∈ R|u ist eine Einheit} für die Menge aller Einheiten Ein Element Wir in R. Dention 1.2.7: prim Sei R wieder ein nullteilerfreier kommutativer Ring mit 1. p ∈ R \ (R∗ ∪ {0}). Das Element p heiÿt prim oder Primelement, wenn für alle a, b ∈ R mit p|a · b immer p|a oder p|b folgt. Weiter sei 5 2 Hauptteil Zur Motivation dieses Vortrages: 3160 Wir möchten die Restklasse von modulo 10 bestimmen. Durch geschicktes Anwenden von Potenzgesetzen erhalten wir folgende Lösung: 3160 ≡ 32·80 ≡ (32 )80 ≡ 980 ≡ (−1)80 ≡ 1 ein ähnliches Beispiel ist 3161 modulo 8. mod 10. Eine mögliche Lösung ist: 3161 ≡ 3 · 3160 ≡ 3 · 980 ≡ 3 · 180 ≡ 3 mod 8. Hierbei kann man sich schon denken, dass es nicht leicht ist, solche Arten von Aufgaben zu lösen. Beispielsweise ist 11182 modulo 19 schon nicht mehr so leicht zu rechnen. Nun wäre es hilfreich Sätze oder Regeln zu kennen, die einem dabei helfen. Vorher sollte man sich nochmal ein paar Denitionen in Erinnerung rufen. 2.1 Gruppen/ Untergruppen und Ordnung Dention 2.1.1: Gruppe Eine Menge G zusammen mit einer Verknüpfung ◦ heiÿt Gruppe, wenn folgende Axiome erfüllt sind: G1) (Assoziativgesetz) Es gilt (a ◦ b) ◦ c = a ◦ (b ◦ c) G2) (neutrales Element) Es existiert ein G3) (inverses Element) Zu jedem a∈G e∈G gibt es ein Gilt zusätzlich das Kommutativgesetz, also Gruppe mit für alle e◦a=a a0 ∈ G a◦b = b◦a a, b, c ∈ G. für alle mit a ∈ G. a0 ◦ a = e. für alle a, b, ∈ G, heiÿt die abelsch. Gilt nur G1, dann nennen wir (G, ◦) eine Halbgruppe. Beispiel 5. Folgende Menge mit deren Verknüpfungen sind Gruppen, Halbgruppen bzw. keine Gruppen: 1. (Z, +) ist eine abelsche Gruppe 2. (Z, ·) ist eine Halbgruppe, da nicht jedes Element ein Inverses besitzt. 3. (Z/9Z, ·) ist keine Gruppe, da die 0,3,6 kein inverses in der Menge besitzen. 6 G eine Als nächstes führen wir Elementordnungen und ihre Eigenschaften ein. Dazu sei Gruppe, die multiplikativ geschrieben ist, mit neutralem Element 1. Dention 2.1.2: Ordnung g ∈ G. Sei e Wenn es eine natürliche Zahl Zahl Ordnung von g in G. gibt mit g e = 1, dann heiÿt die kleinste solche Andernfalls sagt man, dass die Ordnung von g unendlich ist. Die Ordnung von in G wird mit ordG (g) ist, um welche Gruppe es sich handelt, schreibt man auch g in G bezeichnet. Wenn es klar ord(g). Beispiel 6. Sei G := (Z/4Z, +). OrdG (1) = 4, da 14 = 1 + 1 + 1 + 1 = 0, und OrdG (2) = 2, da 22 = 2 + 2 = 0. Dann ist Satz 2.1.1 g∈G Sei e Dann gilt g Beweis. Sei e ∈ Z. = 1 genau und n = ord(g) dann, wenn und k ∈ Z. e durch die Ordnung von Wenn e = kn g in G teilbar ist. ist, dann folgt g e = g kn = (g n )k = 1k = 1. Sei umgekehrt g e = 1. Sei weiterhin e = qn + r mit 0 ≤ r < n. Dann folgt g r = g e−qn = g e (g n )−q = 1. Weil n g n = 1, und weil 0 ≤ r < n Teiler von e, wie behauptet. die kleinste natürliche Zahl ist mit und damit e = qn sein. Also ist n ein ist, muss r=0 Korollar 2.1.1. Sei g ∈ G und seien k, l ∈ Z. Dann gilt: g l = g k ⇔ l ≡ k mod ord(g). Beweis. Folgt direkt mit e=l−k aus Satz 2.1.1. Dention 2.1.3: Untergruppe Eine Teilmenge von G U ⊆G heiÿt Untergruppe von G, selbst eine Gruppe ist. 7 wenn U mit der Verknüpfung Beispiel 7. Für jedes g ∈ G bildet die Menge {g k : k ∈ Z} eine Untergruppe von G. Sie heiÿt die von g erzeugte Untergruppe und wird mit < g > bezeichnet. g endliche Ordnung e, dann ist < g >= {g k : 0 ≤ k < e} und e die Ordnung von < g >. Ist nämlich x eine ganze Zahl, dann gilt g x = g x mod e . Hat Wenn man nun beispielsweise Die Gruppe (Z/11Z)* (Z/11Z)* untersucht, stellt man folgendes fest: besteht aus der Menge {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Wir schauen uns dabei die 3 näher an und multiplizieren 3 immer wieder mit sich selbst. 31 = 3 32 = 9 33 = 27 ≡ 5 34 = 33 · 3 = 5 · 3 = 15 ≡ 4 35 = 4 · 3 = 12 ≡ 1 36 = 1 · 3 = 3 Dabei fällt auf, dass man nicht alle Elemente der Gruppe trit. Wenn man allerdings die 2 untersucht, stellt man fest, dass alle Element der Gruppe getroen werden. Dention 2.1.4: zyklische Gruppe und Erzeuger Wenn G. G =< g > für ein g ∈ G ist, so heiÿt G zyklisch G ist dann die von g erzeugte Gruppe. und g heiÿt Erzeuger von Die Gruppe Beispiel 8. Die additive Gruppe (Z, +) ist zyklisch mit 2 Erzeugern 1 und -1, denn durch eine additive Verknüpfung können wir jede ganze Zahl zyklisch erzeugen (ebenfalls durch -1). Beispiel 9. Beispiel für eine nicht Zyklische Gruppe: (Z/8Z)∗ ist eine nicht zyklische Gruppe, denn: Die Gruppe (Z/8Z)∗ hat genau 4 Elemente. Es gilt: (Z/8Z)∗ = {1, 3, 5, 7}. Da aber gilt: 32 = 9 ≡ 1 mod 8, 2 5 = 25 ≡ 1 mod 8, 72 = 49 ≡ 1 mod 8, 8 folgt, dass (Z/8Z)∗ nicht zyklisch ist, da jedes von 1 verschiedene Element nur eine Un- tergruppe der Ordnung 2 erzeugt. Bemerkung 2.1.2. In den Vorträgen zu dem diskretem Logarithmus werden wir die zyklischen Gruppen nochmal brauchen. Satz 2.1.2 sie ein Element der Ordnung |G| Elementen |G| enthält. g∈G die Äquivalenz: Eine endliche Gruppe Genauer gilt für jedes G mit g Beweis. Die Untergruppe dann gleich ganz G, wenn erzeugt ist dann und nur dann zyklisch, wenn G ⇔ ord(g) = |G| < g > besteht m = |G|. aus m = ord(g) Elementen. Sie ist also genau Satz 2.1.3 Ist G eine endliche Gruppe, so teilt die Ordnung jeder Untergruppe die Ordnung von G. Beweis. Sei H eine Untergruppe von G. Wir sagen, dass 2 Elemente a und b aus G ab−1 zu a/b = H gehört. Dies ist eine Äquivalenzrelation: a/a = 1 ∈ H , daher ist die Relation reexiv. folgt aus a/b ∈ H , dass auch b/a ∈ H , weil H eine Gruppe ist. Daher äquivalent sind, wenn Es ist nämlich Auÿerdem ist die Relation symmetrisch. Ist schlieÿlich a/b ∈ H und b/c ∈ H , so ist auch a/c = (a/b)(b/c) ∈ H . Also ist die Relation auch transitiv. Wir zeigen, dass die Äquivalenzklassen alle die gleiche Anzahl von Elementen haben. Die a ∈ G ist {ha : h ∈ H}. Seien a,b zwei Elemente aus G. Betrachte die Abbildung {ha : h ∈ H} → {hb : h ∈ H}, ha → hb. Die Abbildung ist injektiv, weil in H die Kürzungsregel gilt. Die Abbildung ist auÿerdem Äquivalenzklasse von oensichtlich surjektiv. Daher haben beide Äquivalenzklassen gleich viele Elemente. Es ist damit gezeigt, dass alle Äquivalenzklassen die gleiche Anzahl von Elementen haben. Eine solche Äquivalenzklasse ist aber die Äquivalenzklasse von 1 und die ist Anzahl der Elemente in den Äquivalenzklassen ist somit Vereinigung aller Äquivalenzklassen ist, ist |G| 9 |H|. G aber |H|. Weil ein Vielfaches von H. Die die disjunkte 2.2 Prime Restklassengruppen Dention 2.2.1: Prime Restklasse Eine Restklasse a + mZ in Z/mZ heiÿt prim, falls sie in Z/mZ b ∈ Z mit ab ≡ 1 mod m existiert. ein multiplikatives Inverses hat, also ein Im Vortrag 1 wurde folgender Satz gezeigt, den wir für den Beweis vom Satz 2.2.2 benötigen. Satz 2.2.1 Die Restklasse a + mZ ist genau dann in genau dann lösbar, wenn von a + mZ Z/mZ invertierbar, d.h. die Kongruenz ist ggT (a, m) = 1 gilt. Ist ggT (a, m) = 1, dann ist das Inverse eindeutig bestimmt. Die Gruppe der primen Restklassen modulo modulo m und wird mit (Z/mZ)∗ m heiÿt prime Restklassengruppe bezeichnet. Ihre Ordnung bezeichnet man mit ϕ(m). Satz 2.2.2 Sei m ∈ N. Die Menge aller primen Restklassen modulo m bildet eine endliche abelsche Gruppe bezüglich der Multiplikation. Beweis. Nach Satz 2.2.1 ist diese Menge die Einheitengruppe des Restklassenringes mod m. 2.3 Eulersche phi-Funktion und kleine Satz von Euler Bei dem Problem am Anfang von Kapitel 2 hilft uns nun genau der folgende Satz von Leonhard Euler. Vorher eine kurze Erinnerung zu Teilbarkeit in Restklassenringen. Eine Restklasse a + mZ oder a mod Die Abbildung m ist genau dann invertierbar, wenn, N → N; m 7→ ϕ(m) heiÿt Eulersche ϕ -Funktion. Es gilt ϕ(m) = |{x ∈ N|1 ≤ x ≤ m ∧ ggT (x, m) = 1}|. 10 ggT (a, m) = 1. Beispiel 10. Beispielsweise gilt: ϕ(6) = |{1, 5}| = 2, ϕ(9) = |{1, 2, 4, 5, 7, 8}| = 6, ϕ(17) = |{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}| = 16. Satz 2.3.1 Falls p eine Primzahl ist, gilt Beweis. Da p ϕ(p) = p − 1. eine Primzahl ist, und deshalb nur durch sich selbst und 1 teilbar ist, ist sie zu den Zahlen 1 bis p−1 teilerfremd. Weil sie gröÿer als 1 ist, ist sie auÿerdem nicht zu sich selbst teilerfremd. Beispiel 11. Wir wollen ϕ(35 ) bestimmen. Jetzt kann man sich überlegen, ob man alle teilerfremden Zahlen zählt oder alle nicht teilerfremden. Dabei ist es ab Besten, wenn man alle Zahlen zählt, deren Primfaktorzerlegung eine Drei enthält, denn alle Vielfachen von 3 sind nicht teilerfremd zu Vielfache der 3 sind die Zahlen: 35 . 3 · 1, 3 · 2, 3 · 3, ..., 3 · (34 − 1), 3 · 34 . | {z } 34 Vielfache der 3 Daraus folgt: ϕ(35 ) = 35 − 34 = 162. Satz 2.3.2 Sei p eine Primzahl und m ∈ N. Dann ist ϕ(pm ) = pm − pm−1 . Falls m groÿ und keine Primzahl bzw. Potenz einer Primzahl ist, ist ϕ(m) aktuell noch schwer zu bestimmen. Im Vortrag über den Chinesischen Restsatz wird eine Formel hergeleitet, die es ermöglicht, ϕ(m) im Allgemeinen zu bestimmen. Satz 2.3.3: Satz von Euler a, m ∈ N. Wenn ggT (a, m) = 1 Seien ist, dann folgt aϕ(m) ≡ 1 mod m. Beweis. Es gelte Die Funktion gleich m ggT (a, m) = 1. ϕ(m) gibt die Anzahl der zu m sind. 11 teilerfremden Zahlen wieder, die kleiner k1 , k2 , ..., kϕ(m) . Jetzt können wir zu den einzelnen ki die Zahl a dran multiplizieren, also a · k1 , a · k2 , ..., a · kϕ(m) , damit bleiben die Zahlen weiterhin teilerfremd, da a zu m teilerfremd ist. Daraus folgt ggT (aki , m) = 1. Es entsteht lediglich eine Permutation der ki . Wenn wir nun alle ki mit einander multiplizieren, erhalten wir folgende Kongruenz: Die einzelnen Elemente bezeichnen wir als k1 · k2 · ... · kϕ(m) ≡ a · k1 · a · k2 · ... · a · kϕ(m) ⇒ 1 ≡ |a · a {z · ... · a} mod ⇒ 1 ≡ aϕ(m) m. mod m m ϕ(m)−mal mod Der Satz von Euler dient der Reduktion groÿer Exponenten modulo m, wie im folgendem Beispiel: Beispiel 12 (Anwendung des Satzes von Euler). Als Beispiel möchten wir die letzte Dezimalstelle von und 7222 wissen. Es gilt ggT (7, 10) = 1 ϕ(10) = 4. Der Satz von Euler liefert: 74 ≡ 1 mod 10 und wir erhalten 7222 = 74·55+2 = (74 )55 · 72 = 155 · 72 ≡ 49 ≡ 9 12 mod 10. Literaturverzeichnis [1] Buchmann, Johannes: Einführung in die Kryptographie. 6. Au. Springer-Verlag, Darmstadt, 2016 [2] Fischer,Gert: Lineare Algebra. 18. Au. Springer-Verlag, München, 2013 13