1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

Werbung
Westfälische Wilhelms-Universität Münster
Mathematik
Sommersemester 2017
Seminar: Verschlüsselungs- und Codierungstheorie
Leitung: Thomas Timmermann
1.Vortrag:
Rechnen mit Restklassen/modulo einer Zahl
Dennis Niermeyer
Matrikelnummer: 418 961
2-Fach-Bachelor Philosophie und Mathematik
6. Fachsemester
E-Mail-Adresse: [email protected]
1
Inhalt:
Zielformulierung
3
§1 Der euklidische Algorithmus
3
1.1. Lemma
3
1.2. Vorgehensweise des euklidischen Algorithmus
3
1.3. Beispiel
3
1.4. Der erweiterte euklidische Algorithmus
4
1.5. Beispiel
4
1.6. Satz
5
1.7. Korollar
5
§2 Kongruenzen und Restklassenringe
5
2.1. Kongruenzen
6
2.1.1. Definition: Kongruent
6
2.1.2. Definition: Restklassen
6
2.1.3. Beispiel
6
2.1.4. Korollar
6
2.2. Restklassenringe
7
2.2.1. Definition: Ring
7
2.2.2. Definition: Addition und Multiplikation von Restklassen
7
2.2.3. Frage: Wann ist der Restklassenring ein Körper?
7
2.2.4. Satz: Inverse Elemente in ℤ/ mℤ
7
2.2.5. Antwort zur Frage
8
2
Ziel des Vortrags
Der vorliegende Vortrag verfolgt das Ziel, den Zuhörern den euklidischen Algorithmus sowie das
Rechnen mit Restklassen und wichtige Folgerungen über Restklassenringe nahezubringen und das
dafür erforderliche Grundwissen wenn nötig zu vervollständigen.
Diese Themen sind Grundlagen für einige Bereiche der Verschlüsselungs- und Codierungstheorie
und bilden deshalb ein Fundament für das restliche Seminar.
§1 Der euklidische Algorithmus
Algorithmen sind formalisierte Beschreibungen von Berechnungsverfahren mit einer Ein- und einer
Ausgabe
Der euklidische Algorithmus berechnet den größten gemeinsamen Teiler zweier Zahlen, basierend
auf folgenden Aussagen:
1.1 Lemma:
1. Wenn b = 0 ist, dann ist ggT(a,b) = |a|.
2. Wenn b ≠ 0 ist, dann ist ggT(a,b) = ggT(|b|, a mod |b|).
Beweis
1. Folgt direkt aus der Definition vom ggT.
2. Sei b ≠ 0. Aus der Definition der Division mit Rest folgt, dass es dann ein q∈ℤ
gibt mit a = q · |b| + (a mod b). Daher teilt der ggT von a und b auch den ggT von |b|
und a mod |b| und umgekehrt. Da beide ggT nicht negativ sind, folgt die Behauptung.
q.e.d.
1.2 Vorgehensweise des euklidischen Algorithmus:
Um den größten gemeinsamen Teiler zu bestimmen, wendet der Algorithmus so lange 2.
an, bis b = 0 gilt (while-Schleife) und wendet dann ein mal 1. an.
1.3 Beispiel:
Es soll ggT(100, 35) berechnet werden.
Da 100 und 35 beide nicht negativ sind, hat das Ersetzen von a und b durch |a| und
|b| keinen Effekt.
Da 35 ≠ 0 gilt, ersetzt der Algorithmus zunächst 100 durch 35 und 35 durch
100 mod 35.
3
Wir erhalten also ggT(35, 100 mod 35) = ggT(35, 30).
Da 30 ≠ 0 wird der Vorgang mit den neuen Werten wiederholt. Also
ggT(30, 35 mod 30) = ggT(30, 5).
Bei erneutem wiederholen des Vorgangs erhält man
ggT(5, 30 mod 5) = ggT(5, 0).
Nun ist b = 0 und somit tritt 1. in Kraft:
ggT(5, 0) = 5 = ggT(100, 35).
Beweis
Es soll jetzt bewiesen werden, dass durch diesen Algorithmus tatsächlich der größte
gemeinsame Teiler ermittelt wird.
Hierfür setzt man r 0=∣a∣ , r 1=∣b∣ und für k ≥1 und r 1≠0
r k+1=r k−1 mod r k . Dann ist r 2 , r 3 , ... die Folge der Reste, die in der
while-Schleife des euklidischen Algorithmus ausgerechnet wird. Außerdem gilt nach
dem k-ten Durchlauf der while-Schleife
a=r k , b=r k+1 .
Aus 1. und 2. folgt, dass sich der ggT von a und b nicht ändert. Es bleibt also zu zeigen,
dass r k Null wird. Das folgt aber bereits daraus, dass die oben beschriebene Folge
(r k )k≥1 streng monoton fallend ist.
q.e.d.
1.4 Satz: Der erweiterte euklidische Algorithmus:
Der euklidische Algorithmus soll nun so erweitert werden, dass er neben dem ggT auch
die passenden
x , y ∈ℤ ausgibt, um die Gleichung ax + by = ggT(a,b) zu lösen.
Hierzu ist wieder r 0 , ... , r n+1 die Restefolge und q 0 , ... , q n die Folge der
Quotienten, die bei der Anwendung des euklidischen Algorithmus auf a,b entstehen.
Für den neuen Algorithmus konstruiert man nun die Folgen ( x k ) und ( y k ) .
Man setzt
x 0=1, x 1=0, y 0=0, y 1=1 und definiert dann rekursiv
x k +1 =q k x k + x k−1 ,
y k+1=q k y k + y k−1 ,
1≤k≤n .
Hierbei wird angenommen, dass a und b nicht negativ sind.
1.5 Beispiel:
Der erweiterte euklidische Algorithmus soll nun auf die Werte a = 100 und b = 35
angewandt werden. Es entsteht die folgende Tabelle:
4
k
rk
0
1
2
3
4
100
35
30
5
0
2
1
6
qk
xk
1
0
1
1
7
yk
0
1
2
3
20
Der vorletzten Spalte können nun die relevanten Informationen entnommen werden:
ggT(100, 35) = (-1) · 100 + 3 · 35 = 5.
1.6
Satz:
Es gilt
r k =(−1)k x k a+(−1)k+1 y k b für 0 ≤ k ≤ n+1.
Insbesondere gilt für
x=(−1)n x n und
y=(−1)n+1 y n die Gleichung
ax + by = ggT(a,b).
Beweis
Zunächst gilt durch die Definition der Folgen:
r 0=x 0 a−y 0 b=1 ⋅a−0 ⋅b=a und r 1=−x1 a− y1 b=−0 ⋅a+1 ⋅b=b .
Da laut der Division mit Rest in ℤ allgemein gilt
r = a – bq, ist für k ≥ 2 und k' < k :
r k =r k−2−q k−1 r k−1
=(−1)k−2 x k−2 a+(−1)k−1 y k−2 b−q k−1 ((−1)k−1 x k−1 a+(−1)k y k−1 b)
=(−1)k a ( x k−2+q k−1 x k −1)+(−1)k+1 b( y k−2+qk −1 y k−1 )
=(−1)k x k a+(−1) k+1 y k b
1.7
q.e.d.
Korollar: (folgt aus 1.2.5.)
Für alle a , b∈ℤ gibt es
x , y ∈ℤ mit ax + by = ggT(a,b).
§2 Kongruenzen und Restklassenringe
Im nächsten Abschnitt sollen Restklassenringe thematisiert werden. Um diese zu verstehen, bietet es
sich an, zunächst die Äquivalenzrelation der Kongruenz einzuführen.
5
2.1 Kongruenzen
2.1.1.
Definition: Kongruent:
Seien a , b∈ℤ und m∈ℕ .
Man sagt a ist kongruent zu b modulo m und schreibt a ≡ b mod m, wenn m die
Differenz b – a teilt.
Einfacher ausgedrückt bedeutet das, dass a und b bei Division durch m den selben
Rest lassen.
Die Kongruenz modulo m ist eine Äquivalenzrelation auf ℤ. Das bedeutet, dass gilt:
i) Jede ganze Zahl ist zu sich selbst kongruent modulo m (reflexiv).
ii) Aus a ≡ b mod m folgt b ≡ a mod m (symmetrisch).
iii) Aus a ≡ b mod m und b ≡ c mod m folgt a ≡ c mod m (transitiv).
2.1.2.
Definition: Restklassen:
Die Äquivalenzklasse von a, die man auch Restklasse von a mod m nennt, besteht
aus allen Zahlen, die sich aus der Summe von a und ganzzahligen Vielfachen von m
ergeben, also aus allen Zahlen, die kongruent zu a modulo m sind.
Man schreibt {b : b ≡ a mod m} = a + mℤ.
2.1.3.
Beispiel:
Die Restklasse von 0 mod 2 zum Beispiel sind alle ganzen Zahlen mit zwei
multipliziert, also alle geraden Zahlen. Die Restklasse von 1 mod 2 sind dem
entsprechend alle ganzen Zahlen mit zwei multipliziert und dann mit eins addiert,
also alle ungeraden Zahlen.
2.1.4.
Korollar:
Die Menge aller Restklassen modulo m wird mit ℤ / mℤ bezeichnet und enthält
immer m Elemente, weil die Reste, die bei Division durch m auftreten können genau
0,1,...,m-1 sind.
6
2.2Restklassenringe
Im Folgenden soll gezeigt werden, dass die Restklassen einen Ring bilden.
Dafür wird zunächst der Begriff des Ringes wiederholt.
2.2.1.
Definition: Ring:
Ein Ring ist ein Tripel aus einer Menge und zwei Verknüpfungen (R, +, ·), auf dem
folgendes gilt: a , b , c∈R
i)
Es ist assoziativ : a + (b + c) = (a + b) + c, a · (b · c) = (a · b) · c.
ii)
Es ist kommutativ bezüglich + : a + b = b + a.
iii)
Es besitzt ein neutrales Element e bezüglich + : e + a = a + e = a.
iv)
Jedes Element im Tripel besitzt ein Inverses bezüglich + :
−1
−1
a+a =a +a=e.
v)
Es gilt das Distributivgesetz : a (b + c) = ab + ac.
Ein Ring heißt kommutativ, wenn er auch bezüglich · kommutativ ist.
2.2.2.
Definition: Addition und Multiplikation von Restklassen:
Addition und Multiplikation von Restklassen ist wie folgt definiert:
(a + mℤ) + (b + mℤ) = (a + b) + mℤ.
(a + mℤ) · (b + mℤ) = (a · b) + mℤ.
Da (ℤ , +, ·) ein kommutativer Ring ist, zeigt sich leicht, dass auch (ℤ/ mℤ, +, ·) ein
kommutativer Ring ist.
2.2.3.
Frage: Wann ist der Restklassenring ein Körper?
Es soll untersucht werden, wann ein Restklassenring ein Körper ist.
Ein Körper ist ein kommutativer Ring mit Einselement, in dem jedes von Null
verschiedene Element invertierbar ist.
2.2.4.
Satz: Inverse Elemente in ℤ/ mℤ:
Als nächstes sollen die Inversen Elemente (bezüglich Multiplikation) in ℤ/ mℤ
untersucht werden. Da dies die teilbaren Elemente betrifft, muss zunächst gesagt
werden, dass Teilbarkeit in ℤ/ mℤ genauso definiert ist, wie in ℤ.
7
Ein Element a + mℤ aus ℤ/ mℤ ist invertierbar, das heißt, es darf durch dieses
Element geteilt werden, wenn die Kongruenz ax ≡ 1 mod m lösbar ist.
Dies gilt genau dann, wenn ggT(a,m) = 1 ist. Dann ist das Inverse von a + mℤ
eindeutig bestimmt.
Beweis
Sei g = ggT(a,m) und x eine Lösung von ax ≡ 1 mod m. Dann ist g ein Teiler von m
und damit von ax – 1. Da g auch ein Teiler von a ist, muss g = 1 sein.
Sei nun g = 1. Dann gibt es x,y mit ax + my = 1, also ax – 1 = -my. Also ist x eine
Lösung von ax ≡ 1 mod m und x + mℤ in ℤ/ mℤ ein Inverses von a + mℤ.
Zum Beweis der Eindeutigkeit sei v + mℤ ein weiteres Inverses von a + mℤ.
Also ist ax ≡ av mod m, also ist m Teiler von a(x – v). Mit ggT(a,m) = 1 folgt, dass
m Teiler von x – v und somit ist x ≡ v mod m.
2.2.5.
q.e.d.
Antwort zur Frage:
Daraus folgt, dass der Restklassenring ℤ/ mℤ genau dann nur aus Invertierbaren
Elementen Besteht, wenn für jedes k ∈ℤ/m ℤ gilt, dass ggT(k,m) = 1 ist. Das ist
offensichtlich nur der Fall, wenn m eine Primzahl ist.
ℤ/ mℤ ist also genau dann ein Körper, wenn m eine Primzahl ist.
8
Quelle:
JOHANNES BUCHMANN, Einführung in die Kryptographie, Heidelberg: Springer Spektrum, 6th
revised edition, 2016.
9
Herunterladen