Sie sind auf Seite 1von 18

Angewandte Kryptographie

Zahlentheoretische Grundlagen

Prof. Dr. Christoph Karg1

7.3.2021
Version: 0.0.13

Zusammenfassung

Dieses Skript beinhaltet die zahlentheoretischen Grundlagen zur Vorlesung Angewandte Kryptographie
des Studienschwerpunkts IT-Sicherheit an der Hochschule Aalen.
Warnung: Dies ist ein Skript im Frühstadium und somit garantiert nicht fehlerfrei. Sachdienliche
Hinweise für die Fehlerbeseitigung senden Sie bitte an christoph.karg@hs-aalen.de.

1 Einleitung Beweis. Für q = a div n und r = a mod n gilt a =


qn + r. Also existiert mindestens ein Zahlenpaar q, r
Im folgenden steht N steht für die Menge der natür- mit der geforderten Eigenschaft.
lichen Zahlen. Mit Z wird die Menge der ganzen Angenommen, es gibt zwei verschiedene Zahlenpaa-
Zahlen und mit R die Menge der reellen Zahlen be- re (q1 , r1 ) und (q2 , r2 ), die die Eigenschaften des obi-
zeichnet. gen Satzes erfüllen. Dann muss q1 6= q2 und r1 = 6 r2
sein. Aus
a = q 1 n + r1 = q 2 n + r2
2 Ganzzahlige Division mit Rest
folgt
Die Eulersche Ganzzahlfunktion ist definiert als (q2 − q1 )n = r1 − r2
Also n|(r1 −r2 ). Da laut Annahme 0 ≤ r1 , r2 ≤ n−1,
bxc = max{a ∈ Z | a ≤ x}, muss r1 − r2 = 0 gelten. Also ist r1 = r2 .
wobei x ∈ R.
Das folgende Lemma liefert nützliche Rechenregeln
Definition 2.1 Für zwei Zahlen a, n ∈ Z, wobei der Modulo-Funktion.
n > 0, ist die ganzzahlige Division mit Rest defi-
Lemma 2.3 Seien a, b, m, n ∈ Z, wobei m, n ≥ 2.
niert als:
Dann gilt:
• q = a div n = b na c (Quotient)
(i) (a + b) mod m
• r = a mod n = a − b na c ·n (Rest) = (a mod m + b mod m) mod m

Satz 2.2 Für alle a, n ∈ Z, wobei n > 0, gibt es (ii) (a · b) mod m


genau ein Paar von Zahlen q, r ∈ Z, so dass 0 ≤ = ((a mod m) · (b mod m)) mod m
r ≤ n − 1 und a = qn + r.
(iii) (a mod m · n) mod n = a mod n
1
Prof. Dr. Christoph Karg, Hochschule Aalen, Studi-
engang Informatik, Anton-Huber-Straße 25, 73430 Aalen,
Email: christoph.karg@hs-aalen.de
Beweis. Seien a, b, m, n beliebige ganze Zahlen, wo-
bei m, n ≥ 2 und m > n.

1
(i): Sei a = ka m + ra , wobei ra = a mod m und Satz 3.2 Seien a, b ∈ Z beliebige ganze Zahlen. Falls
b = kb m + rb , wobei rb = b mod m. Dann gilt: a | b und b | a, dann a = ±b.

(a + b) mod m Beweis. Angenommen, a | b und b | a. Dann gibt es


= (ka m + ra + kb m + rb ) mod m k1 ∈ Z mit b = k1 a und k2 ∈ Z mit a = k2 b. Hieraus
= (ra + rb ) mod m folgt a = k2 k1 a. Somit ist k1 k2 = 1 und deshalb
k1 = k2 = ±1.
= (a mod m + b mod m) mod m

(ii): Sei a = ka m + ra , wobei ra = a mod m und Die Teilbarkeit ist eine binäre Relation in Z × Z,
b = kb m + rb , wobei rb = b mod m. Dann gilt: formal:

(a · b) mod m | = {(a, b) ∈ Z × Z | a teilt b}.


= ((ka m + ra ) · (kb m + rb )) mod m Man überprüft ohne Mühe, dass die Teilbarkeitsre-
2
= (ka kb m + ka mrb + kb mra + ra rb ) mod m lation reflexiv und transitiv ist.
= (ra · rb ) mod m Der Begriff der Teilbarkeit ermöglicht die Definition
= ((a mod m) · (b mod m)) mod m des größten gemeinsamen Teilers.
Definition 3.3 (Größter gemeinsamer Teiler) Der
(iii): Sei a = kmn + r, wobei r = a mod mn und
größte gemeinsame Teiler (engl. greatest common di-
r = ℓn + r′ , wobei r′ = r mod n. Es gilt:
visor) zweier ganzer Zahlen a und b, wobei a 6= 0
(a mod m · n) mod n oder b 6= 0, ist definiert als gcd(a, b) = max{d ∈
Z | d | a und d | b}.
= ((kmn + r) mod m · n) mod n
= ((kmn + ℓn + r′ ) mod m · n) mod n Genau genommen ist gcd eine Abbildung von Z × Z

= (ℓn + r ) mod n nach N mit folgenden Eigenschaften:
= r′ 1. gcd(a, b) = gcd(b, a)
= a mod n
2. gcd(−a, b) = gcd(a, b)
Somit ist das Lemma bewiesen.
3. gcd(a, b) = gcd(|a|, |b|)
Man beachte, dass die Aussage (iii) des obigen Lem- 4. gcd(a, 0) = |a|
mas nicht auf beliebige Moduli verallgemeinerbar
ist. Ein Gegenbeispiel ist: 5. gcd(a, k · a) = |a| für alle k ∈ Z

{z 8}) mod 5 = 1 6= 3 = 78 mod 5.


