Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der...

49
Rechnen modulo n Bernhard Ganter Institut f¨ ur Algebra TU Dresden D-01062 Dresden [email protected] Bernhard Ganter, TU Dresden Mathematik I f¨ ur Informatiker

Transcript of Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der...

Page 1: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Rechnen modulo n

Bernhard Ganter

Institut fur AlgebraTU Dresden

D-01062 [email protected]

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 2: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Kanonische Primfaktorzerlegung

Jede naturliche Zahl n > 0 kann auf eindeutige Weise in der Form

n = pα11 · p

α22 · . . . · p

αkk

geschrieben werden, wobei

k ∈ N,

αi ∈ N \ {0} fur i ∈ {1, . . . , k} und

p1 < p2 < · · · < pk Primzahlen sind.

Dies ist die kanonische Primfaktorzerlegung von n.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 3: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

ggT und kgV

Je zwei naturliche Zahlen n und m besitzen

einen groß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 dobegin

if m < n then n := n −m

if n < m then m := m − n

endoutput(‘‘ggT =’’, m).

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 4: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Gauss–Klammer

Ist r eine reelle Zahl, dann bezeichnet brc die großte ganze Zahl,die kleiner oder gleich r ist.

Analog ist dre die kleinste ganze Zahl, die großer oder gleich r ist.

Sind a und b ganze Zahlen, b 6= 0, so ist

a div b =⌊a

b

⌋.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 5: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

z mod n

Ist z eine beliebige ganze Zahl und ist n > 0 eine naturliche Zahl,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}.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 6: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Rechnen modulo n

Wenn man umfangreiche Rechnungen modulo n auszufuhren hat,dann ist die Homomorphieregel außerordentlich hilfreich. Siebesagt, dass man auch Zwischenergebnisse modulo n rechnen darf,ohne dass sich das Endergebnis andert. Formal besagt sie, dass furganze 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

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 7: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

a ≡ r (mod n)

Der standige Zusatz”

modn“ wird rasch lastig und gernweggelassen. Um Missverstandnisse zu vermeiden, kann man ihnam Ende der Rechnung in Klammern angeben und dieGleichheitszeichen durch ≡ ersetzen, wie im folgenden Beispiel:

