Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Kanonische Primfaktorzerlegung
Jede natürliche Zahl n kann auf eindeutige Weise in derForm
n = pα1
1· pα2
2· . . . · pαk
k
geschrieben werden, wobei
k ∈ N0,
αi ∈ N für i ∈ {1, . . . , k} und
p1 < p2 < · · · < pk Primzahlen sind.
Dies ist die kanonische Primfaktorzerlegung von n.
Mathematik I fur Informatiker – Zahlen – p. 1
ggT und kgV
Je zwei natürliche Zahlen n und m besitzen
einen größten gemeinsamen Teiler ggT(m,n) und
ein kleinstes gemeinsames Vielfaches kgV(m,n).
Zur Bestimmung des ggT kann man den Algorithmus derWechselwegnahme benutzen:while m 6= n dobeginif m < n then n := n − m
if n < m then m := m − n
endoutput(‘‘ggT =’’, m).
Mathematik I fur Informatiker – Zahlen – p. 2
Gauss–Klammer
Ist r eine reelle Zahl, dann bezeichnet brc die größte ganzeZahl, die kleiner oder gleich r ist.
Analog ist dre die kleinste ganze Zahl, die größer odergleich r ist.
Sind a und b ganze Zahlen, b 6= 0, so ist
a div b =⌊a
b
⌋
.
Mathematik I fur Informatiker – Zahlen – p. 3
z mod n
Ist z eine beliebige ganze Zahl und ist n eine natürlicheZahl, dann ist
z mod n := z − n ·⌊ z
n
⌋
.
Beispielsweise ist
17 mod 5 = 2 und
−17 mod 5 = 3.
In jedem Falle gilt z mod n ∈ {0, 1, . . . , n − 1}.
Mathematik I fur Informatiker – Zahlen – p. 4
Rechnen modulo n
Wenn man umfangreiche Rechnungen modulo n
auszuführen hat, dann ist die Homomorphieregelaußerordentlich hilfreich. Sie besagt, dass man auchZwischenergebnisse modulo n rechnen darf, ohne dasssich das Endergebnis ändert. Formal besagt sie, dass fürganze Zahlen a, b stets folgendes gilt:
(a + b) mod n = (a mod n + b mod n) mod n
(a − b) mod n = (a mod n − b mod n) mod n
(a · b) mod n = (a mod n · b mod n) mod n
Mathematik I fur Informatiker – Zahlen – p. 5
a ≡ r (mod n)
Der ständige Zusatz „modn“ wird rasch lästig und gernweggelassen. Um Missverständnisse zu vermeiden, kannman ihn am Ende der Rechnung in Klammern angeben unddie Gleichheitszeichen durch ≡ ersetzen, wie im folgendenBeispiel:
(108 · 33) − 22 ≡ (3 · 3) + 3 ≡ 9 + 3 ≡ 2 (mod 5).
Statt a mod n = r schreibt man oft auch
a ≡ r (mod n)
und liest dies etwas altertümlich aber einprägsam alsa ist kongruent zu r modulo n.
Mathematik I fur Informatiker – Zahlen – p. 6
Ein Satz von J.P.Fermat
Eine Primzahl p ist genau dann nicht als Summezweier Quadrate ganzer Zahlen darstellbar, wenn p
kongruent zu 3 modulo 4 ist.
Solche Ergebnisse der elementaren Zahlentheorie haben inden letzten Jahren für die Kryptologie an Bedeutunggewonnen.
Mathematik I fur Informatiker – Zahlen – p. 7
Rechnen modulo 5
+ 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
− 0 1 2 3 4
0 0 4 3 2 1
1 1 0 4 3 2
2 2 1 0 4 3
3 3 2 1 0 4
4 4 3 2 1 0
· 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
2 0 2 4 1 3
3 0 3 1 4 2
4 0 4 3 2 1
Die Verknüpfungstafeln für die Rechenarten modulo 5.
Mathematik I fur Informatiker – Zahlen – p. 8
Operationen auf einer Menge
Grundsätzlich hat man nahezu unbegrenzte Freiheiten, sichneue Rechenstrukturen zu verschaffen: Man wählt sicheine Trägermenge und definiert darauf Operationen,beispielsweise indem man willkürlich Verknüpfungstafelnhinschreibt.
Operation und Verknüpfung bedeuten in diesemZusammenhang dasselbe. Eine n-stellige Operation aufeiner Trägermenge T nimmt als Input eine Folge von n
Elementen aus T und gibt ein Element von T als Outputzurück.
Eine n-stellige Operation auf T ist also eine Abbildung
f : Tn → T.
Mathematik I fur Informatiker – Zahlen – p. 9
Tischtennisturniermultiplikation
a
bc
de
a
bc
de
a
bc
de
a
bc
de
a
bc
de
x ◦ y :=
{
x falls x = y,der Spieler, der aussetzt,wenn x gegen y spielt falls x 6= y.
Mathematik I fur Informatiker – Zahlen – p. 10
Tischtennisturniermultiplikationstafel
a
bc
de
a
bc
de
a
bc
de
a
bc
de
a
bc
de
◦ a b c d e
a a d b e c
b d b e c a
c b e c a d
d e c a d b
e c a d b e
Mathematik I fur Informatiker – Zahlen – p. 11
Regeln (1) für das Rechnen modulo n
Die Addition
ist assoziativ: es gilt (a + b) + c = a + (b + c) für allea, b, c,
ist kommutativ: es gilt a + b = b + a für alle a, b,
ist kürzbar: aus a + b = a + c folgt stets b = c. Das istwichtig, wenn man Gleichungen lösen will.
hat 0 als neutrales Element: a + 0 = 0 + a = a giltfür alle a.hat inverse Elemente: Zu jedem a ist −a := 0 − a
ein Element mit a + (−a) = 0 = (−a) + a. Daraus folgtübrigens die Kürzbarkeit.
(Zn,+ mod n,− mod n, 0) ist eine abelsche Gruppe.
Mathematik I fur Informatiker – Zahlen – p. 12
Regeln (2) für das Rechnen modulo n
die Multiplikation
ist assoziativ: es gilt (a · b) · c = a · (b · c) für alle a, b, c,
ist kommutativ: es gilt a · b = b · a für alle a, b,
hat 1 als neutrales Element: a · 1 = a = 1 · a gilt füralle a.ist über der Addition distributiv: a · (b + c) = a · b + a · cgilt für alle a, b, c (Leseregel: „Punktrechnung vorStrichrechnung“).
Zn := (Zn,+ mod n,− mod n, · mod n, 0, 1)
ist einkommutativer Ring mit Eins.
Mathematik I fur Informatiker – Zahlen – p. 13
Ein anderer Zugang zu Zn
Für Zahlenmengen A,B ⊆ R definiert man dieKomplexaddition durch
A + B := {a + b | a ∈ A, b ∈ B}.
Entsprechend kann man eine Komplexsubtraktion undeine Komplexmultiplikation einführen.
So kommt man (wenn man noch Klammern einspart) fürnatürliche Zahlen n und r zu
nZ + r := {. . . , r − 2n, r − n, r, r + n, r + 2n, . . .},
der Restklasse zum Rest r modulo n. Diese Mengeenthält genau diejenigen ganzen Zahlen, die bei derganzzahligen Division durch n den Rest r ergeben.
Mathematik I fur Informatiker – Zahlen – p. 14
Restklassenringe
Man überzeugt sich, dass bei festem n die
Komplexaddition,
Komplexsubtraktion und
Komplexmultiplikation
von Restklassen als Ergebnisse immer Restklassen liefern.
Die Restklassen modulo n bilden einen kommutativen Ringmit Eins, den Restklassenring der ganzen Zahlen modulon.
Mathematik I fur Informatiker – Zahlen – p. 15
Rechnen mit Repräsentanten
Jede Restklasse modulo n enthält genau eine der Zahlen{0, 1, . . . , n − 1}.
Deshalb rechnet man nicht wirklich mit den Restklassen,sondern mit ihren Repräsentanten aus Zn.
Das entspricht genau der oben eingeführten Rechenweisemodulo n.
Der Restklassenring modulo n ist also isomorph zum RingZn der ganzen Zahlen modulo n.
Mathematik I fur Informatiker – Zahlen – p. 16
Rechnen modulo 2
Der für die Informatik wichtigste Fall ist natürlich Z2. Indiesem Fall stimmen Addition und Subtraktion überein. Diebeiden Restklassen sind die Menge der geraden und dieder ungeraden Zahlen.
+ 0 1
0 0 1
1 1 0
· 0 1
0 0 0
1 0 1
Das Rechnen modulo 2.
Mathematik I fur Informatiker – Zahlen – p. 17
Dividieren modulo n?
Eine Division modulo n kann man nicht ohne erheblicheEinschränkungen erfinden.
Das zeigt ein einfaches Beispiel: das Rechnen modulo 6.
Wenn es möglich wäre, eine Division durch 2 modulo 6 zuerfinden, dann sollte doch jedenfalls 2 geteilt durch 2 dasErgebnis 1 und 0 geteilt durch 2 das Ergebnis Null liefern.Daraus erhält man die widersprüchliche Gleichung
3 ≡ 3 · 1 ≡ 3 ·2
2≡
3 · 2
2≡
0
2≡ 0 (mod 6).
So geht es also nicht!
Mathematik I fur Informatiker – Zahlen – p. 18
Nullteiler
Man kann dieses Beispiel verallgemeinern.Man nennt eine Zahl a 6= 0 (in einem Ring) einenNullteiler, wenn es eine Zahl b 6= 0 mit a · b = 0 gibt.
Im Ring Z6 ist diese Bedingung für a = 2 und b = 3 erfüllt:2 ist also ein Nullteiler in Z6.
Die Argumentation der vorigen Seite zeigt:eine Division durch Nullteiler
kann nicht sinnvoll definiert werden.
Mathematik I fur Informatiker – Zahlen – p. 19
Einheiten
Eine Zahl a in einem Ring ist eine Einheit, wenn es eineZahl b mit a · b = 1 gibt.
Durch Einheiten kann man „dividieren“, denn b verhält sichja wie ein Kehrwert zu a.
Man sagt, b sei multiplikativ invers zu a.
Man dividiert durch a, indem man mit b multipliziert.
Mathematik I fur Informatiker – Zahlen – p. 20
Mittelwert mod 5
Auf diese Weise können wir z.B. einen „Mittelwert modulo5“ definieren, nämlich die Operation
a • b := 3(a + b) mod 5,
denn wegen 2 · 3 mod 5 = 1 ist 3(a + b) modulo 5 dasselbewie a+b
2.
• 0 1 2 3 4
0 0 3 1 4 2
1 3 1 4 2 0
2 1 4 2 0 3
3 4 2 0 3 1
4 2 0 3 1 4
.
Mathematik I fur Informatiker – Zahlen – p. 21
Tischtennis mod 5
Auf diese Weise können wir z.B. einen „Mittelwert modulo5“ definieren, nämlich die Operation
a • b := 3(a + b) mod 5,
denn wegen 2 · 3 mod 5 = 1 ist 3(a + b) modulo 5 dasselbewie a+b
2.
◦ a b c d e
a a d b e c
b d b e c a
c b e c a d
d e c a d b
e c a d b e
∼=
• 0 1 2 3 4
0 0 3 1 4 2
1 3 1 4 2 0
2 1 4 2 0 3
3 4 2 0 3 1
4 2 0 3 1 4
.
Mathematik I fur Informatiker – Zahlen – p. 22
Welche Zahlen sind Einheiten mod n?
Durch Einheiten kann man dividieren, durch Nullteiler nicht.
Es bleibt die Frage, wie man Einheiten und Nullteilererkennt.
Modulo n ist das einfach:
Hilfssatz 1 Eine Zahl a ∈ {1, . . . , n − 1} ist genau dann eineEinheit modulo n, wenn a zu n teilerfremd ist.Ist a keine Einheit, dann ist a ein Nullteiler.
Mathematik I fur Informatiker – Zahlen – p. 23
Eulersche ϕ-Funktion
Die Eulersche ϕ-Funktion ist für n ∈ N folgendermaßendefiniert:
ϕ(n) := |{e ∈ {0, . . . , n − 1} | ggT(e, n) = 1}|.
ϕ(n) gibt also die Anzahl der zu n teilerfremden natürlichenZahlen an, die kleiner als n sind.
ϕ(n) gibt also auch die Anzahl der Einheiten in Zn an.
Mathematik I fur Informatiker – Zahlen – p. 24
Eine Formel für ϕ(n)
Satz 1 Istn = pα1
1· pα2
2· . . . · pαk
k
die kanonische Primfaktorzerlegung von n, dann gilt
ϕ(n) = n · (1 −1
p1
) · (1 −1
p2
) · · · (1 −1
pk
).
Beispiel: 1008 = 24 · 32 · 7, deshalbϕ(1008) = 1008 · (1− 1
2) · (1− 1
3) · (1− 1
7) = 1008 · 1
2· 2
3· 6
7= 288.
Mathematik I fur Informatiker – Zahlen – p. 25
Funktion Wegnahme
Input: Eine Menge {a, b}, bestehend aus natürlichenZahlen a und b.
Output: WN({a, b}) :=
{
{b, a − b} falls a ≥ b
{a, b − a} sonst.
Es wird also die größere der beiden Zahlen ersetzt durchdie positive Differenz der beiden Zahlen. Das Ergebnis isteine zwei- oder einelementige Menge.
Mathematik I fur Informatiker – Zahlen – p. 26
Eigenschaften der Funktion Wegnahme
1. Ist{a1, b1} = WN({a, b}),
dann gibt es ganze Zahlen λ1, λ2, λ3, λ4 mit
a1 = λ1 · a + λ2 · b
undb1 = λ3 · a + λ4 · b.
2. Ist {a1, b1} = WN({a, b}) und ist d ein gemeinsamerTeiler von a1 und b1, dann ist d auch ein Teiler von a undvon b.
Mathematik I fur Informatiker – Zahlen – p. 27
Wechselwegnahme
Algorithmus Wechselwegnahme.Input: Natürliche Zahlen a, b.WHILE |{a, b}| = 2 do
{a, b} := WN({a, b});
OUTPUT: a.
Weil bei jedem WHILE-Schritt die größere der beiden Zahlenverkleinert wird, terminiert dieser Algorithmus offenbar,d.h., er kommt zu einem Ergebnis.
Mathematik I fur Informatiker – Zahlen – p. 28
Beispiel zur Wechselwegnahme
Input: 154 238238 − 154 = 84 also: 154 84154 − 84 = 70 also: 84 7084 − 70 = 14 also: 70 1470 − 14 = 56 also: 56 1456 − 14 = 42 also: 42 1442 − 14 = 28 also: 28 1428 − 14 = 14 also: 14 14
stop.
Mathematik I fur Informatiker – Zahlen – p. 29
ggT-Berechnung
Hilfssatz 2 Der Algorithmus Wechselwegnahme berechnetden größten gemeisamen Teiler (ggT).Beweis Sei d das Ergebnis einer Ausführung desAlgorithmus bei dem Input {a, b}. Wendet man dieBeobachtungen 1) und 2) induktiv an, so erhält man:
1. Es gibt ganze Zahlen α, β mit d = α · a + β · b,
2. d teilt a und b.
Das zweite zeigt, dass d ein gemeinsamer Teiler von a undb ist, und aus dem ersten folgt, dass jeder gemeinsameTeiler von a und b auch ein Teiler von d ist. Deshalb muss d
der größte gemeinsame Teiler von a und b sein. �
Mathematik I fur Informatiker – Zahlen – p. 30
Beobachtung
Eine Erkenntnis aus dem Beweis wollen wir als Satzfesthalten, weil sie oft sehr nützlich ist:Satz 2 Zu je zwei ganzen Zahlen a, b existieren ganzeZahlen α, β mit
ggT(a, b) = α · a + β · b.
Diese Zahlen α, β kann man durch „Rückwärtseinsetzen“beim Algorithmus „Wechselwegnahme“ leicht bestimmen.
Mathematik I fur Informatiker – Zahlen – p. 31
Beschleunigung der ggT-Berechnung
Am Beispiel erkennt man eine Möglichkeit, den Algorithmuszu beschleunigen: die letzten vier Schritte kann man zueinem einzigen zusammenfassen.Funktion Mehrfachwegnahme.Input: Natürliche Zahlen a und b mit a ≥ b.Output: MW(a, b) := (b, a mod b).Es wird also die größere der beiden Zahlen ersetzt durchihren Rest modulo der anderen.
Algorithmus (Euklidischer Algorithmus).Input: Ganze Zahlen a, b mit a ≥ b ≥ 0WHILE b 6= 0 do(a, b) := MW(a, b);Output: a.
Mathematik I fur Informatiker – Zahlen – p. 32
. . . berechnet den ggT
Der Euklidische Algorithmus führt offenbar zum gleichenErgebnis wie die Wechselwegnahme. Wir haben also:
Satz 3 Der Euklidische Algorithmus berechnet den ggT.
Mathematik I fur Informatiker – Zahlen – p. 33
Beispiel
a b
238 154 238 mod 154 = 84
Mathematik I fur Informatiker – Zahlen – p. 34
Beispiel
a b
238 154 238 mod 154 = 84
154 84 154 mod 84 = 70
Mathematik I fur Informatiker – Zahlen – p. 35
Beispiel
a b
238 154 238 mod 154 = 84
154 84 154 mod 84 = 70
84 70 84 mod 70 = 14
Mathematik I fur Informatiker – Zahlen – p. 36
Beispiel
a b
238 154 238 mod 154 = 84
154 84 154 mod 84 = 70
84 70 84 mod 70 = 14
70 14 70 mod 14 = 0
Mathematik I fur Informatiker – Zahlen – p. 37
Beispiel
a b
238 154 238 mod 154 = 84
154 84 154 mod 84 = 70
84 70 84 mod 70 = 14
70 14 70 mod 14 = 0 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 38
Beispiel
a b
238 154 238 mod 154 = 84
154 84 154 mod 84 = 70
84 70 84 mod 70 = 14 14 = 84 − 70
70 14 70 mod 14 = 0 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 39
Beispiel
a b
238 154 238 mod 154 = 84
154 84 154 mod 84 = 70 70 = 154 − 84
84 70 84 mod 70 = 14 14 = 84 − 70
70 14 70 mod 14 = 0 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 40
Beispiel
a b
238 154 238 mod 154 = 84 84 = 238 − 154
154 84 154 mod 84 = 70 70 = 154 − 84
84 70 84 mod 70 = 14 14 = 84 − 70
70 14 70 mod 14 = 0 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 41
Beispiel
a b
238 154 84 = 238 − 154
154 84 70 = 154 − 84
84 70 14 = 84 − 70
70 14 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 42
Beispiel
a b
238 154 84 = 238 − 154
154 84 70 = 154 − 84
84 70 14 = 84 − 70 ggT = 84 − 70
70 14 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 43
Beispiel
a b
238 154 84 = 238 − 154
154 84 70 = 154 − 84 ggT = 2 · 84 − 154
84 70 14 = 84 − 70 ggT = 84 − 70
70 14 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 44
Beispiel
a b
238 154 84 = 238 − 154 ggT = 2 · 238 − 3 · 154
154 84 70 = 154 − 84 ggT = 2 · 84 − 154
84 70 14 = 84 − 70 ggT = 84 − 70
70 14 ggT(238, 154) = 14
Mathematik I fur Informatiker – Zahlen – p. 45
Beweis des Hilfssatzes über die Einheiten
Beweis Wenn a zu n teilerfremd ist, dann gibt es nach demSatz Zahlen α und β mit
α · a + β · n = 1
und folglichα · a ≡ 1 (mod n),
woraus(α mod n) · a ≡ 1 (mod n)
folgt. α mod n ist dann multiplikativ invers zu a in Zn.Ist ggT (a, n) =: d > 1, dann ist b := n
deine ganze Zahl in Zn,
die von Null verschieden ist. Aber a · b ist dann einVielfaches von n und folglich a · b ≡ 0 (mod n), d.h. a ist einNullteiler oder gleich 0. �
Mathematik I fur Informatiker – Zahlen – p. 46
Inversenberechnung modn
Aufgabe: Bestimme die Lösung der Gleichung
13 · x mod 109 = 10.
Lösungsweg:
1. Zeige mit Hilfe des Euklidischen Algorithmus, dassggT(109, 13) = 1 gilt.
2. Berechne Zahlen α und β mit 1 = α · 13 + β · 109.
3. Multiplikativ invers zu 13 ist dann α mod 109.
4. Die (einzige) Lösung der Aufgabe ist daher
x = 10 · α mod 109.
Mathematik I fur Informatiker – Zahlen – p. 47
GF(p)
Wenn p eine Primzahl ist, dann ist jede Zahl in {1, 2, . . . , p}teilerfremd zu p.
Wenn p eine Primzahl ist, dann gibt es modulo p keineNullteiler. Man kann durch alle Zahlen von Zp (außer Null)modulo p dividieren.
Der Ring Zp, p prim, ist ein Körper!
Er wird auch mit dem Symbol GF(p) abgekürzt(“Galois-Field”).
Mathematik I fur Informatiker – Zahlen – p. 48