Der nächste Satz ist für die Kryptographie von zen-
| mod
(78
=6 traler Bedeutung. Er liefert eine alternative Darstel-
lung des größten gemeinsamen Teilers zweier Zah-
len, die an vielen Stellen Anwendung findet.
3 Teilbarkeit
Satz 3.4 Seien a, b ∈ Z − {0}. Der größte gemein-
Der Begriff der Teilbarkeit spielt in der Zahlentheo- same Teiler gcd(a, b) von a und b ist das kleinste
rie eine wichtige Rolle. Er ist wie folgt definiert: positive Element der Menge {ax + by | x, y ∈ Z} al-
ler Linearkombinationen von a und b.
Definition 3.1 (Teilbarkeit) Seien a und b ganze
Zahlen, wobei a 6= 0. a teilt b, symbolisch a | b, falls Beweis. Seien die ganzen Zahlen x und y so gewählt,
es eine ganze Zahl k gibt, so dass a · k = b ist. dass s = ax + by das kleinste,
 positive Element in
obiger Menge ist. Setze q = as .
Angenommen, a | b. Dann nennt man a Teiler von b
und b ein Vielfaches von a. 0 ≤ a mod s = a − qs
Mittels der Teilbarkeit kann die Gleichheit von zwei = a − q(ax + by)
ganzen Zahlen überprüft werden. = a(1 − qx) + b(−qy) < s

2
Da s minimal, ist a mod s = 0. Somit s | a. Auf Satz 3.8 Für alle ganzen Zahlen a ≥ 0 und b > 0
analoge Weise zeigt man: s | b. Somit s | a und s | b. gilt:
Also gcd(a, b) ≥ s. gcd(a, b) = gcd(b, a mod b).
Es gilt: gcd(a, b) | a und gcd(a, b) | b. Hieraus folgt
gcd(a, b) | s. Da s > 0, gilt gcd(a, b) ≤ s. Also ist Beweis. Sei q = a div b und r = a mod b. Dann ist
gcd(a, b) ≤ s und gcd(a, b) ≥ s, oder mit anderen a = qb + r und r = a − qb. Wegen Satz 3.4 gilt
Worten: gcd(a, b) = s.
d = gcd(a, b)
Beispiel 3.5 Wie man leicht nachrechnet, gilt: = ax + by
= qbx + rx + by
gcd(12, 42) = 6 = (−3) · 12 + 1 · 42
gcd(23, 52) = 1 = (−9) · 23 + 4 · 52 und

d′ = gcd(b, a mod b)
Besitzt ein Paar von natürlichen Zahlen keinen ge- = bx′ + ry ′
meinsamen Teiler, der größer als 1 ist, dann bezeich- = bx′ + ay ′ − qby ′
net man diese Zahlen als teilerfremd.
Da d | a und d | b, gilt d | d′ . Da d′ | b und d′ | r, gilt
Definition 3.6 Eine Zahl a ist teilerfremd zu der ′
d | d. Aus Satz 3.2 und der Tatsache, dass d ≥ 1 und
Zahl b, falls gcd(a, b) = 1.
d′ ≥ 1, folgt d = d′ .
Eine wichtiges Resultat ist, dass das Produkt zweier
Das folgende Beispiel illustriert die Anwendung von
Zahlen, die zu der ganzen Zahl n teilerfremd sind,
Satz 3.8 zur Berechnung des größten gemeinsamen
auch teilerfremd zu n ist.
Teilers.
Satz 3.7 Für beliebige a, b, n ∈ Z, wobei n 6= 0, Beispiel 3.9
gilt: Falls gcd(a, n) = 1 und gcd(b, n) = 1, dann
gcd(ab, n) = 1. gcd(12, 42) = gcd(42, 12)
= gcd(12, 6)
Beweis. Seien a, b, n beliebige ganze Zahlen, wobei
= gcd(6, 0)
n 6= 0. Da gcd(a, n) = gcd(b, n) = 1 existieren we-
gen Satz 3.4 x, y ∈ Z, so dass = 6

ax + ny = 1
Der nächste Satz liefert ein nützliches Resultat für
und x′ , y ′ ∈ Z, so dass die Teilbarkeit des Produkts zweier teilerfremder
Zahlen.
bx′ + ny ′ = 1.
Satz 3.10 Seien a, b und m 6= 0 beliebige ganze
Hieraus folgt: Zahlen. Falls gcd(a, m) = 1 und m | ab, dann m | b.

1 = (ax + ny)(bx′ + ny ′ ) Beweis. Wegen Satz 3.4 gilt


′ ′ ′ ′
= abxx + bx ny + axny + nyny
1 = ax + my
= ab(xx′ ) + n(bx′ y + axy ′ + nyy ′ )
und
Also ist gcd(ab, n) = 1. b = bax + bmy.

Der nächste Satz liefert eine Rekursionsgleichung, Da m | ab, ist ab = km für ein k ∈ Z. Also ist
die die Basis zur Berechnung des größten gemeinsa-
b = kmx + bmy = m(kx + by).
men Teilers mittels eines Algorithmus bildet.
Hieraus folgt, dass m | b.

3
Abbildung 1 Algorithmus von Euklid zur Berech- folgt:
nung von gcd(a, b).
a) Rekursive Variante: Euclid(102, 75) = Euclid(75, 27)
= Euclid(27, 21)
Euclid(a, b)
= Euclid(21, 6)
Input: a, b ganze Zahlen, wobei a > b ≥ 0
Output: gcd(a, b) = Euclid(6, 3)
1 if (b = 0) then = Euclid(3, 0)
2 return a = 3
3 else
4 return Euclid(b, a mod b)
Also ist gcd(102, 75) = 3.
b) Iterative Variante: Die iterative Variante liefert dasselbe Ergebnis:
Euclid(a, b) i r a b
Input: a, b ganze Zahlen, wobei a > b ≥ 0 0 − 102 75
Output: gcd(a, b) 1 27 75 27
1 while (b 6= 0) do 2 21 27 21
2 r ← a mod b 3 6 21 6
3 a←b 4 3 6 3
4 b←r 5 0 3 0
5 return a
Der Wert i ist ein Zähler für die Anzahl der Schlei-
fendurchläufe. ♢
4 Der Algorithmus von Euklid
Will man neben dem größten gemeinsamen Tei-
ler auch die passende Linearkombination berechnen,
Ziel dieses Abschnitts ist die Entwicklung eines effi- dann führt folgender Ansatz zum Ziel.
zienten Algorithmus zur Berechnung des größten ge-
meinsamen Teilers zweier natürlicher Zahlen a und Für gcd(a, 0) ist d = a, x = 1, y = 0. Für gcd(a, b)
b. Wir gehen hierzu in zwei Schritten vor. Zuerst mit b > 0 greift Satz 3.8. Aus
wird unter Einsatz von Satz 3.8 ein rekursiver Al-
gcd(a, b) = gcd(b, a mod b)
gorithmus zur Berechnung von gcd(a, b) entwickelt.
Anschließend wird Satz 3.4 eingesetzt, um den Al- folgt:
gorithmus so zu erweitern, dass auch die Werte x
und y der zugehörigen Linearkombination berech- ax + by = bx′ + (a mod b)y ′
net werden.  jak 
= bx′ + a − b y′
Aus Satz 3.8 kann direkt ein rekursiver Algorith- b
jak
mus zur Berechnung des größten gemeinsamen Tei- = ay ′ + bx′ − by ′
b
jak
lers abgeleitet werden. Dieser Algorithmus ist in Ab-
bildung 1 dargestellt. = ay ′ + b(x′ − y′)
b
Das nächste Beispiel illustriert den Ablauf des Al-
Aus dieser Gleichung lässt sich der rekursive Algo-
gorithmus von Euklid.
rithmus in Abbildung 2 ableiten.
Beispiel 4.1 Ziel ist die Berechnung des größten
Beispiel 4.2 Unter Einsatz des Erweiterten Algo-
gemeinsamen Teilers von a = 102 und b = 75 mit
rithmus von Euklid soll gcd(102, 75) sowie die pas-
dem Algorithmus von Euklid. Der Ablauf ist wie
sende Linearkombination berechnet werden. Der Al-
gorithmus durchläuft die folgenden rekursiven Auf-

4
Abbildung 2 Erweiterter Algorithmus von Euklid ist eine Äquivalenzrelation. Für alle a ∈
EEA(a, b) {0, 1, . . . , m − 1} ist
Input: a, b ganze Zahlen, wobei a > b ≥ 0
Output: (d, x, y) wobei d = ax + by = gcd(a, b) [a] = {i · m + a | i ∈ Z}
1 if (b = 0) then eine Äquivalenzklasse von ≡m . ≡m besitzt also m
2 return (a, 1, 0) Äquivalenzklassen.
3 else
Der folgende Satz stellt einen Zusammenhang zwi-
4 (d′ , x′ , y ′ ) ← EEA(b, a mod b) schen Kongruenzen und der Teilbarkeit ganzer Zah-
5 d ← d′ len her.
6 x ← y′
7 y ← x′ − b ab cy ′ Satz 5.2 Seien a, b, m ganze Zahlen, wobei m > 0.
8 return (d, x, y) Dann gilt:

a≡b (mod m) genau dann, wenn m | (b − a).


rufe:
a b ba/bc d x y Beweis. Angenommen a ≡ b (mod m). Dann ist
102 75 1 3 −11 15 a = ka m + r und b = kb m + r, wobei
75 27 2 3 4 −11
r = a mod m = b mod m.
27 21 1 3 −3 4
21 6 3 3 1 −3 Hieraus folgt:
6 3 2 3 0 1
3 0 − 3 1 0 b − a = kb m + r − kam m − r = (kb − ka )m.
Die Lösung lautet: gcd(102, 75) = 3 = 102 · (−11) +
Also ist m ein Teiler von b − a.
75 · 15. ♢
Angenommen, m ist ein Teiler von b − a. Dann ist
Sowohl der einfache als auch der erweiterte Algo- b − a = km für eine ganze Zahl k. Angenommen,
rithmus von Euklid hat eine Komplexität von O(ℓ3 ), a = ka m + ra und b = kb m + rb , wobei 0 ≤ ra , rb ≤
wobei ℓ für die Länge der Zahlen in Bit steht. m − 1. Dann ist:

b − a = (kb − ka )m + (rb − ra ) = km.


5 Kongruenzen
rb −ra muss ein Vielfaches von m sein. Wegen −m <
rb −ra < m folgt hieraus, dass rb −ra = 0 und ra = rb
Definition 5.1 (Kongruenzrelation) Seien a, b und ist. Also ist a ≡ b (mod m).
m beliebige ganze Zahlen, wobei m > 0. a ist kon-
gruent zu b modulo m, symbolisch Satz 5.3 (Rechenregeln für Kongruenzen) Seien
a, b, c, d, m ganze Zahlen, wobei m > 0, a ≡ b
a ≡ b (mod m) (mod m) und c ≡ d (mod m). Dann gilt:
genau dann, wenn a mod m = b mod m.
(i) a + c ≡ b + d (mod m)
Manchmal schreibt man auch (ii) a − c ≡ b − d (mod m)

a ≡m b (iii) a · c ≡ b · d (mod m)

anstatt (iv) Für alle n = 1, 2, 3, . . .: an ≡ bn (mod m)


a≡b (mod m).
Die Relation