(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 altertumlich aber einpragsam als

a ist kongruent zu r modulo n.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 8: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Ein Satz von J.P.Fermat

Eine Primzahl p ist genau dann nicht als Summe zweierQuadrate ganzer Zahlen darstellbar, wenn p kongruent zu3 modulo 4 ist.

Solche Ergebnisse der elementaren Zahlentheorie haben in denletzten Jahren fur die Kryptologie an Bedeutung gewonnen.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 9: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Rechnen modulo 5

+ 0 1 2 3 4

0 0 1 2 3 41 1 2 3 4 02 2 3 4 0 13 3 4 0 1 24 4 0 1 2 3

− 0 1 2 3 4

0 0 4 3 2 11 1 0 4 3 22 2 1 0 4 33 3 2 1 0 44 4 3 2 1 0

· 0 1 2 3 4

0 0 0 0 0 01 0 1 2 3 42 0 2 4 1 33 0 3 1 4 24 0 4 3 2 1

Die Verknupfungstafeln fur die Rechenarten modulo 5.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 10: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Operationen auf einer Menge

Grundsatzlich hat man nahezu unbegrenzte Freiheiten, sich neueRechenstrukturen zu verschaffen: Man wahlt sich eineTragermenge und definiert darauf Operationen, beispielsweiseindem man willkurlich Verknupfungstafeln hinschreibt.

Operation und Verknupfung bedeuten in diesem Zusammenhangdasselbe. Eine n-stellige Operation auf einer Tragermenge Tnimmt als Input eine Folge von n Elementen aus T und gibt einElement von T als Output zuruck.

Eine n-stellige Operation auf T ist also eine Abbildung

f : T n → T .

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 11: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Tischtennisturniermultiplikation

a

bc

de

a

bc

de

PPPP

aaa

a

bc

de

��

����

a

bc

deSSSS

SS a

bc

de

����

!!!

x◦y :=

{x falls x = y ,

der Spieler, der aussetzt, wenn x gegen y spielt falls x 6= y .

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 12: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Tischtennisturniermultiplikationstafel

a

bc

de

a

bc

de

PPPP

aaa

a

bc

de

��

����

a

bc

deSSSS

SS a

bc

de

����

!!!

◦ a b c d e

a a d b e cb d b e c ac b e c a dd e c a d be c a d b e

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 13: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Regeln (1) fur das Rechnen modulo n

Die Addition

ist assoziativ: es gilt (a + b) + c = a + (b + c)fur alle a, b, c ,ist kommutativ: es gilt a + b = b + a fur alle a, b,ist kurzbar: aus a + b = a + c folgt stets b = c .Das ist wichtig, wenn man Gleichungen losenwill.hat 0 als neutrales Element: a + 0 = 0 + a = agilt fur alle a.hat inverse Elemente: Zu jedem a ist−a := 0− a ein Element mita + (−a) = 0 = (−a) + a. Daraus folgt ubrigensdie Kurzbarkeit.

(Zn,+ mod n,− mod n, 0) ist eine abelsche Gruppe.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 14: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Regeln (2) fur das Rechnen modulo n

die Multiplikation

ist assoziativ: es gilt (a · b) · c = a · (b · c) furalle a, b, c,ist kommutativ: es gilt a · b = b · a fur alle a, b,hat 1 als neutrales Element: a · 1 = a = 1 · a giltfur alle a.ist uber der Addition distributiv:a · (b + c) = a · b + a · c gilt fur alle a, b, c(Leseregel:

”Punktrechnung vor

Strichrechnung“).

Zn := (Zn,+ mod n,− mod n, · mod n, 0, 1)

ist ein kommutativer Ring mit Eins.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 15: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Ein anderer Zugang zu Zn

Fur Zahlenmengen A,B ⊆ R definiert man die Komplexadditiondurch

A + B := {a + b | a ∈ A, b ∈ B}.

Entsprechend kann man eine Komplexsubtraktion und eineKomplexmultiplikation einfuhren.

So kommt man (wenn man noch Klammern einspart) furnaturliche Zahlen n und r zu

nZ + r := {. . . , r − 2n, r − n, r , r + n, r + 2n, . . .},

der Restklasse zum Rest r modulo n. Diese Menge enthalt genaudiejenigen ganzen Zahlen, die bei der ganzzahligen Division durchn den Rest r ergeben.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 16: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Restklassenringe

Man uberzeugt sich, dass bei festem n die

Komplexaddition,

Komplexsubtraktion und

Komplexmultiplikation

von Restklassen als Ergebnisse immer Restklassen liefern.

Die Restklassen modulo n bilden einen kommutativen Ring mitEins, den Restklassenring der ganzen Zahlen modulo n.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 17: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Rechnen mit Reprasentanten

Jede Restklasse modulo n enthalt genau eine der Zahlen{0, 1, . . . , n − 1}.

Deshalb rechnet man nicht wirklich mit den Restklassen, sondernmit ihren Reprasentanten aus Zn.

Das entspricht genau der oben eingefuhrten Rechenweise modulon.

Der Restklassenring modulo n ist also isomorph zum Ring Zn derganzen Zahlen modulo n.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 18: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Rechnen modulo 2

Der fur die Informatik wichtigste Fall ist naturlich Z2. In diesemFall stimmen Addition und Subtraktion uberein. Die beidenRestklassen sind die Menge der geraden und die der ungeradenZahlen.

+ 0 1

0 0 11 1 0

· 0 1

0 0 01 0 1

Das Rechnen modulo 2.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 19: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Dividieren modulo n?

Eine Division modulo n kann man nicht ohne erheblicheEinschrankungen erfinden.

Das zeigt ein einfaches Beispiel: das Rechnen modulo 6.

Wenn es moglich ware, eine Division durch 2 modulo 6 zu erfinden,dann sollte doch jedenfalls 2 geteilt durch 2 das Ergebnis 1 und 0geteilt durch 2 das Ergebnis Null liefern.Daraus erhalt man die widerspruchliche Gleichung

3 ≡ 3 · 1 ≡ 3 · 2

2≡ 3 · 2

2≡ 0

2≡ 0 (mod 6).

So geht es also nicht!

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 20: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Nullteiler

Man kann dieses Beispiel verallgemeinern.Man nennt eine Zahl a 6= 0 (in einem Ring) einen Nullteiler, wennes eine Zahl b 6= 0 mit a · b = 0 gibt.

Im Ring Z6 ist diese Bedingung fur a = 2 und b = 3 erfullt:2 ist also ein Nullteiler in Z6.

Die Argumentation der vorigen Seite zeigt:

eine Division durch Nullteilerkann nicht sinnvoll definiert werden.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 21: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Einheiten

Eine Zahl a in einem Ring ist eine Einheit, wenn es eine Zahl bmit a · b = 1 gibt.

Durch Einheiten kann man”dividieren“, denn b verhalt sich ja wie

ein Kehrwert zu a.

Man sagt, b sei multiplikativ invers zu a.

Man dividiert durch a, indem man mit b multipliziert.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 22: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Mittelwert mod 5

Auf diese Weise konnen wir z.B. einen”Mittelwert modulo 5“

definieren, namlich die Operation

a • b := 3(a + b) mod 5,

denn wegen 2 · 3 mod 5 = 1 ist 3(a + b) modulo 5 dasselbe wiea+b2 .

• 0 1 2 3 4

0 0 3 1 4 21 3 1 4 2 02 1 4 2 0 33 4 2 0 3 14 2 0 3 1 4

.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 23: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Tischtennis mod 5

Auf diese Weise konnen wir z.B. einen”Mittelwert modulo 5“

definieren, namlich die Operation

a • b := 3(a + b) mod 5,

denn wegen 2 · 3 mod 5 = 1 ist 3(a + b) modulo 5 dasselbe wiea+b2 .

◦ a b c d e

a a d b e cb d b e c ac b e c a dd e c a d be c a d b e

∼=

• 0 1 2 3 4

0 0 3 1 4 21 3 1 4 2 02 1 4 2 0 33 4 2 0 3 14 2 0 3 1 4

.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 24: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Welche Zahlen sind Einheiten mod n?

Durch Einheiten kann man dividieren, durch Nullteiler nicht.

Es bleibt die Frage, wie man Einheiten und Nullteiler erkennt.

Modulo n ist das einfach:

Hilfssatz Eine Zahl a ∈ {1, . . . , n − 1} ist genau dann eine Einheitmodulo n, wenn a zu n teilerfremd ist.Ist a keine Einheit, dann ist a ein Nullteiler.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 25: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Eulersche ϕ-Funktion

Die Eulersche ϕ-Funktion ist fur n ∈ N folgendermaßen definiert:

ϕ(n) := |{e ∈ {0, . . . , n − 1} | ggT(e, n) = 1}|.

ϕ(n) gibt also die Anzahl der zu n teilerfremden naturlichen Zahlenan, die kleiner als n sind.

ϕ(n) gibt also auch die Anzahl der Einheiten in Zn an.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 26: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Eine Formel fur ϕ(n)

Satz Istn = pα1

1 · pα22 · . . . · p

αkk

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− 13) · (1− 1

7) = 1008 · 12 ·

23 ·

67 = 288.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 27: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Funktion Wegnahme

Input: Eine Menge {a, b}, bestehend aus naturlichen Zahlena und b.

Output: WN({a, b}) :=

{{b, a− b} falls a ≥ b

{a, b − a} sonst.

Es wird also die großere der beiden Zahlen ersetzt durch diepositive Differenz der beiden Zahlen. Das Ergebnis ist eine zwei-oder einelementige Menge.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 28: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

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 gemeinsamer Teilervon a1 und b1, dann ist d auch ein Teiler von a und von b.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 29: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Wechselwegnahme

Algorithmus Wechselwegnahme.Input: Naturliche Zahlen a, b.

while |{a, b}| = 2 do

{a, b} := WN({a, b});

Output: a.

Weil bei jedem while-Schritt die großere der beiden Zahlenverkleinert wird, terminiert dieser Algorithmus offenbar, d.h., erkommt zu einem Ergebnis.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 30: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

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.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 31: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

ggT-Berechnung

Hilfssatz Der Algorithmus Wechselwegnahme berechnet dengroßten gemeisamen Teiler (ggT).

Beweis Sei d das Ergebnis einer Ausfuhrung des Algorithmus beidem Input {a, b}. Wendet man die Beobachtungen 1) und 2)induktiv an, so erhalt 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 und b ist,und aus dem ersten folgt, dass jeder gemeinsame Teiler von a undb auch ein Teiler von d ist. Deshalb muss d der großtegemeinsame Teiler von a und b sein.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 32: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beobachtung

