Kapitel 3 Elementare Zahletheorie Kapitel 3.1 Ganze Zahlen

Werbung
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
Herunterladen