≡m = {(a, b) ∈ Z × Z | a mod m = b mod m}

5
Beweis. Seien a, b, c, d, m ganze Zahlen, die die im Nun werden die Zahlen wieder durch die entspre-
Satz geforderten Bedingungen erfüllen. Dann sind chenden Reste ersetzt. Ergebnis:
a, b, c, d darstellbar als
1 + 7x ≡ 6x + 6 (mod 8)
a = k a m + r1
b = k b m + r1 Wegen Regel (ii) können beide Seiten mit 6x sub-
trahiert werden, ohne die Kongruenz zu verfälschen.
c = k c m + r2
Ergebnis:
d = k d m + r2 1 + x ≡ 6 (mod 8)
wobei r1 = a mod m und r2 = c mod m. Aus dem selben Grund ist es erlaubt, auf beiden
Um Punkt (i) zu beweisen, wird Satz 5.2 eingesetzt. Seiten 1 zu subtrahieren. Das Endergebnis ist die
Wegen Kongruenz
x ≡ 5 (mod 8).

(a + c) − (b + d) = ka m + r1 + kc m + r2
− k b m − r 1 − k d m − r2
Kongruenzen können fast genauso behandelt werden
= (ka − kb + kc − kd )m wie „herkömmliche“ Gleichungen. Einzige Ausnah-
me ist die Division beider Seiten der Kongruenz.
ist m ein Teiler von (a + c) − (b + d). Folglich muss Dies kann zu einem falschen Ergebnis führen, wie
folgendes Beispiel zeigt.
a + c ≡ b + d (mod m)
Beispiel 5.5 Gegeben ist die Kongruenz
gelten.
Die Punkte (ii) und (iii) wird auf analoge Art und 2x ≡ 4 (mod 8).
Weise bewiesen.
Man überprüft leicht, dass x = 2 und x = 6 die Lö-
Der Nachweis von Punkt (iv) erfolgt mittels Induk-
sungen aus Z8 sind. Dividiert man beide Seiten der
tion über n. Für n = 1 ist die Aussage korrekt.
Kongruenz mit 2, dann erhält man die Kongruenz
Angenommen, an ≡ bn (mod m). Für c = an und
d = bn folgt aus Punkt (iii), dass x ≡ 2 (mod 8).

| {z· a} ≡ b| {z· }b
n n
a (mod m). Für diese Kongruenz ist zwar x = 2 eine korrekte
=an+1 =bn+1 Lösung, nicht aber x = 6. Also führt die durch-
Somit ist Punkt (iv) bewiesen. geführte Umformung zu keiner äquivalenten Glei-
chung. ♢
Das folgende Beispiel zeigt, wie man mit den obigen
Rechenregeln arbeitet. Ob man eine Kongruenz durch die Division beider
Seiten vereinfachen kann, hängt von deren Aufbau
Beispiel 5.4 Ziel ist die Lösung der Kongruenz ab. Der nächste Satz zeigt, wann man eine Kongru-
enz „kürzen“ darf und wie diese Operation durch-
13(21 + 19x) ≡ 22x − 10 (mod 8)
geführt wird.
unter Einsatz der obigen Rechenregeln. Die Regeln
Satz 5.6 Für beliebige ganze Zahlen a, b, m, k, wobei
(i), (ii) und (iii) erlauben es, die Zahlen durch ih-
m > 0, gilt:
re entsprechenden Reste modulo 8 zu ersetzen. Das
ka ≡ kb (mod m)
Ergebnis ist die Kongruenz
genau dann, wenn
5(5 + 3x) ≡ 6x + 6 (mod 8)
a ≡ b (mod m d ),
Anschließend kann die linke Seite der Kongruenz
ausmultipliziert werden. Ergebnis: wobei d = gcd(k, m).

25 + 15x ≡ 6x + 6 (mod 8)

6
Beweis. Seien a, b, m, k beliebige ganze Zahlen, wo- ap + mq = 1 und somit apb + mqb = b. Dies führt
bei m > 0. Sei d = gcd(k, m). Dann existieren ganze zu folgender Kongruenz:
Zahlen k ′ und m′ , so dass k = k ′ d bzw. m = m′ d
apb + mqb ≡ b (mod m)
und gcd(m′ , k ′ ) = 1. m′ und k ′ sind also teilerfremd.
apb ≡ b (mod m)
Hieraus folgt:
Also ist x = pb eine Lösung für obige Gleichung.
ka ≡ kb (mod m)
Angenommen, es gibt neben x ∈ Zm eine zweite
⇔ m | (ka − kb)
(von x verschiedene) Lösung x′ ∈ Zm für obige Glei-
⇔ m′ | (k ′ a − k ′ b) chung, d.h. ax′ ≡ b (mod m). Durch Subtraktion
′ ′
⇔ m | k (a − b) der beiden Gleichungen erhält man:

⇔ m | (a − b)
ax ≡ ax′ (mod m)

⇔ a ≡ b (mod m ) ax − ax′ ≡ 0 (mod m)
⇔ a ≡ b (mod m d)
a (x − x′ ) ≡ 0 (mod m)
| {z }
=0
Somit ist der Satz bewiesen.
Folglich ist x = x′ . Dies ist ein Widerspruch. Also
Das folgende Korollar ist eine direkte Konsequenz ist x die einzige Lösung für obige Gleichung.
des obigen Satzes.
Satz 6.2 Sei m ein Modul. Für beliebige ganze Zah-
Korollar 5.7 Für alle a, b, d, m, wobei m > 0, gilt: len a, b gilt: die Gleichung

ad ≡ bd (mod md) ax ≡ b (mod m)

ist genau dann lösbar, wenn gcd(a, m) ein Teiler von


genau dann, wenn
b ist (d.h., gcd(a, m) | b). Ist die Gleichung lösbar,
a≡b (mod m). dann existieren genau gcd(a, m) Lösungen.

Beweis. Da d = gcd(d, md), folgt die Äquivalenz Beweis. Sei d = gcd(a, m). Falls ax ≡ b (mod m)
direkt aus Satz 5.6. lösbar ist, dann ist ax − my = b für ein y ∈ Z. Also
ist d ein Teiler von b.
Angenommen, d teilt b. Sei m = m′ d, a = a′ d und
6 Lineare Gleichungen b = b′ d. Wegen Korollar 5.7 gilt, dass

ax ≡ b (mod m) (1)
Eine lineare Gleichung mit der Unbekannten x hat
die Form genau dann lösbar ist, wenn
ax ≡ b (mod m),
a′ x ≡ b′ (mod m′ ) (2)
wobei a, b, m ∈ N und m > 0. Die Lösbarkeit dieser
Gleichung hängt von der Wahl von a und m ab. lösbar ist. Da gcd(a′ , m′ ) = 1, gibt es laut Satz 6.1
eine eindeutige Lösung x ≡ t (mod m′ ) für Äquiva-
Satz 6.1 Sei a, b, m ∈ Z, wobei m > 0. Es gilt: Die lenz 2. Folglich ist für jedes i die Zahl x = t + im′
Kongruenz ebenfalls eine Lösung für diese Äquivalenz, da der
ax ≡ b (mod m) zweite Summand vom Modul m′ eliminiert wird.
ist eindeutig lösbar genau dann, wenn gcd(a, m) = Jedes x = t + im′ ist auch eine Lösung für die Äqui-
1. valenz 1. Um zu klären, wieviele Lösungen es mo-
dulo m gibt, wählen wir i1 6= i2 aus und betrachten
Beweis. Angenommen, gcd(a, m) = 1. Dann exis- die Ungleichung
tieren laut Satz 3.4 zwei Zahlen p, q ∈ Z, so dass
t + i1 m′ 6≡ t + i2 m′ (mod m)
i1 m′ 6≡ i2 m′ (mod m)

7
Da m = dm′ folgt wegen Korollar 5.7: 7 Primzahlen
i1 6≡ i2 (mod d) Primzahlen spielen in der Public Key Kryptographie
eine wichtige Rolle.
Folglich gibt es d verschiedene Lösungen modulo m.
Diese sind Definition 7.1 Eine Zahl p ∈ N ist eine Primzahl,
m m m falls sie genau zwei voneinander verschiedene na-
t, t + 1 · , t + 2 · , . . . , t + (d − 1) · . türliche Zahlen als Teiler besitzt. Diese Teiler sind
d d d
1 und p selbst.

