Kanonische Primfaktorzerlegungganter/inf2005/folien/Moduloslides.pdf · Dividieren modulo n? Eine...

Post on 15-Jun-2020

5 views 0 download

Transcript of Kanonische Primfaktorzerlegungganter/inf2005/folien/Moduloslides.pdf · Dividieren modulo n? Eine...

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