Eine Erkenntnis aus dem Beweis wollen wir als Satz festhalten, weilsie oft sehr nutzlich ist:Satz Zu je zwei ganzen Zahlen a, b existieren ganze Zahlen α, βmit

ggT(a, b) = α · a + β · b.

Diese Zahlen α, β kann man durch”Ruckwartseinsetzen“ beim

Algorithmus”Wechselwegnahme“ leicht bestimmen.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 33: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beschleunigung der ggT-Berechnung

Am Beispiel erkennt man eine Moglichkeit, den Algorithmus zubeschleunigen: die letzten vier Schritte kann man zu einemeinzigen zusammenfassen.Funktion Mehrfachwegnahme.Input: Naturliche Zahlen a und b mit a ≥ b.Output: MW(a, b) := (b, a mod b).Es wird also die großere der beiden Zahlen ersetzt durch ihren Restmodulo 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.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 34: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

. . . berechnet den ggT

Der Euklidische Algorithmus fuhrt offenbar zum gleichen Ergebniswie die Wechselwegnahme. Wir haben also:

Satz Der Euklidische Algorithmus berechnet den ggT.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 35: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 36: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84154 84 154 mod 84 = 70

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 37: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84154 84 154 mod 84 = 70

84 70 84 mod 70 = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 38: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84154 84 154 mod 84 = 70