Beispiel 6.3 Betrachte die Gleichung Eine Folgerung von Satz 3.10 ist der erste Satz von
Euklid.
9x ≡ 6 (mod 15).
Satz 7.2 (Erster Satz von Euklid) Sei p eine Prim-
Also ist a = 9, b = 6 und m = 15. Da gcd(a, m) = 3 zahl und a und b ganze Zahlen. Falls p | ab, dann
und 3 | 6, besitzt die Gleichung drei Lösungen. Die p | a oder p | b.
erste Lösung wird anhand der Gleichung
Bekanntlich kann man jede zusammengesetzte Zahl
3x ≡ 2 (mod 5) als ein Produkt von Primzahlen darstellen.

unter Einsatz des Erweiterten Algorithmus von Eu- Satz 7.3 (Fundamentalsatz der Arithmetik) Sei
klid ermittelt. Es gilt: n ∈ N, n ≥ 2. Dann existieren Primzahlen
p1 , . . . , pk , wobei p1 < . . . < pk und Exponenten
gcd(3, 5) = 1 = 3 · 2 + 5 · (−1). e1 , . . . , ek , wobei ei ≥ 1 für alle i = 1, . . . , k, so dass

Die Lösung ist x = 2 · 2 = 4. Die restlichen beiden Y


k

Lösungen sind 4 + 1 · 5 = 9 und 4 + 2 · 5 = 14. ♢ n= pei i .


i=1

Eine Zahl a ist invertierbar modulo m, falls es eine Die Primzahlen p1 , . . . , pk und die Exponenten
Zahl a−1 gibt, so dass a · a−1 ≡ 1 (mod m). a−1 e1 , . . . , ek sind eindeutig.
nennt man multiplikatives Inverses von a. Satz 6.2
liefert eine Antwort auf die Frage, wann eine Zahl a Beweis. Im ersten Schritt wird nachgewiesen, dass
ein multiplikatives Inverses modulo m besitzt. für jede natürliche Zahl n ≥ 2 passende Primzahlen
und Exponenten existieren. Wir führen hierzu einen
Satz 6.4 Seien a, m beliebige natürliche Zahlen, wo-
Induktionsbeweis über n.
bei m > 1. Falls gcd(a, m) = 1, dann existiert ein
multiplikatives Inverses für a modulo m. Induktionsanfang: n = 2. Wähle p1 = 2 und e1 = 1.
Offensichtlich gilt pe11 = 21 = 2 = n.
Beweis. Laut Satz 6.2 ist die Gleichung Induktionsbehauptung: Für alle Zahlen 2, . . . , n − 1
ist die Aussage des Satzes korrekt.
ax ≡ 1 (mod m)
Induktionsschritt. n − 1 ⇝ n. Falls n eine Primzahl
genau dann lösbar, wenn gcd(a, n) ein Teiler von 1 ist, dann ist der Satz korrekt. Sei nun angenom-
ist. Dies ist der Fall, wenn gcd(a, n) = 1 ist. men, dass n eine zusammengesetzte Zahl ist, d.h.,
n = n1 n2 , wobei 1 ≤ n1 , n2 ≤ n − 1. Laut Induk-
Das multiplikative Inverse kann man unter Einsatz tionsannahme existieren Primzahlen q1 , . . . , qℓ und
des Erweiterten Euklidschen Algorithmus berech- Exponenten f1 , . . . , fℓ , so dass
nen.
Yℓ
n1 = qifi ,
i=1

8
sowie Primzahlen r1 , . . . , rm und Exponenten Die in obigem Satz hergeleitete Primfaktorzerlegung
g1 , . . . , gm , so dass von n nennt man auch die Standardform von n.

Y
m Ein wichtiges Resultat im Zusammenhang mit
n2 = rigi . Primzahlen ist der Satz von Euklid, der besagt, dass
i=1 es unendlich viele Primzahlen gibt.
Sei Q = {q1 , . . . , qℓ }, R = {r1 , . . . , rm } und P = Satz 7.4 (Euklid) Es gibt unendlich viele Primzah-
Q ∪ R. Sei k = ||P || und seien p1 < . . . < pk die len.
Primzahlen in P . Die Exponenten e1 , . . . , ek sind wie
folgt definiert: Für eine natürliche Zahl n steht π(n) für die Anzahl
 der Primzahlen, die kleiner-gleich n sind.

 fj pi = qj ∈ Q und pi ∈ /R
e i = rj pi = rj ∈ R und pi ∈ /Q Satz 7.5 (Primzahlsatz)


fj + gj ′ pi = qj ∈ Q und pi = rj ′ ∈ R n
π(n) ≈
ln n
Es gilt:
Die Kernaussage des Primzahlsatzes ist, dass man
Y
ℓ Y
m Y
k
gute Chancen hat, dass eine zufällig gezogene Zahl
n = n1 · n2 = qifi rigi = pei i .
eine Primzahl ist. Zieht man zufällig unter Gleich-
i=1 i=1 i=1
verteilung eine Zahl ≤ n, dann ist diese mit einer
1
Im zweiten Schritt wird die Eindeutigkeit der obigen Wahrscheinlichkeit von etwa ln n eine Primzahl.
Zahlen nachgewiesen. Falls p | a1 · a2 . . . ak , dann gilt
laut Satz 7.2 p | ai für ein i ∈ {1, . . . , k}. Sind alle
Faktoren a1 , . . . , ak Primzahlen, dann muss auch p
8 Die Eulersche Phi Funktion
eine Primzahl sein.
Dieser Abschnitt beschäftigt sich mit der Frage, wie-
Angenommen, die Primzahlen p1 , . . . , pk und die viele Zahlen teilerfremd zu einer gegebenen natürli-
Exponenten e1 , . . . , ek sind nicht eindeutig. Dann chen Zahl n sind.
existieren Primzahlen q1 , . . . , qℓ und Exponenten
f1 , . . . , fℓ , so dass Definition 8.1 (Eulersche Phi Funktion) Die Funk-
tion φ(n) liefert die Anzahl der Zahlen in {1, . . . , n},
n = pe11 · . . . · pekk = q1f1 · . . . · qℓfℓ . die teilerfremd zu n sind, formal:

Da pi | q1f1 · . . . · qℓfℓ , muss jedes pi identisch mit einem φ(n) = ||{a ∈ {1, . . . , n} | gcd(a, n) = 1}|| .
qj sein. Analog muss jedes qi identisch mit einem pj
sein. Also ist k = ℓ- Da die Primzahlen in beiden φ nennt man die Eulersche Phi Funktion.
Darstellungen aufsteigend sortiert sind, folgt hier-
aus, dass pi = qi für alle i = 1, . . . , k. Offensichtlich ist φ(1) = 1. Ist p eine Primzahl, dann
ist φ(p) = p − 1.
Also unterscheiden sich die Darstellungen nur in den
Exponenten. Angenommen, ei > fi . Dann ist Um die Anzahl der zur Primzahlpotenz pa teiler-
fremden Zahlen zu ermitteln, wird die Folge 1, 2,
e1 ei −fi ek . . . , pa untersucht. Es ist exakt jede p-te Zahl in der
p1 · . . . · p i · . . . · pk
fi−1 fi+1 durch p teilbar. Folglich ist
= q1f1 · . . . · qi−1 · qi+1 · . . . · qℓfℓ
 
1
Folglich ist die rechte Seite durch pi teilbar, die linke φ(p ) = p − p
a a a−1
=p · 1−
a
.
p
jedoch nicht. Dies ist ein Widerspruch. Auch die An-
nahme ei < fi führt zu einem Widerspruch. Dem- Für beliebiges n gestaltet sich die Berechnung ein
nach muss ei = fi für alle i = 1, . . . , k gelten. Also wenig aufwändiger:
müssen die beiden Darstellungen identisch sein.

9
Satz 8.2 Für alle n ∈ N ist eingesetzt, wobei ℓ ∈ {1, . . . , k}. Sℓk enthält alle Teil-
mengen von {1, . . . , k} mit genau ℓ Elementen.
Y 1

φ(n) = n · 1− ,
p ||M1 ∪ M2 ∪ . . . ∪ Mk || =
p|n
Xk X \
ℓ+1
wobei das Produkt über alle Primfaktoren p von n = (−1) Mi

läuft. ℓ=1 k I∈Sℓ i∈I

