Kapitel 3.1 Ganze Zahlen, Gruppen und Ringe Kapitel 3 Elementare Zahletheorie 89 Die ganzen Zahlen 90 Rechenregeln Für a, b, c ∈ Z gelten (a + b) + c = a + (b + c) a+b = b+a a+0 = 0+a = a a + (−a) = (−a) + a = 0 Menge der ganzen Zahlen Z = {. . . , −3, −2, −1, 0, 1, 2, 3, . . .} Es gibt zwei Operationen Addition: Z × Z −→ Z, (a, b) 7−→ a + b Zu jeder ganzen Zahl gibt es ein additives Inverses Z −→ Z, a 7−→ −a Es gilt a + (−a) = 0 Multiplikation: Z × Z −→ Z, (a, b) 7−→ a · b (+ ist assoziativ) (+ ist kommutativ) (0 ist neutrales Element bzgl. +) (Inverse bzgl. +) (a · b) · c a·b a·1 = = = a · (b · c) b·a 1·a = a (· ist assoziativ) (· ist kommutativ) (1 ist neutrales Element bzgl. ·) a · (b + c) = a·b+a·c (Distributivgesetz) Ausgezeichnete Elemente: 0: Neutrales Element bezüglich Addition 1: Neutrales Element bezüglich Multiplikation 91 92 Verknüpfungen Erinnerung an die Teilbarkeitsrelation Definition 3.1 (Verknüpfung) Definition 3.3 Sei M eine Menge. Eine Verknüpfung ◦ auf M ist eine Abbildung Seien a, b ∈ Z. Die Zahl a teilt b, wenn es ein k ∈ Z gibt mit a · k = b. Wir schreiben a | b. Wenn a die Zahl b nicht teilt, dann schreiben wir a 6 |b. ◦ : M × M −→ M, (x, y) 7−→ x ◦ y. Die Verknüpfung heißt Ï kommutativ, falls x ◦ y = y ◦ x für alle x, y ∈ M Ï assoziativ, falls x ◦ (y ◦ z) = (x ◦ y) ◦ z für alle x, y, z ∈ M. Lemma 3.4 Aus a | b und b | c folgt a | c. Lemma 3.5 Beispiel 3.2 Ï Die Multiplikation x ◦ y := x · y ist eine assoziative Verknüpfung auf N, Z und Q. Für a, b ∈ Z gilt: a | b und b | a =⇒ a = b oder a = −b. Ï Die Addition x ◦ y := x + y ist eine assoziative Verknüpfung auf N, Z und Q. Folgerung 3.6 | ist eine partielle Ordnung in N. 93 94 Verknüpfungen Lemma 3.7 Seien a, b, c, d ∈ Z. Dann Satz 3.8 (1) c | a und c | b =⇒ c | (a + b) und c | (a − b) Sei n ∈ N+ und M = {[a]n : a ∈ Z} die Menge der Äquivalenzklassen der Relation ≡n . Dann sind die folgenden Abbildungen, assoziative und kommutative Verknüpfungen (2) c | a =⇒ (cd) | (ad) 1. [a]n ⊕ [b]n := [a + b]n 2. [a]n ◦ [b]n := [a · b]n In dem Beweis muss man im wesentlichen zeigen, dass die Abbildungen ⊕ : M × M −→ M, ([a], [b]) 7−→ [a + b] ◦ : M × M −→ M, ([a], [b]) 7−→ [a · b] und wohldefiniert sind, d.h., das Ergebnis von der Wahl der Repräsentanten a und b der Äquivalenzklassen unabhängig ist. 95 96 Gruppen Beispiele für Gruppen Definition 3.9 (Halbgruppe, Monoid, Gruppe) Beispiel 3.10 1. Die Menge der ganzen Zahlen Z, zusammen mit der Addition + ist eine abelsche Gruppe (Z, +) mit neutralem Element 0. Eine Halbgruppe (G, ◦) ist eine Menge G, zusammen mit einer assoziativen Verknüpfung ◦. Eine Halbgruppe (G, ◦) ist ein Monoid, wenn es ein e ∈ G gibt mit 2. (Z, ·) ist keine abelsche Gruppe. Zwar gibt es ein neutrales Element 1, aber es gibt keine ganze Zahl x mit 2 · x = 1. a ◦ e = a = e ◦ a für alle a ∈ G. Das Element e heißt neutrales Element, oder Einselement. Ein Monoid (G, ◦) heißt Gruppe, wenn für jedes a ∈ G ein Element b ∈ G existiert mit a ◦ b = e = b ◦ a. Das Element b heißt Inverses Element zu a. Eine Gruppe mit kommutativer Verknüpfung heißt kommutative oder abelsche Gruppe. 98 97 Lemma 3.11 (Eindeutigkeit des neutralen Elements) Definition 3.13 Eine Gruppe (G, ◦) hat genau ein neutrales Element. Sei n ∈ N+ . Die Menge der Äquivalenzklassen {[a]n | b ∈ Z, n | (b − a)} der Relation ≡n in Z wird mit Zn bezeichnet. Lemma 3.12 Ist (G, ◦) eine Gruppe, dann ist das inverse Element x eindeutig bestimmt. Satz 3.14 −1 zu x Für n ∈ N+ ist (Zn , ⊕) eine abelsche Gruppe. 99 100 Definition 3.15 (Ring) Satz 3.16 Es sei R eine Menge mit zwei Verknüpfungen ⊕ und ◦. Das Tripel (R, ⊕, ◦) heißt Ring, wenn die folgenden Eigenschaften gelten Für n ∈ N+ ist (Zn , ⊕, ◦) ein kommutativer Ring mit eins. i) (R, ⊕) ist eine kommutative Gruppe. ii) (R, ◦) ist eine Halbgruppe. iii) Für alle x, y, z ∈ R gilt x ◦ (y ⊕ z) = x ◦ y ⊕ x ◦ z und (y ⊕ z) ◦ x = y ◦ x ⊕ z ◦ x Distributivität a Der Ring (R, ⊕, ◦) heißt Ring mit 1, wenn (R, ◦) ein Monoid ist, dessen Einselement 1 ungleich dem neutralen Element 0 von (R, ⊕) ist. Der Ring heißt kommutativ, falls die Multiplikation ◦ eine kommutative Verknüpfung ist. a Korrigiert am 8.11.2007. 101 102 Definition 3.17 (Körper) Sei R ein kommutativer Ring mit eins. R heißt Körper, falls 0 6= 1 und für jedes a ∈ R \ {0} ein b ∈ R existiert mit Kapitel 3.2 Der größte gemeinsame Teiler a · b = 1. Das Element b heißt das (multiplikativ) Inverse von a. Beispiel 3.18 Z ist kein Körper Q und R sind Körper 103 104 Division mit Rest Definition 3.20 Seien a, b ∈ Z, wobei nicht beide Null sind. Eine Zahl c ∈ N+ heißt größter gemeinsamer Teiler (ggT) von a und b, falls gilt: Satz 3.19 Zu a ∈ Z und b ∈ N+ gibt es genau ein Paar (q, r) ∈ Z × N mit (1) c | a und c | b (2) ∀d ∈ Z gilt (d | a und d | b) =⇒ d | c a = qb + r und 0 É r < b Wir schreiben c = ggT(a, b). Bezeichnung Bemerkung q heißt der Quotient und r der Rest bei der Division von a durch b Wenn c = ggT(a, b) existiert, so ist c eindeutig. Satz 3.21 Seien a, b ∈ Z wobei nicht beide gleich Null sind. Dann existiert c = ggT(a, b) und es gibt ganze Zahlen x, y ∈ Z mit c = x · a + y · b. 106 105 Definition 3.22 Wie berechnet man den ggT effizient? Zwei ganze Zahlen a, b ∈ Z heißen teilerfremd, falls ggT(a, b) = 1. Lemma 3.23 Seien a, b ∈ Z, wobei nicht beide Zahlen gleich Null sind. Wenn a = qb + r, mit q, r ∈ Z, dann gilt ggT(a, b) = ggT(b, r). Im Beweis zeigt man, dass ein gemeinsamer Teiler von a und b auch ein gemeinsamer Teiler von b und r ist und umgekehrt, dass ein gemeinsamer Teiler von b und r auch ein gemeinsamer Teiler von a und b ist. 107 108 Euklidischer Algorithmus Beispiel 3.24 Euklidischer Algorithmus Ï Eingabe: Ganze Zahlen a Ê b Ê 0 Ï Ausgabe: ggT(a, b) while b 6= 0 Ï Ï Ï Ï Ï a = 126, b = 35 Berechne q Ê 1 und 0 É r < b mit a = q b + r a := b b := r ggT (126, 35) = 7 return a Satz 3.25 Der Euklidische Algorithmus liefert bei Eingabe (a, b) ∈ N × N den ggT ggT(a, b) zurück. 110 109 Beispiel 3.24 Beispiel 3.24 a = 126, b = 35 a = 126, b = 35 Ï 126 = 3 · 35 + 21 Ï 126 = 3 · 35 + 21 Ï 35 = 1 · 21 + 14 ggT (126, 35) = 7 ggT (126, 35) = 7 Satz 3.25 Satz 3.25 Der Euklidische Algorithmus liefert bei Eingabe (a, b) ∈ N × N den ggT ggT(a, b) zurück. Der Euklidische Algorithmus liefert bei Eingabe (a, b) ∈ N × N den ggT ggT(a, b) zurück. 110 110 Beispiel 3.24 Beispiel 3.24 a = 126, b = 35 a = 126, b = 35 Ï 126 = 3 · 35 + 21 Ï 126 = 3 · 35 + 21 Ï 35 = 1 · 21 + 14 Ï 35 = 1 · 21 + 14 Ï 21 = 1 · 14 + 7 Ï 21 = 1 · 14 + 7 Ï 14 = 2 · 7 + 0 ggT (126, 35) = 7 ggT (126, 35) = 7 Satz 3.25 Satz 3.25 Der Euklidische Algorithmus liefert bei Eingabe (a, b) ∈ N × N den ggT ggT(a, b) zurück. Der Euklidische Algorithmus liefert bei Eingabe (a, b) ∈ N × N den ggT ggT(a, b) zurück. 110 Analyse 110 Definition 3.28 Satz 3.26 Der Absolutbetrag von a ∈ Z ist definiert als Der Euklidische Algorithmus durchläuft höchstens 2 log2 (a) + 1 Schleifendurchläufe. |a| := Definition 3.27 ½ a −a falls a Ê 0, sonst. Es gilt ggT(a, b) = ggT(|a|, |b|) für a, b ∈ Z, wobei nicht beide gleich Null. Also kann Euklidischer Algorithmus zum Berechnen von ggT(a, b) verwendet werden, indem man als Parameter (|a|, |b|) übergibt, falls b 6= 0 und (|b|, |a|) sonst. Die Funktion ⌈⌉ : R −→ Z ist definiert als ⌈x⌉ = min{z ∈ Z | z Ê x}. Für x ∈ R ist die ganze Zahl ⌈x⌉ die kleinste ganze Zahl die mindestens so groß ist, wie x. Bemerkung 4 Eine Zahl wird im Computer binär codiert. Beispielsweise wird 5 = 1 · 22 + 0 · 21 + 1 · 20 durch den String 101 repräsentiert. Die Zahl ⌈log2 (a + 1)⌉ misst die Anzahl Bits der Zahl a ∈ N+ . Man sagt, der Euklidische Algorithmus führt eine lineare Anzahl arithmetischer Operationen durch. 111 112 Erweiterter Euklidischer Algorithmus Beispiel 3.29 (Weiter mit Beispiel 3.24) Berechnung der Darstellung des ggT: Der Algorithmus berechnet die Folgen: Erweiterter Euklidischer Algorithmus Ï Eingabe: Ganze Zahlen a0 Ê a1 > 0 Ï Ausgabe: (d, x, y) mit d = ggT(a, b) = x · a0 + y · a1 Ï Initialisierung: x0 := 1; y0 := 0; x1 := 0; y1 := 1; i := 1; while ai 6 |ai−1 Ï Ï Ï Ï Ï Ï Ï a0 = 126, a1 = 35, a3 = 21, a4 = 14, a5 = 7 x0 = 1, x1 = 0, x2 = 1, x3 = −1, x4 = 2 y0 = 0, y1 = 1, y2 = −3, y3 = 4, y4 = −7 Es gilt ggT(126, 35) = 7 = 2 · 126 − 7 · 35. Berechne q Ê 1 und 0 É r < ai mit ai−1 = q · ai + r ai+1 := r xi+1 := xi−1 − q · xi yi+1 := yi−1 − q · yi i := i + 1 return (ai , xi , yi ) 114 113 Den folgenden Satz beweist man wie Satz 3.26. Satz 3.30 Die Anzahl der Schleifendurchläufe des erweiterten Euklidischen Algorithmus ist höchstens 2 · log2 a + 1. Kapitel 3.3 Primzahlen und Primfaktorzerlegung Satz 3.31 Im erweiterten Euklidischen Algorithmus gilt für i Ê 0 a0 · xi + a1 · yi = ai . Insbesondere ist der erweiterte Euklidische Algorithmus korrekt. 115 116 Satz 3.35 Definition 3.32 (Primzahl) Eine Primzahl ist eine ganze Zahl p mit p Ê 2 und der Eigenschaft Sei p eine Primzahl. i) Wenn p | a · b mit a, b ∈ Z, dann gilt ( p | a oder p | b). a | p und a > 1 =⇒ a = p ii) Wenn p | m1 · · · mk mit m1 , . . . , mk ∈ Z, dann gibt es ein i ∈ {1, . . . , k} mit p | mi . für alle a ∈ Z. Satz 3.33 Ist n ∈ N mit n Ê 2, dann gibt es eine Primzahl p, die n teilt. Satz 3.34 (Euklid) Es gibt unendlich viele Primzahlen. 118 117 Satz 3.36 Satz 3.37 Jede Zahl n ∈ N, n Ê 2, ist ein Produkt von endlich vielen Primzahlen. Die Zerlegung einer Zahl n ∈ N, n Ê 2, in Primzahlen ist eindeutig bis auf die Reihenfolge der Primfaktoren. D.h. ist Bemerkung 5 n = p1 · p2 . . . pr = q1 · q2 . . . qs Die algorithmische Faktorisierung von ganzen Zahlen ist ein sehr schwieriges Problem. Darauf beruhen heute einige Kryptosysteme. mit r, s Ê 1 und Primzahlen p1 , . . . pr , q1 , . . . , qs , so folgt r = s und es gibt eine bijektive Abbildung α : {1, 2, . . . , r} −→ {1, 2, . . . , r}, sodass pi = qα(i) 119 für 1 É i É r. 120 Definition 3.38 Sei (G, ◦) eine Gruppe. Eine Teilmenge H ⊆ G von G ist eine Untergruppe von G, wenn die folgenden Bedingungen gelten: i) Wenn a, b ∈ H, dann ist auch a ◦ b ∈ H (Abgeschlossenheit) Kapitel 3.4 Die Sätze von Lagrange und Fermat ii) Wenn a ∈ H, dann ist auch a−1 ∈ H (Inverses Element) Wir schreiben H G. Bemerkung 6 Aus H G folgt, dass (H, ◦) selbst auch eine Gruppe ist. Lemma 3.39 Sei (G, ◦) eine Gruppe und H ⊆ G, H 6= ;. Es gilt H G ⇐⇒ ∀a, b ∈ H gilt a ◦ b−1 ∈ H. 122 121 Beispiel 3.40 Definition 3.41 1. Betrachte die Gruppe (Z, +) (ganze Zahlen zusammen mit Addition). Für jedes d ∈ Z \ {0} gilt d · Z Z. Sei H eine Untergruppe von (G, ◦). Zwei Elemente a, b ∈ G heißen kongruent modulo H, wenn a−1 ◦ b ∈ H. Wir schreiben a ≡H b. 2. Wenn H Z, dann sei d die kleinste natürliche Zahl aus H mit d Ê 1. Man kann zeigen, dass H = d · Z. Lemma 3.42 In der Tat: Nehmen wir einmal an, dass H 6= d · Z. Dann gibt es ein a ∈ H mit d 6 |a. Da Sei (G, ◦) eine Gruppe und H G. dann a 6= 0, ergibt Division mit Rest a = q · d + r, mit 1 É r < d. Die Zahl q · d = d + ··· + d | {z } i) Die Relation ≡H in G ist eine Äquivalenzrelation. q mal ist in H und somit ist auch −q · d ∈ H (Inverses Element von q · d). Wegen der ii) Für a ∈ G ist die Äquivalenzklasse [a]≡H die Menge a ◦ H. Abgeschlossenheit von H ist also auch r ∈ H, was ein Widerspruch zur Minimalität von iii) Die Äquivalenzklassen von ≡H sind gleichmächtig. d ist. 3. Sei (G, ◦) eine Gruppe. Das Zentrum von G ist die Menge ZG = {a ∈ G : x ◦ a = a ◦ x für alle x ∈ G}. Es gilt ZG G. 123 124 Definition 3.43 Definition 3.45 Sei g ∈ G, wobei (G, ◦) eine Gruppe ist. Für n ∈ N+ ist Sei (G, ◦) eine endliche Gruppe. Die Kardinalität |G| von G ist die Ordnung der Gruppe und wird mir ord(G) bezeichnet. Die Ordnung eines Elements g ∈ G, ord(g) ist die kleinste Zahl t ∈ N+ mit g t = e. gn = g ◦ . . . ◦ g | {z } n mal und g −n = g −1 ◦ . . . ◦ g −1 . {z } | Theorem 3.46 (Satz von Lagrange) n mal 0 Wir definieren g = e. Sei (G, ◦) eine endliche Gruppe (eine Gruppe endlicher Ordnung) und H G, dann gilt ord(H)|ord(G). Lemma 3.44 Folgerung 3.47 Sei g ∈ G, wobei (G, ◦) eine Gruppe. Für H = {g z : z ∈ Z} gilt H G. Sei (G, ◦) eine endliche Gruppe, dann gilt für alle g ∈ G ord(g)|ord(G). 126 125 Einheiten von Zn Definition 3.50 Die Eulersche Phi-Funktion ist definiert als ϕ(n) = |Z∗n | für n ∈ N. Definition 3.48 Sei (R, ⊕, ◦) ein kommutativer Ring mit 1. Die Elemente a ∈ R, für die es ein multiplikatives Inverses x ∈ R mit a ◦ x = 1 gibt, heißen Einheiten von R. Die Menge der Einheiten wird mit R∗ bezeichnet. Ein Element a ∈ R heißt Nullteiler, wenn es ein x ∈ R \ {0} gibt mit a ◦ x = 0. Bemerkung 8 Jede Äquivalenzklasse [a]n hat einen eindeutigen Repräsentanten r ∈ N mit 0 É r < n. Man kann die Elemente von Zn somit eindeutig mit den Zahlen 0, 1, . . . , n − 1 identifizieren. Damit gilt ϕ(n) = |{r ∈ N : 0 É r < n, ggT(r, n) = 1}| Bemerkung 7 (R∗ , ◦) ist eine kommutative Gruppe. Satz 3.49 Sei n ∈ N, n > 1 und betrachte (Zn , ⊕, ◦). Es gilt [a]n ∈ Z∗n genau dann, wenn ggT(a, n) = 1. Insbesondere ist Zn ein Körper genau dann, wenn n eine Primzahl ist. 127 128 Satz 3.51 (Satz von Euler) ϕ(n) Sei n ∈ N, n > 1. Für alle [a]n ∈ Z∗n gilt [a]n =[1]n . Satz 3.52 (Der kleine Satz von Fermat) Sei n eine Primzahl. Dann gilt für alle a ∈ Z mit n 6 |a, [a]nn−1 Kapitel 3.5 Der Chinesische Restsatz = [1]n . 130 129 Satz 3.53 Definition 3.54 (Ringhomomorphismus) Seien (R1 , ⊕1 , ◦1 ) und (R2 , ⊕2 , ◦2 ) kommutative Ringe mit den Einselementen 1R1 und 1R2 . Das kartesische Produkt R1 × R2 zusammen mit den Verknüpfungen Sind (R1 , +, ·) und (R2 , ⊕, ◦) Ringe mit Einselementen 1R1 und 1R2 . Eine Abbildung h : R1 −→ R2 heißt Ringhomomorphismus, wenn die folgenden Eigenschaften gelten: i) h(a + b) = h(a) ⊕ h(b) für alle a, b ∈ R1 . (a1 , b1 ) ⊕ (a2 , b2 ) := (a1 ⊕1 a2 , b2 ⊕2 b2 ) ii) h(a · b) = h(a) ◦ h(b) für alle a, b ∈ R1 . (a1 , b1 ) ◦ (a2 , b2 ) := (a1 ◦1 a2 , b2 ◦2 b2 ) iii) h(1R1 ) = 1R2 . Ist h bijektiv, dann heißt h Ringisomorphismus. ist ein kommutativer Ring mit Einselement (1R1 , 1R2 ). Die Einheitengruppe von (R1 × R2 ) ist die Menge (R1 × R2 )∗ = (R∗1 × R∗2 ). Satz 3.55 Es seien R1 und R2 kommutative Ringe mit Einselementen 1R1 und 1R2 und g : R1 −→ R2 ein Ringisomorphismus. Dann gilt R∗2 = g(R∗1 ). 131 132 Satz 3.56 (Chinesischer Restsatz) Seien m, n ∈ N+ mit ggT(m, n) = 1. Dann ist die Abbildung g : Zm·n −→ (Zm × Zn ) mit g([a]m·n ) = ([a]m , [a]n ) ein Ringisomorphismus. Kapitel 3.6 RSA Folgerung 3.57 Seien m, n ∈ N+ , m, n Ê 2 mit ggT(m, n) = 1. Dann gilt ϕ(m · n) = ϕ(m) · ϕ(n). Folgerung 3.58 α α Sei n = p1 1 · · · pk k die Faktorisierung von n in Primzahlen mit pi 6= pj , wenn i 6= j und αi Ê 1 für jedes i. Dann gilt α −1 α −1 ϕ(n) = (p1 − 1)p1 1 · · · (pk − 1)pk k . 134 133 Algorithmus “Square and Multiply” Satz 3.59 Eingabe: Gruppe G, g ∈ G, n ∈ N Ausgabe: g n x := 1; y := g; k := n Invariante: g n = y k · x while k > 0 if 2 | k then y ← y 2 ; k ← k/2 else x ← xy; y ← y 2 ; k ← (k−1) 2 return (x) Sei n = αℓ−1 2ℓ−1 + . . . + α1 2 + α0 mit aℓ−1 = 1, αi ∈ {0, 1}. Für 1 É i É l gilt nach dem i-ten Schleifendurchgang x = g αi−1 2 y = g2 i−1 +...+α0 i k = αℓ−1 2ℓ−1−i + . . . + αi+1 2 + αi Dies folgt leicht mit Induktion nach i. Insbesondere gilt nach dem ℓ-ten Schleifendurchgang x = g αℓ−1 2 ℓ−1 +...+α0 = g n. Die Ausgabe des Algorithmus ist also tatsächlich g n . 135 136 Ï Bob möchte Alice eine geheime Nachricht übers Internet schicken. Ï Dazu wird der Klartext x von Bob verschlüsselt zum chiffrierten Text y. Dieser wird übers Internet verschickt. Anschließend entschlüsselt Alice den Text y. Ï Traditionellerweise verwenden Alice und Bob zum Ver- und Entschlüsseln den gleichen geheimen Schlüssel. Ï Der sichere Schlüsselaustausch kann problematisch sein. Revolutionäre Idee von Diffie und Hellman (1976) der asymmetrischen Kryptosysteme: Ï Jeder Teilnehmer hat einen öffentlichen und einen privaten Schlüssel Ï Ferner hat man in Abhängigkeit dieser Schlüssel eine Verschlüsselungsfunktion E (Encrypt) Entschlüsselungsfunktion D (Decrypt) Gewünschte Eigenschaften 1. Korrekte Entschlüsselung: Für jeden Klartext x gilt D(E(x)) = x. 2. Public Key Eigenschaft: Aus dem privaten Schlüssel kann der öffentliche Schlüssel effizient berechnet werden, aber nicht umgekehrt. 3. Die Funktion E und D sind effizient berechenbar. 137 138 RSA System Jeder Teilnehmer erzeugt für sich einen privaten Schlüssel und berechnet daraus den öffentlichen Schlüssel. Der öffentliche Schlüssel wird publiziert. Seien p, q verschiedene Primzahlen, n = pq Sei d ∈ N mit ggT(d, ϕ(n)) = 1, d < ϕ(n). Privater Schlüssel: (p, q, d). Berechne e ∈ N mit Ist es überhaupt möglich, so ein System zu konstruieren? ed ≡ϕ(n) 1, Ja! Mittels Zahlentheorie. e < ϕ(n), mittels dem erweiterten Euklidschen Algorithmus. Öffentlicher Schlüssel: (n, e). Verschlüsselungsfunktion: E : Zn −→ Zn , x 7→ xe Entschlüsselungsfunktion: D : Zn −→ Zn , y 7→ y d 139 140 Die Funktionen E und D können mittels des Algorithmus “Square and Multiply” effizient berechnet werden. Zur Sicherheit des Systems Satz 3.61 Satz 3.60 Die folgenden drei Probleme sind “polynomialzeitäquivalent“ (gegeben n) Seien e, d, n wie im RSA System. Dann gilt für alle x ∈ Z (1) Faktorisierung von n xed ≡n x. (2) Berechnen von ϕ(n) (3) Berechnen von d Wir verzichten auf den Beweis. Faktorisierungsproblem Die Faktorisierung von n = pq für Primzahlen p, q etwa gleicher Größe (z.B. 100 Dezimalstellen) gilt als sehr schwieriges Problem. Anderseits kann man leicht Primzahlen dieser Größe erzeugen. 141 142