84 70 84 mod 70 = 1470 14 70 mod 14 = 0

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 39: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84154 84 154 mod 84 = 70

84 70 84 mod 70 = 1470 14 70 mod 14 = 0 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 40: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84154 84 154 mod 84 = 70

84 70 84 mod 70 = 14 14 = 84− 7070 14 70 mod 14 = 0 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 41: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84154 84 154 mod 84 = 70 70 = 154− 84

84 70 84 mod 70 = 14 14 = 84− 7070 14 70 mod 14 = 0 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 42: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 238 mod 154 = 84 84 = 238− 154154 84 154 mod 84 = 70 70 = 154− 84

84 70 84 mod 70 = 14 14 = 84− 7070 14 70 mod 14 = 0 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 43: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 84 = 238− 154154 84 70 = 154− 84

84 70 14 = 84− 7070 14 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 44: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 84 = 238− 154154 84 70 = 154− 84

84 70 14 = 84− 70 ggT = 84− 7070 14 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 45: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 84 = 238− 154154 84 70 = 154− 84 ggT = 2 · 84− 154

84 70 14 = 84− 70 ggT = 84− 7070 14 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 46: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beispiel

a b

238 154 84 = 238− 154 ggT = 2 · 238− 3 · 154154 84 70 = 154− 84 ggT = 2 · 84− 154

84 70 14 = 84− 70 ggT = 84− 7070 14 ggT(238, 154) = 14

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 47: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Beweis des Hilfssatzes uber die Einheiten

Beweis Wenn a zu n teilerfremd ist, dann gibt es nach dem SatzZahlen α 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

d eine ganze Zahl in Zn, dievon Null verschieden ist. Aber a · b ist dann ein Vielfaches von nund folglich a · b ≡ 0 (mod n), d.h. a ist ein Nullteiler oder gleich0.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 48: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

Inversenberechnung modn

Aufgabe: Bestimme die Losung der Gleichung

13 · x mod 109 = 10.

Losungsweg:

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) Losung der Aufgabe ist daher

x = 10 · α mod 109.

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker

Page 49: Rechnen modulo n - Fakultät Mathematik — TU Dresdenganter/inf0708/folien/inf07-Modulo.pdf · Der Restklassenring modulo n ist also isomorph zum Ring Z n der ganzen Zahlen modulo

GF(p)

Wenn p eine Primzahl ist, dann ist jede Zahl in {1, 2, . . . , p − 1}teilerfremd zu p.

Wenn p eine Primzahl ist, dann gibt es modulo p keine Nullteiler.Man kann durch alle Zahlen von Zp (außer Null) modulo pdividieren.

Der Ring Zp, p prim, ist ein Korper!

Er wird auch mit dem Symbol GF(p) abgekurzt (“Galois-Field”).

Bernhard Ganter, TU Dresden Mathematik I fur Informatiker