X
k X n
Beweis. Sei n eine beliebige natürliche Zahl. Seien = (−1)ℓ+1 Q
pi
p1 , . . . , pk die Primfaktoren von n. Betrachte nun die ℓ=1 I∈Sℓk
i∈I
Menge M = {1, . . . , n}. Für i = 1, . . . , k ist
Hieraus folgt:
Mi = {x ∈ M | pi teilt x}.
||M ∗ || = ||M || − ||M1 ∪ M2 ∪ . . . ∪ Mk ||
Mi enthält also alle Zahlen in M , die durch pi teilbar X
k X n
sind. = n− (−1)ℓ+1 Q
i∈I pi
ℓ=1 I∈Sℓk
Die Menge  
X
k X 1
M ∗ = M − (M1 ∪ M2 ∪ . . . ∪ Mk ) = n 1 − (−1)ℓ+1 Q 
i∈I pi
ℓ=1 I∈Sℓk
enthält also alle zu n teilerfremden Zahlen. Ziel ist
k 
Y 
nun die Berechnung von ||M ||. Die Menge Mi ∩ Mj 1
= n· 1−
enthält alle Zahlen, die teilerfremd zu pi und pj sind. pi
i=1
Es gilt:
Im letzten Schritt kommt Satz A.1 zum Einsatz. Da
||M ∗ || = ||M || − ||M1 ∪ M2 ∪ . . . ∪ Mk || φ(n) = ||M ∗ ||, ist der Satz bewiesen.
= n − ||M1 ∪ M2 ∪ . . . ∪ Mk ||
Für ein Produkt m·n von zwei teilerfremden Zahlen
Zur Berechnung von ||M1 ∪ M2 ∪ . . . ∪ Mk || wird m und n sind die jeweiligen Mengen Mi in obigem
das Prinzip der Inklusion-Exklusion eingesetzt. Es Beweis disjunkt. Diese Beobachtung führt direkt zu
gilt: folgendem Resultat.
n Satz 8.3 Für alle n, m ∈ N gilt: Falls gcd(n, m) =
||Mi || =
pi 1, dann ist φ(m · n) = φ(m) · φ(n).
n
||Mi ∩ Mj || =
pi pj Ein weiterer wichtiger Satz stellt eine Verbindung
zwischen den Teilern von n und φ(n) her.
Für eine beliebige nicht-leere Menge I ⊆ {1, . . . , k}
ist Satz 8.4 Für alle n ∈ N gilt:
\
Q n X
Mi = .
i∈I p i φ(d) = n,
i∈I
d:d|n
Somit ist φ(n) = ||M ∗ ||. Die Anzahl der Elemen-
te in M1 ∪ M2 ∪ . . . ∪ Mk wird mit dem Inklusion- wobei die Summe über alle Teiler d von n läuft.
Exclusion Prinzip berechnet. Hierzu werden para-
metrisierte Indexmengen Beweis. Sei n eine beliebige natürliche Zahl. Seien
d1 , . . . , dk die Teiler von n, d.h., di | n für alle i =
Sℓk = {I ⊆ {1, . . . , k} | ||I|| = ℓ} 1, . . . , k. Für jedes di existiert ein dj , so dass di ·dj =
n. Hieraus folgt die Gleichung
X X n
φ(d) = φ .
d
d:d|n d:d|n

10

Für einen Teiler d von n ist die Menge Gd definiert ist. Der Zusammenhang von ||Gd || und φ nd wird
als deutlich, wenn man die Mengen G′d betrachtet. Bei-
spielsweise enthält
Gd = {x ∈ {1, . . . , n} | gcd(x, n) = d}.
G′2 = {1, 2, 4, 5, 7, 8}
Ist gcd(x, n) = d, dann ist x also in der Menge Gd
enthalten. Für zwei verschiedene Teiler di und dj alle Elemente, die kleiner als n2 =9 und teilerfremd
sind die Mengen Gdi und Gdj disjunkt. Oder als zu 9 sind. Also ist ||G′2 || = φ n2 = φ(9). Für die
Formel: es gilt anderen Mengen gilt eine analoge Beziehung. ♢

Gd i ∩ Gd j = ∅
9 Algebraische Strukturen
für alle 1 ≤ i < j ≤ n. Die Mengen Gd1 , . . . , Gdk
bilden also eine Partition von {1, . . . , n}.
Unter einer algebraischen Struktur versteht man ein
Sei d ein beliebiger Teiler von n. Da Paar (G, ◦), bestehend aus einer Menge G und einer
x n Abbildung ◦ deren Definitionsbereich G×G enthält.
gcd , =1
d d Definition 9.1 (Monoid) Eine Menge G gepaart
für alle x ∈ Gd gilt, enthält die Menge mit einer Abbildung ◦ ist ein Monoid (Halbgruppe
nx o mit neutralem Element), falls folgende Eigenschaf-
′ ten gelten:
Gd = x ∈ Gd
d
alle Zahlen, die teilerfremd zu nd sind. Also ist • Für alle a, b ∈ G ist a ◦ b ∈ G (Abgeschlossen-
 n  heit).
φ = G′d = ||Gd || .
d • Es existiert ein Element e ∈ G so dass a ◦ e =
e ◦ a = a für alle a ∈ G (Neutrales Element).
Insgesamt gilt:
X X n X • Für alle a, b, c ∈ G gilt: (a ◦ b) ◦ c = a ◦ (b ◦ c)
n= ||Gd || = φ = φ(d). (Assoziativität).
d
d:d|n d:d|n d:d|n
Beispiel 9.2 Die Menge G = {1, 2, 4} und die Ab-
Somit ist der Satz bewiesen. bildung ×6 (a, b) = (a · b) mod 6 bilden einen Mo-
noid, wie man anhand der folgenden Wertetabelle
Beispiel 8.5 Gegeben ist die Zahl n = 18. Die
überprüfen kann:
Menge der Teilen von n ist
×6 1 2 4
{1, 2, 3, 6, 9, 18}. 1 1 2 4
2 2 4 2
Die folgende Tabelle enthält die Mengen Gd :
4 4 2 4
d Gd ||Gd ||
Das neutrale Element ist 1.
1 {1, 5, 7, 11, 13, 17} 6
2 {2, 4, 8, 10, 14, 16} 6 Die Menge H = {1, 2, 3} und ×6 bilden dagegen
3 {3, 15} 2 keinen Monoid, da H nicht abgeschlossen unter ×6
6 {6, 12} 2 ist. Beispielsweise ist 2 ×6 2 = 4 6∈ H. ♢
9 {9} 1
Definition 9.3 (Gruppe) Ein Monoid (G, ◦) ist ei-
18 {18} 1
ne Gruppe, falls für jedes a ∈ G ein eindeutig be-
Man überprüft leicht, dass stimmtes a−1 ∈ G existiert, so dass a ◦ a−1 =
X a−1 ◦ a = e. a−1 nennt man das inverse Element
||Gd || = n von a.
d:d|n

11
Falls ||G|| < ∞, dann nennt man (G, ◦) eine endliche und es gilt a ×m 1 = 1 ×m a = a für alle a ∈ Z∗m .
Gruppe. Ist die Verknüpfung kommutativ, d.h., es Zum Nachweis der Existenz inverser Elemente wird
gilt a ◦ b = b ◦ a für alle a, b ∈ G, dann bezeichnet Satz 3.4 herangezogen. Sei a ∈ Z∗m beliebig gewählt.
man (G, ◦) als kommutative oder Abelsche Gruppe. Da gcd(a, m) = 1, existieren ganze Zahlen x und y,
Für ein ganze Zahl m > 0 ist Zm definiert als so dass
ax + my = 1.
Zm = {0, 1, . . . , m − 1}. Hieraus folgt:
Zm enthält alle möglichen Reste, die bei der ganz- 1 ≡ ax + my (mod m)
zahligen Division mit m auftreten können. Die Ab- ≡ ax (mod m)
bildung +m steht für die Addition modulo m, for-
mal: a +m b = (a + b) mod m. Die Abbildung Also ist x das inverse Element von a.
×m steht für die Multiplikation modulo m, formal:
a ×m b = (a · b) mod m. Sei (G, ◦) eine Gruppe und U ⊆ G. Ist (U, ◦) eine
Gruppe, dann nennt man (U, ◦) eine Untergruppe
Lemma 9.4 Sei m eine beliebige ganze Zahl, wobei
von (G, ◦). Gilt U ⊊ G, dann nennt man (U, ◦) eine
m > 0. Dann gilt:
echte Untergruppe von (G, ◦).
(i) (Zm , +m ) ist eine endliche kommutative Grup- Beispiel 9.7 Wie man leicht überprüft, ist
pe. die Struktur ({0, 2, 4}, +6 ) eine Untergruppe von
(Z6 , +6 ). ♢
(ii) (Zm − {0}, ×m ) ist ein Monoid.

Beispiel 9.5 Betrachte Z6 = {0, 1, 2, 3, 4, 5}. Die Der Satz von Lagrange liefert eine wichtige Eigen-
folgende Tabelle liefert alle möglichen Werte der Ab- schaft von Untergruppen einer endlichen Gruppe.
bildung +6 (a, b) = (a + b) mod 6.
Satz 9.8 (Lagrange) Sei (G, ◦) eine endliche Grup-
+6 0 1 2 3 4 5 pe. Für alle Untergruppen (U, ◦) von (G, ◦) gilt: ||U ||
0 0 1 2 3 4 5 ist ein Teiler von ||G||.
1 1 2 3 4 5 0
2 2 3 4 5 0 1 Beweis. Sei (G, ◦) eine endliche Gruppe und (U, ◦)
3 3 4 5 0 1 2 eine Untergruppe von (G, ◦). Betrachte nun die
4 4 5 0 1 2 3 Linksnebenklassen
5 5 0 1 2 3 4
xU = {x ◦ u | u ∈ U },
Das neutrale Element von (Z6 , +6 ) ist 0. Die inver-
sen Elemente kann man direkt aus obiger Tabelle wobei x ∈ G. Für beliebige Elemente u1 , u2 ∈ U
ablesen. ♢ gilt:
x ◦ u1 = x ◦ u2
Die Menge Z∗m enthält alle Zahlen in Zm , die zu m
⇔ x−1 ◦ x ◦ u1 = x−1 ◦ x ◦ u2
teilerfremd sind, formal:
⇔ u1 = u2
Z∗m = {x ∈ Zm | gcd(x, m) = 1}.
Also enthält xU genauso viele Elemente wie U
Satz 9.6 Für alle natürlichen Zahlen m ≥ 2 gilt: selbst, d.h., ||xU || = ||U ||.
Die Struktur (Z∗m , ×m ) ist eine endliche kommuta- Sei x ∈ G beliebig gewählt. Entweder ist xU = G
tive Gruppe. oder es gibt ein y ∈ G, so dass y ∈
/ xU . In letzterem
Fall müssen die Nebenklassen xU und yU disjunkt
Beweis. Die Assoziativität und Kommutativität fol- sein, d.h.,
gen direkt aus der Definition von ×m . Wegen xU ∩ yU = ∅.
Satz 3.7 folgt, dass Z∗m abgeschlossen unter ×m ist.
Das neutrale Element ist die Zahl 1, denn 1 ∈ Z∗m

12
Denn gäbe es zwei Elemente u1 , u2 ∈ U , so dass ist a(2k−1) das inverse Element von a. Insgesamt
x ◦ u1 = y ◦ u2 , dann wäre folgt, dass (U, ◦) eine Gruppe und somit eine Un-
tergruppe von (G, ◦) ist.
x ◦ u1 ◦ u−1
2 =y
| {z }
∈U Man beachte, dass obiger Satz nicht für Gruppen
mit unendlich vielen Elementen gilt.
und somit y ∈ xU . Folglich sind für x, y ∈ G die
Linksnebenklassen x◦U und y◦U entweder identisch Eine wichtige Erkenntnis von Satz 9.9 ist, dass man
oder disjunkt. unter Einsatz eines beliebigen Elements a einer end-
lichen Gruppe (G, ◦) durch wiederholte Verknüp-
Da das neutrale Element e in U enthalten ist, gilt
fung von a eine Untergruppe von (G, ◦) erzeugen
[
G= xU. kann.
x∈G Die von a erzeugte Untergruppe, symbolisch hai, ist
definiert als
Da (G, ◦) eine endliche Gruppe ist und zwei Neben-
klassen entweder identisch oder disjunkt sind, gibt hai = {a(k) | k = 1, 2, . . .}.
es eine Folge x1 , . . . , xk mit
Das Element a nennt man das erzeugende Element
G = x1 U ∪ . . . ∪ xk U, oder auch Generator von hai. Die Ordnung von a,
symbolisch ordG (a), ist die kleinste Zahl k > 0 mit
wobei xi U ∩ xj U = ∅. Also ist ||G|| = k · ||U || und a(k) = e.
somit ||U || ein Teiler von ||G||.
Für die Gruppe (Z∗m , ×m ) und das Element a ∈ Z∗m
Satz 9.9 Sei (G, ◦) eine endliche Gruppe. Für alle bezeichnet ordm (a) die Ordnung von a. Falls m be-
U ⊆ G gilt: Ist U abgeschlossen unter ◦, dann ist kannt ist, schreibt man der Einfachheit halber auch
(U, ◦) eine Untergruppe von (G, ◦). ord(a).
Aus dem Beweis von Satz 9.9 kann man ableiten,
Beweis. Da (G, ◦) eine Gruppe ist, ist ◦ assoziativ. dass die Folge
Laut Annahme ist U abgeschlossen unter ◦. Um die
Existenz des neutralen Elements nachzuweisen, de- a(1) , a(2) , a(3) , . . .
finieren wir für ein beliebiges a ∈ U und k > 0 die
Operation periodisch ist. Die Länge der Periode ist ord(a). Also
ist a(i) = a(j) genau dann, wenn
| ◦ .{z
. . ◦ a} .
(k)
a =a
k-mal i ≡ j (mod ord(a))
a(k)steht also für die k-malige Verknüpfung von a
ist. Also enthält hai genau ord(a) Elemente.
mit sich selbst. Betrachte nun die Folge
Satz 9.10 Für jede endliche Gruppe (G, ◦) und je-
a(1) , a(2) , a(3) , a(4) , . . . des a ∈ G gilt: die Ordnung von a ist gleich der
Da (G, ◦) eine endliche Gruppe ist, existieren i, j Mächtigkeit der von a erzeugten Untergruppe, d.h.,
mit a(i) = a(j) und i < j. Es gilt: ord(a) = ||hai||.

a(i) = a(j) = a(j−i) ◦ a(i) = a(i) ◦ a(j−i) = a(i) . Da die Ordnung einer Untergruppe ein Teiler von
||G|| ist, folgt unmittelbar der folgende Satz.
Folglich ist e = a(j−i) das neutrale Element. Ferner
existiert für jedes a ein k > 0, so dass ak = e. Da Satz 9.11 Sei (G, ◦) eine endliche Gruppe mit dem
neutralen Element e. Für alle a ∈ G gilt:
e = a(k)
a(||G||) = e.
= a(k) ◦ a(k)
= a(2k) Satz 9.12 (Satz von Euler) Für alle a, m gilt: Falls
gcd(a, m) = 1, dann ist
= a (2k−1)
◦a (1)

= a(1) ◦ a(2k−1) aφ(m) ≡ 1 (mod m).

13
Satz 9.13 (Satz von Fermat) Sei p ∈ N. Falls p eine Hieraus folgt:
Primzahl ist, dann gilt für alle a ∈ {1, 2, . . . , p − 1}: X X
p−1= ψ(d) ≤ φ(d) = p − 1
a p−1
≡ 1 (mod p). d:d|p−1 d:d|p−1

Satz 9.14 Sei a ∈ Z∗m mit Ordnung ordm (a) = k. Wegen ψ(d) ≤ φ(d) ist ψ(d) = φ(d) für alle Teiler d
Sei h eine natürliche Zahl. Dann gilt: von p − 1. Also tritt der Fall ψ(d) = 0 nie ein.

Definition 9.16 Eine Gruppe (G, ◦) nennt man zy-


(i) ah ≡ 1 (mod m) genau dann, wenn k | h.
klisch, falls es ein g ∈ G gibt, so dass hgi = G. g
(ii) ai ≡ aj (mod m) genau dann, wenn i ≡ j nennt man in diesem Fall erzeugendes Element oder
(mod k). Generator der Gruppe G.

(iii) Die Elemente in {ai mod m | i = 1, 2, . . . , k} Im folgenden Abschnitt steht die Frage im Mittel-
sind paarweise verschieden. punkt, welche Eigenschaften m erfüllen muss, damit
(Z ∗ , × ) eine zyklische Gruppe ist.
k m m
(iv) ordm (ah mod m) = gcd(h,k) .
Satz 9.17 Für alle Primzahlen p gilt: (Z∗p , ×p ) ist
(v) ordm (a mod m) = k genau dann, wenn eine zyklische Gruppe.
h

gcd(h, k) = 1.
Beweis. Konsequenz aus Satz 9.15
Satz 9.15 Sei p eine Primzahl und d ein Teiler von

φ(p). Dann gibt es in (Z∗p , ×p ) genau d Elemente der Satz 9.18 Für alle Primzahlen p > 2 gilt: Zp2 ist
Ordnung d. eine zyklische Gruppe.
Satz 9.19 Z∗n ist genau dann eine endliche zyklische
Beweis. Für einen Teiler d von φ(p) = p − 1 ist Gruppe, wenn n = 2, 4, pk , 2pk , wobei p > 2 eine
ψ(d) definiert als die Anzahl der Elemente in Z∗p der beliebige Primzahl und k ∈ N.
Ordnung d:

ψ(d) = {a ∈ Z∗p | ord(a) = d} .
10 Der Chinesische Restsatz
Da jedes a eine Ordnung besitzt, gilt
X Betrachte das folgende Gleichungssystem in der Un-
ψ(d) = p − 1. bekannten x:
d:d|(p−1)
x ≡ b1 (mod m1 )
Falls ψ(d) > 0, dann gibt es ein a mit Ordnung d. x ≡ b2 (mod m2 )
Laut Satz 9.14 (iii) sind die Zahlen ai mod p für alle ..
i = 1, . . . , d paarweise verschieden. Ferner gilt .
x ≡ bk (mod mk )
(ai )d ≡ (ad )i ≡ 1 (mod m).
Laut Satz 6.2 ist jede Gleichung für sich lösbar. Gibt
Also sind alle ai Nullstellen des Polynoms es ein x, dass alle Gleichungen gleichzeitig löst? Die
Antwort lautet: ja, falls die Moduli paarweise teiler-
f (x) = (xd − 1) mod p.
fremd sind.
Wegen des Nullstellensatzes (Satz A.2) sind dies alle Satz 10.1 (Chinesischer Restsatz) Sind die Moduli
Nullstellen des Polynoms. Laut Satz 9.14 (v) hat m , . . . , m paarweise teilerfremd, dann existiert für
1 k
ai mod m genau dann Ordnung d, wenn gcd(i, d) = das Gleichungssystem
1. Also ist ψ(d) = φ(d).
x ≡ b1 (mod m1 )
Noch zu untersuchen bleibt der Fall ψ(d) = 0. Laut
Satz 8.4 gilt für jedes n ∈ N x ≡ b2 (mod m2 )
X ..
φ(d) = n. .
d:d|n x ≡ bk (mod mk )

14
eine eindeutige Lösung 4. Konstruiere anhand der mi ’s und ni ’s mit dem
! Chinesischen Restsatz eine Lösung x mit x ≡
X
k
a · b (mod M ).
x= b i Mi n i mod M,
i=1 Beispiel 10.2 Unter Verwendung des Chinesischen
wobei M = m1 · . . . · mk , Mi = M /mi und ni = Restsatzes soll 53 · 102 mod 210 berechnet werden.
Mi−1 mod mi für i = 1, . . . , k. Hierzu wird die Zerlegung M = 210 = 5 · 6 · 7 ein-
gesetzt. Also ist m1 = 5, m2 = 6, m3 = 7.
Beweis. Sei M = m1 · . . . · mk und Mi = M /mi . Man berechnet zunächst
Angenommen, die Moduli m1 , . . . , mk sind paarwei-
se teilerfremd, d.h., gcd(mi , mj ) = 1 für alle i 6= j. 53 mod 5 = 3
Dann ist gcd(Mi , mi ) = 1 für alle i. Folglich besitzt 53 mod 6 = 5
Mi ein multiplikatives Inverses ni modulo mi , d.h., 53 mod 7 = 4

Mi ni ≡ 1 (mod mi ) und
102 mod 5 = 2
Betrachte nun ein beliebiges Tupel (b1 , . . . , bk ) ∈ 102 mod 6 = 0
Zm1 × . . . × Zmk und definiere 102 mod 7 = 4
! Anschließend berechnet man für alle drei Teilwerte
X
k
crt(b1 , . . . , bk ) = bi Mi ni mod M. das Produkt:
i=1
3 · 2 mod 5 = 1
Für jedes j ∈ {1, . . . , k} gilt: 5 · 0 mod 6 = 0
4 · 4 mod 7 = 2
x ≡ crt(b1 , . . . , bk ) (mod mj )
Xk
Abschließend wird anhand der drei Teilergebnisse
≡ bi Mi n i (mod mj )
das Gesamtergebnis ausgerechnet. Hierzu benötigt
i=1
≡ b j Mj n j (mod mj ) man die Werte Mi und ni für i = 1, 2, 3.
≡ bj (mod mj )
M1 = 6 · 7 = 42
Also ist x eine Lösung für (b1 , . . . , bk ). Diese Lösung n1 = M1−1 mod 5 = 3
muss eindeutig sein, da ZM gleich viele Elemente M2 = 5 · 7 = 35
wie Zm1 × . . . × Zmk enthält. Folglich ist
n2 = M2−1 mod 6 = 5
−1
crt (x) = (x mod m1 , . . . , x mod mk ). M3 = 5 · 6 = 30
n3 = M3−1 mod 7 = 4
die inverse Funktion von crt(b1 , . . . , bk ).
Das Gesamtergebnis ist:
Eine Anwendung des Chinesischen Restsatzes ist die
effiziente Berechnung modulo einer großen zusam- crt(1, 0, 1)
mengesetzten Zahl n. ≡ 1 · 42 · 3 + 0 · 35 · 5 + 2 · 30 · 4 (mod 210)
Will man beispielsweise a·b mod M berechnen, dann ≡ 1 · 126 + 0 · 175 + 2 · 120 (mod 210)
geht man folgendermaßen vor: ≡ 126 + 240 (mod 210)
≡ 156 (mod 210)
1. Zerlege M in paarweise teilerfremde Faktoren
m1 , m2 , . . . , mk . Also ist 53 · 102 mod 210 = 156. ♢

2. Berechne ai = a mod mi und bi = b mod mi Definition 10.3 Seien (G, ◦) und (H, •) Monoide
für alle i = 1, 2, . . . , k. mit den neutrale Elementen eG bzw. eH . Eine Ab-
bildung h : G 7→ H ist ein Monoidhomomorphismus
3. Berechne di = ai · bi mod mi für alle i = zwischen (G, ◦) und (H, •), falls sie folgende Eigen-
1, 2, . . . , k. schaften besitzt:

15
• Für alle a, b ∈ G gilt h(a ◦ b) = h(a) • h(b). Da die im Chinesischen Restsatz definierte Abbil-
dung crt−1 : ZM 7→ Zm1 × Zm2 × Zm3 ein Mono-
• h(eG ) = eH . idhomomorphismus ist, folgt wegen Satz 10.4, dass
man das multiplikative Inverse von a modulo M un-
Eine wichtige Eigenschaft eines Monoidhomomor- ter Einsatz des Chinesischen Restsatzes berechnen
phismus ist, dass invertierbare Elemente in (G, ◦) kann.
auf invertierbare Elemente in (H, •) übertragen wer-
den. Hierzu wird zunächst a in die drei Zahlen a1 , a2 , a3
zerlegt:
Satz 10.4 Seien (G, ◦) und (H, •) Monoide mit den
neutralen Elementen eG bzw. eH . Sei h : G 7→ H ein a1 = a mod m1
Monoidhomomorphismus. Dann gilt für alle a ∈ G: = 983 mod 24
−1
Falls es ein a ∈ G gibt mit der Eigenschaft, dass = 23
a ◦ a−1 = eG , dann ist
a2 = a mod m2
h(a ◦ a−1 ) = h(a) • h(a)−1 = eH . = 983 mod 25
=8
Beweis. Sei a ∈ G beliebig gewählt. Angenommen, a3 = a mod m3
es gibt ein a−1 ∈ G, so dass a ◦ a−1 = eG . Dann gilt
= 983 mod 29
−1 −1
eH = h(eG ) = h(a ◦ a ) = h(a) • h(a ) = 26

und Anschließend werden mit dem Erweiteren Euklid-


schen Algorithmus die entsprechenden multiplikati-
eH = h(eG ) = h(a−1 ◦ a) = h(a−1 ) • h(a). ven Inversen berechnet:

Also muss h(a−1 ) das Inverse von h(a) sein. a−1


1 = 23
a−1
2 = 22
Seien m, k ∈ N beliebige Zahlen, wobei m > 1 und
k > 1. Betrachte die Abbildung h(x) = x mod m. h a−1
3 = 19
ein Monoidhomomorphismus zwischen (Zkm , +km ) Nun werden diese Werte zu einer Zahl aus Z zu-
M
und (Zm , +m ). Wie man ohne Mühe nachweist, folgt sammen gefügt. Die hierfür notwendigen Hilfswerte
aus gcd(a, km) = 1, dass gcd(a, m) = 1. Also ist h sind:
ein Monoidhomomorphismus zwischen (Zkm , ×km )
und (Zm , ×m ). M1 = 725
Im Zusammenhang mit dem Chinesischen Restsatz M2 = 696
wurde die Abbildung M3 = 600
crt−1 : ZM 7→ Zm1 × . . . × Zmk n1 = 5
n2 = 6
mit crt(x)−1 = (x mod m1 , . . . , x mod mk ) betrach- n3 = 16
tet, wobei M = m1 m2 . . . mk . Diese Abbildung ist
sowohl für die spaltenweise Addition als auch für Hieraus folgt:
die spaltenweise Multiplikation ein Monoidhomo- !
morphismus. X3
a−1 = a−1
i · Mi · ni mod M
Beispiel 10.5 Gegeben ist der Modul M = i=1

17400 = 24 · 25 · 29 mit den paarweise disjunkten = (23 · 725 · 5 + 22 · 696 · 6 + 19 · 600 · 16)
Faktoren m1 = 24, m2 = 25 und m3 = 29. Betrach- mod 17400
te die Zahl a = 983. Da gcd(a, M ) = 1, ist a sowohl = 9647.
invertierbar modulo M als auch invertierbar modulo
mi für i = 1, 2, 3. Man überprüft leicht, dass das Ergebnis korrekt ist.

16
Abbildung 3 Berechnung des Werts einer Binär- erforderlich. Ein gängiger Algorithmus zur Berech-
zahl nung dieser Terme ist die modulare Exponentiation,
BinaryConvert(b) die in diesem Abschnitt beschrieben wird.
Input: k Bit Binärzahl b = (bk−1 . . . b1 b0 )2 Zum Verständnis der Arbeitsweise des Algorithmus
Output: Wert der Binärzahl b hilft ein Blick auf ein gängiges Verfahren zur Kon-
1 c←0 vertierung einer Binärzahl in eine ganze Zahl. Aus-
2 for i ← k − 1 downto 0 do gangspunkt ist eine Binärzahl
3 c←2·c
b = (bk−1 bk−2 . . . b1 b0 )2
4 if (bi = 1) then
5 c←c+1 mit dem Wert
6 return c X
k−1
c= 2i b i .
i=0

Der Chinesische Restsatz ermöglicht also die Kon- Hängt man an das „Ende“ von b ein weiteres Bit b
vertierung von a und dem zugehörigen multiplikati- an, dann erhält man die Binärzahl
ven Inversen a−1 modulo M in (a1 , a2 , a3 ) und das
b′ = (bk−1 bk−2 . . . b1 b0 b∗ )2 .
zugehörige multiplikative Inverse (a−1 1 , a −1 −1
2 , a 3 )
modulo (m1 , m2 , m3 ) und wieder zurück. ♢ Den Wert von b′ kann man berechnen, indem man
c verdoppelt und b∗ addiert, formal:
Es gibt Module m, für die φ(m) nicht der kleinste
Exponent ist, für den der Satz von Euler gilt. Be- c′ = 2c + b∗ .
trachte m = uv, wobei u, v ≥ 3 und gcd(u, v) = 1.
Dieser Ansatz lässt sich zu einem Konvertierungsal-
Für das kleinste gemeinsame Vielfache
gorithmus ausbauen (siehe Abbildung 3).
φ(u)φ(v)
lcm(φ(u), φ(v)) = Beispiel 11.1 Bei Eingabe der Binärzahl
gcd(φ(u), φ(v))
b = (101110)2
gilt:
berechnet der Algorithmus BinaryConvert beim
alcm(φ(u),φ(v)) Durchlaufen der for-Schleife die folgenden Werte:
φ(u)φ(v)
≡ a gcd(φ(u),φ(v)) (mod u)
 φ(u) i bi c
φ(v)
≡ a gcd(φ(u),φ(v)) (mod u) − − 0
≡ 1 (mod u) 5 1 2 · 0 + 1 = 1
4 0 2·1+0=2
Analog beweist man, dass 3 1 2·2+1=5
2 1 2 · 5 + 1 = 11
alcm(φ(u),φ(v)) ≡ 1 (mod v). 1 1 2 · 11 + 1 = 23
0 0 2 · 23 + 0 = 46
Da u und v teilerfremd sind, folgt unter Einsatz des
Chinesischen Restsatzes, dass Der Wert der Binärzahl (101110)2 ist 46. ♢
alcm(φ(u),φ(v)) ≡ 1 (mod m). Das Verfahren zur Konvertierung einer Binärzahl
lässt sich anpassen, um eine modulare Exponentiati-
on ab mod m zu berechnen. Dabei wird ausgenutzt,
11 Modulare Exponentiation dass die Multiplikation modulo m assoziativ ist. Es
gelten in diesem Fall also die bekannten Potenzge-
Bei vielen kryptographischen Verfahren ist die Be- setze. Für alle a ∈ Zm und alle r, s ∈ N0 gilt:
rechnung von Termen der Bauart
ar+s ≡ ar · as (mod m)
b
a mod m (ar )s ≡ ar·s (mod m)

17
Abbildung 4 Modulare Exponentiation Ergebnis: 746 mod 13 = 4. ♢
ModExp(a, b, m)
Input: a, b, m ganze Zahlen, wobei m > 0 Man beachte, dass die Variable c nur zum besse-
Output: ab mod m ren Verständnis der Funktionsweise des Algorithmus
1 c←0 enthalten ist. In der Praxis wird die Variable c und
2 d←1 die zugehörigen Berechnungen aus dem Algorithmus
entfernt.
3 Sei (bk−1 . . . b1 b0 )2 die Binärdarstellung
von b
4 for i ← k − 1 downto 0 do A Hilfssätze
5 c←2·c
6 d ← (d · d) mod m Satz A.1 Seien a1 , . . . , ak beliebige natürliche Zah-
7 if (bi = 1) then len. Dann gilt:
8 c←c+1
k 
Y  X
k XY 1
9 d ← (d · a) mod m 1
1− =1+ (−1)ℓ ,
10 return d i=1
ai ai
ℓ=1 I∈Sℓ i∈I
k

wobei Sℓk = {I ⊆ {1, . . . , k} | ||I|| = ℓ}.


Zur Berechnung der modularen Exponentiation
ab mod m wird die Binärdarstellung des Exponen- Satz A.2 (Nullstellensatz) Ist K ein Körper und
ten b verwendet. Anstatt schrittweise den Wert von f (x) ein vom Nullpolynom verschiedenes Polynom
b zu bestimmen, wird die Potenz berechnet. Aus über K vom Grad n, dann besitzt f (x) höchstens n
„Verdoppeln und Addieren“ wird also „Quadrieren verschiedene Nullstellen in K.
und Multiplizieren“. Formel:
Satz A.3 (Binomischer Lehrsatz)
a2c+bi ≡ (ac )2 · abi (mod m).
n  
X
n n
Um den zeitlichen Aufwand zu optimieren, wird (a + b) = an−i bi
i
nach jedem Rechenschritt die Modulo-Operation i=0
angewendet. Dies bewirkt, dass die Zwischenergeb-
nisse nicht unnötig groß werden und so die arithme- Literatur
tischen Operationen (insbesondere die Multiplikati-
on) zu einem erhöhtem Aufwand führen. Der ent- [1] Richard Crandall und Carl Pomerance. Prime
sprechende Algorithmus ist in Abbildung 4 darge- Numbers A Computational Perspective. 2. Aufl.
stellt. Das folgende Beispiel veranschaulicht die Ar- Springer, 2005.
beitsweise des Algorithmus.
[2] Ronald L. Graham, Donald Ervin Knuth und
Beispiel 11.2 Ziel ist die Berechnung der Potenz Oren Patashnik. Concrete Mathematics: Foun-
746 mod 13. Für die Eingabe a = 7, b = 46 = dation for Computer Science. Addison Wesley,
(101110)2 und m = 13 berechnet der Algorith- 1994.
mus ModExp(a, b, m) während des Durchlaufens [3] Kristina Reiss und Gerald Schmieder. Basis-
der for-Schleife folgende Zwischenergebnisse: wissen Zahlentheorie Eine Einführung in Zah-
i bi c d d mod m len und Zahlbereiche. 2. Aufl. Springer, 2007.
− − 0 1 1 [4] Harald Scheid und Andreas Frommer. Zahlen-
5 1 1 7 7 theorie. 4. Aufl. Springer Spektrum, 2013.
4 0 2 49 10
3 1 5 700 11
2 1 11 847 2
1 1 23 28 2
0 0 46 4 4

18

Das könnte Ihnen auch gefallen