Einführung in die Zahlentheorie

Dozent:

Prof. Dr. Michael Eichberg

Version:
2024-05-09
Quelle:

Im Wesentlichen Cryptography and Network Security - Principles and Practice, 8th Edition, William Stallings

Folien:

https://delors.github.io/sec-einfuehrung-in-die-zahlentheorie/folien.rst.html

https://delors.github.io/sec-einfuehrung-in-die-zahlentheorie/folien.rst.html.pdf

Fehler auf Folien melden:

https://github.com/Delors/delors.github.io/issues

Teilbarkeit

Teilbarkeit

Eigenschaften der Teilbarkeit

Eigenschaften der Teilbarkeit

Wenn \(b | g\) und \(b|h\), dann \(b|(mg+nh)\) für beliebige ganze Zahlen \(m\) und \(n\).

Teilungsalgorithmus

Sei eine beliebige positive ganze Zahl \(n\) gegeben und eine beliebige ganze Zahl \(a \geq 0\), so erhält man bei der Division von \(a\) durch \(n\) einen ganzzahligen Quotienten \(q\) und einen nicht negativen, ganzzahligen Rest \(r\), die der folgenden Beziehung gehorchen:

\begin{equation*} a = qn + r \qquad 0 \leq r < n; q = \left \lfloor{a/n} \right \rfloor \end{equation*}
Die Beziehung a=qn+r

Teilungsalgorithmus für negative \(a\)

The relationship a=qn+r for negative a

Euklidischer Algorithmus

Eine der grundlegenden Techniken der Zahlentheorie.

Verfahren zur Bestimmung des größten gemeinsamen Teilers (GGT) von zwei positiven ganzen Zahlen.

Größter Gemeinsamer Teiler (GGT)

(Greatest Common Divisor (GGT))

Alternative Definition des GGT

\begin{equation*} ggt(a,b) = max[k, so\;dass\; k|a \; und \; k|b] \end{equation*}

GGT und relativ prim

Wir stellten fest:

Zwei ganze Zahlen \(a\) und \(b\) sind relativ prim, wenn ihr einziger gemeinsamer positiver ganzzahliger Faktor 1 ist.

\(\Leftrightarrow\)

\(a\) und \(b\) sind relativ prim wenn \(ggt(a,b)=1\)

Berechnung des GGT mit Hilfe des euklidischen Algorithmus

drawings/euclidean_algorithm/algorithm.svg

Beispiel für die Berechnung des GGT mit Hilfe des euklidischen Algorithmus

drawings/euclidean_algorithm/example.svg

Euklidischer Algorithmus

Schritt

Dividend

Divisor

Quotient

Rest

1

1160718174

316258250

3

211943424

2

316258250

211943424

1

104314826

3

211943424

104314826

2

3313772

4

104314826

3313772

31

1587894

5

3313772

1587894

2

137984

6

1587894

137984

11

70070

7

137984

70070

1

67914

8

70070

67914

1

2156

9

67914

2156

31

1078

10

2156

1078

2

0

Modulare Arithmetik

Der Modulus

Wenn \(a\) eine ganze Zahl und \(n\) eine positive ganze Zahl ist, dann definieren wir \(a\; mod\; n\) als Rest der Division von \(a\) durch \(n\). Die ganze Zahl \(n\) wird als Modulus bezeichnet.

Somit gilt für jede ganze Zahl \(a\):

\begin{equation*} a = qn + r \quad 0 \leq r < n; q = \left\lfloor a / n \right\rfloor \end{equation*}
\begin{equation*} a = \left\lfloor a / n \right\rfloor \times n + (a\; mod\; n) \end{equation*}

Modulare Arithmetik (kongruent modulo \(n\))

Hinweis:

\(21 \equiv -9 (mod\, 10) \Leftrightarrow 21\, mod\, 10 = -9\, mod\, 10 = 1\)

\(-9\, mod\, 10 \rightarrow -9 = n * 10 + 1\)

Eigenschaften der Kongruenz

  1. \(a \equiv b (mod\; n)\) wenn \(n|(a-b)\)

  2. \(a \equiv b (mod\; n) \Rightarrow b \equiv a (mod\; n)\)

  3. \(a \equiv b (mod\; n)\) und \(b \equiv c (mod\; n) \Rightarrow a \equiv c (mod\; n)\)

\(a \equiv b (mod\; n)\) wenn \(n|(a-b)\) — Erklärt

Wenn \(n|(a - b)\), dann gilt \((a - b) = kn\) für ein \(k\)

Im zweiten Schritt haben wir \(mod\; n\) auf beide Seiten angewendet.

d. h. \((b + kn) mod\; n\) \(\hat{=}\) (Rest wenn \(b + kn\) geteilt wird durch \(n\)).

Eigenschaften der modularen Arithmetik

  1. \([(a\; mod\; n) + (b\; mod\; n)]\; mod\; n = (a + b)\; mod\; n\)

  2. \([(a\; mod\; n) - (b\; mod\; n)]\; mod\; n = (a - b)\; mod\; n\)

  3. \([(a\; mod\; n) \times (b\; mod\; n)]\; mod\; n = (a \times b)\; mod\; n\)

\([(a\; mod\; n) + (b\; mod\; n)]\; mod\; n = (a + b)\; mod\; n\) — Erklärt

Definiere \((a\; mod\; n) = r_a\) und \((b\; mod\; n) = r_b\).

Dann können wir:

Dann gilt:

\begin{equation*} (a + b)\; mod\; n = (r_a + jn + r_b + kn)\; mod\; n \end{equation*}
\begin{equation*} = (r_a + r_b + (k + j)n)\; mod\; n \end{equation*}
\begin{equation*} = (r_a + r_b)\; mod\; n \end{equation*}
\begin{equation*} = [(a\; mod\; n) + (b\; mod\; n)]\; mod\; n \end{equation*}

Im vorletzten Schritt setzen wir die Definition vom Anfang ein und erhalten das Ergebnis.

Modulare Arithmetik (Beispiele für Eigenschaften)

Addition Modulo 8

\(+\)

0

1

2

3

4

5

6

7

0

0

1

2

3

4

5

6

7

1

1

2

3

4

5

6

7

0

2

2

3

4

5

6

7

0

1

3

3

4

5

6

7

0

1

2

4

4

5

6

7

0

1

2

3

5

5

6

7

0

1

2

3

4

6

6

7

0

1

2

3

4

5

7

7

0

1

2

3

4

5

6

Multiplikation Modulo 8

\(\times\)

0

1

2

3

4

5

6

7

0

0

0

0

0

0

0

0

0

1

0

1

2

3

4

5

6

7

2

0

2

4

6

0

2

4

6

3

0

3

6

1

4

7

2

5

4

0

4

0

4

0

4

0

4

5

0

5

2

7

4

1

6

3

6

0

6

4

2

0

6

4

2

7

0

7

6

5

4

3

2

1

Generator in Python:

for i in range(0,8):
    print(str(i)+", ",end="")
for j in range(0,8):
    v = (i*j) % 8
    if v == 1:
        v = "*"+str(v)+"*"
    else:
        v = str(v)
    print(v+",",end="")
print()

Additive und Multiplikative Inverse Modulo 8

\(w\)

\(-w\)

\(w^{-1}\)

0

0

\(-\)

1

7

1

2

6

\(-\)

3

5

3

4

4

\(-\)

5

3

5

6

2

\(-\)

7

1

7

Eigenschaften der modularen Arithmetik für ganze Zahlen in \(Z_n\)

Kommutativgesetz:

\((w + x)\; mod\; n = (x + w)\; mod\; n\)

\((w \times x)\; mod\; n = (x \times w)\; mod\; n\)

Assoziativgesetz:

\([(w + x) + y]\; mod\; n = [w + (x + y)]\; mod\; n\)

\([(w \times x) \times y]\; mod\; n = [w \times (x \times y)]\; mod\; n\)

Distributivgesetz:

\([w \times (x + y)]\; mod\; n = [(w \times x) + (w \times y)]\; mod\; n\)

Identitäten:

\((0 + w)\; mod\; n = w\; mod\; n\)

\((1 \times w)\; mod\; n = w\; mod\; n\)

Additive Inverse (-w):

Für jedes \(w \in Z_n\) gibt es ein \(z\), so dass \(w + z \equiv 0\; mod\; n\)

Euklidischer Algorithmus - neu betrachtet

Algorithmus

def Euclid(a,b):
    if (b = 0) then
        return a;
    else
        return Euclid(b, a mod b);

Beispiel

ggt(10,6)
     ggt(6,4)
         ggt(4,2)
             ggt(2,0)
2              ↩︎

Um welche Art von rekursivem Algorithmus handelt es sich hierbei?

In der gegebenen Formulierung ist der Algorithmus endrekursiv (tail recursive).

Erweiterter Euklidischer Algorithmus

\begin{equation*} x \times a + y \times b = d = ggt(a,b) \end{equation*}

Notwendigerweise haben \(x\) und \(y\) gegensätzliche Vorzeichen, da sonst \((x \times a + y \times b) > a\; ( > b )\) gelten würde und somit nicht den GGT darstellen könnte.

Der erweiterte euklidische Algorithmus kann auf jeden Ring angewandt werden, in welchem eine Division mit kleinstem Rest durchgeführt werden kann. Ein Beispiel ist der Polynomring in einer Variablen mit rationalen oder reellen Koeffizienten wie sie bei der Verschlüsselung angewandt werden. Wir werden dies später wieder aufgreifen.

Der erweiterte Algo. dient insbesondere der Berechnung der inversen Elemente in ganzzahligen Restklassenringen. (Beides werden wir später in der Vorlesung betrachten).

\(ggt(a=42,b=30)\) mit Erweitertem Euklidischen Algorithmus

Werfen wir einen Blick auf \(x \times a + y \times b\) für einige \(x\) und \(y\):

\(_у \\ ^x\)

-3

-2

-1

0

1

2

3

-3

-216

-174

-132

-90

-48

-6

36

-2

-186

-144

-102

-60

-18

24

66

-1

-156

-114

-72

-30

12

54

96

0

-126

-84

-42

0

42

84

126

1

-96

-54

-12

30

72

114

156

2

-66

-24

18

60

102

144

186

3

-36

6

48

90

132

174

216

Erweiterter Euklidischer Algorithmus
Systematische Berechnung für ggt(710,310)

drawings/euclidean_algorithm/example.svg

Umgestellt:

drawings/euclidean_algorithm/example-umgestellt.svg

Aufgrund der Umstellung z. B. von \(710 = 2 \times 310 + 90\) nach \(90 = 710 - 2 \times 310\) können wir dann im nächsten Schritt/der nächsten Formel die \(90\) durch \(710 - 2 \times 310\) ersetzen und werden dann \(310 - 3 \times(710 - 2 \times 310) = 40\) erhalten.

Erweiterter Euklidischer Algorithmus - systematische Berechnung

drawings/euclidean_algorithm/example-ausgerechnet.svg

\(x = 7\) und \(y = -16\)

Erweiterter Euklidischer Algorithmus - Formeln

Wir nehmen an, dass wir bei jedem Schritt \(i\) die ganzen Zahlen \(x_i\) und \(y_i\) finden können, die folgende Bedingung erfüllen: \(r_i = ax_i + by_i\).

\begin{equation*} \begin{matrix} Original & Erweiterung \\ a = q_1b + r_1 & r_1 = ax_1 + by_1 \\ b = q_2r_1 + r_2 & r_2 = ax_2 + by_2 \\ r_1 = q_3r_2 + r_3 & r_3 = ax_3 + by_3 \\ \vdots & \vdots \\ r_{n-2} = q_nr_{n-1}+r_n & r_n=ax_n + by_n \\ r_{n-1} = q_{n+1}r_n +0 & \\ d = ggt(a,b) = r_n & \end{matrix} \end{equation*}

Erweiterter Euklidischer Algorithmus

Berechne

Was erfüllt

Berechne

Was erfüllt

\(r_{-1} = a\)

\(x_{-1}=1; y_{-1}=0\)

\(a = ax_{-1} + by_{-1}\)

\(r_{0} = b\)

\(x_0=0;y_{0}=0\)

\(b = ax_{0} + by_{0}\)

\(r_{1} = a\;mod\;b\); \(q_1= \lfloor a/b \rfloor\)

\(a=q_1b+r_1\)

\(x_1=x_{-1} -q_1x_0 = 1\); \(y_1=y_{-1} -q_1y_0 = -q_1\)

\(r_1 = ax_{1} + by_{1}\)

\(r_{2} = b\;mod\;r_1\); \(q_2= \lfloor b/r_1 \rfloor\)

\(b=q_2r_1+r_2\)

\(x_2=x_{0} -q_2x_1; y_2=y_{0} -q_2y_1\)

\(r_2 = ax_{2} + by_{2}\)

\(r_{3} = r_1\;mod\;r_2\); \(q_3= \lfloor r_1/r_2 \rfloor\)

\(r_1=q_3r_2+r_3\)

\(x_3=x_{1} -q_3x_2; y_3=y_{1} -q_3y_2\)

\(r_3 = ax_{3} + by_{3}\)

\(\vdots\)

\(\vdots\)

\(\vdots\)

\(\vdots\)

\(r_{n} = r_{n-2}\;mod\;r_{n-1}\); \(q_n= \lfloor r_{n-2}/r_{n-1} \rfloor\)

\(r_{n-2}=q_nr_{n-1}+r_n\)

\(x_n=x_{n-2} -q_nx_{n-1}\); \(y_n=y_{n-2} -q_ny_{n-1}\)

\(r_n = ax_{n} + by_{n}\)

\(r_{n+1} = r_{n-1}\;mod\;r_{n} = 0\); \(q_{n+1}= \lfloor r_{n-1}/r_{n} \rfloor\)

\(r_{n-1}=q_{n+1}r_{n}+0\)

Lösung

\(d = ggt(a,b) = r_n; x = x_n; y = y_n\)

Erweiterter Euklidischer Algorithmus - Beispiel \(ggt(1759,550)\)

\(i\)

\(r_i\)

\(q_i\)

\(x_i\)

\(y_i\)

-1

1759

1

0

0

550

0

1

1

109

3

1

-3

2

5

5

-5

16

3

4

21

106

-339

4

1

1

-111

355

5

0

4

Resultat: \(d=1; x= -111; y = 355\)

Primzahlen und Primzahlenbestimmung

Primzahlen

Primzahlen spielen in der Zahlentheorie eine zentrale Rolle. Wir betrachten sie hier aber nur insoweit es für das Verständnis der Kryptographie notwendig ist.

Fermats (kleines) Theorem

Wichtig in der Public-Key-Kryptographie.

Besagt folgendes:

Alternative form:

Mit anderen Worten: \(a\) ist kein vielfaches von \(p\).

Die Eulersche Totientenfunktion \(\phi(n)\)

Einige Werte von \(\phi(n)\):

𝜑(n)

+0

+1

+2

+3

+4

+5

+6

+7

+8

+9

0+

/

1

1

2

2

4

2

6

4

6

10+

4

10

4

12

6

8

8

16

6

18

20+

8

12

10

22

8

20

12

18

12

28

30+

8

30

16

20

16

24

12

36

18

24

40+

16

40

12

42

20

24

22

46

16

42

50+

20

32

24

52

18

40

24

36

28

58

60+

16

60

30

36

32

48

20

66

32

44

70+

24

70

24

72

36

40

36

60

24

78

80+

32

54

40

82

24

64

42

56

40

88

90+

24

72

44

60

46

72

32

96

42

60

Vgl. https://de.wikipedia.org/wiki/Eulersche_Phi-Funktion

Eulers Theorem

besagt, dass für jedes \(a\) und \(n\), die relativ prim sind:

\begin{equation*} a^{\phi(n)} \equiv 1(mod\; n) \end{equation*}

Eine alternative Form ist:

\begin{equation*} a^{\phi(n)+1} \equiv a (mod\; n) \end{equation*}

Miller-Rabin-Primzahltest

Miller-Rabin Algorithmus

TEST(n, k) # n > 2, eine ungerade ganze Zahl,
           #        die auf Primalität geprüft wird
           # k,     die Anzahl der Testrunden

let s > 0 and d odd > 0 such that n1 = pow(2,s)*d
repeat k times:
    a  random(2, n2)
    x  pow(a,d) mod n
    repeat s times:
        y  sqr(x) mod n
        if y = 1 and x  1 and x  n1 then return composite
        x  y
    if y  1 then return composite
return probably prime

Deterministische Primzahltests

Chinesischer Restsatz Chinese Remainder Theorem (CRT)

Bietet eine Möglichkeit, (potenziell sehr große) Zahlen \(mod\; M\) in Form von Tupeln kleinerer Zahlen zu manipulieren.

Chinesischer Restsatz - Beispiel in \(Z_{10}\)

Nehmen wir an, die (relativ prim/koprimalen) Faktoren einer Zahl \(x\): \(m_1 = 2\) und \(m_2 = 5\) sind und

dass die bekannten Reste der Dezimalzahl \(x\): \(a_1 = r_{m_1} = 0\) und \(a_2 = r_{m_2} = 3\) sind.

D. h. \(x\; mod \;2 = 0\) und \(x\; mod\; 5 = 3\); bzw. \(x \equiv 0 (mod\; 2)\) und \(x \equiv 3 (mod\; 5)\).

Da \(x\; mod \;2 = 0\) ist muss \(x\) eine gerade Zahl sein; außerdem ist \(x\; mod\; 5 = 3\).

Die eindeutige Lösungn in \(Z_{10}\) ist: \(8\).

Berechnung einer Lösung in \(Z\):

\begin{align*} 5 \times x_1 \equiv 1 (mod\; 2) \\ 2 \times x_2 \equiv 1 (mod\; 5) \end{align*}
\begin{align*} x_1 = 1 \\ x_2 = 3 \end{align*}
\begin{equation*} \begin{matrix} x & = & a_1 \times m_2 \times x_1 + a_2 \times m_1 \times x_2 & \\ x & = & 0 \times 5 \times 1 + 3 \times 2 \times 3 & = 18 \\ \end{matrix} \end{equation*}

Man könnte auch folgendes Problem versuchen zu lösen: Wir haben x Schokoladentafeln. Wenn wir diese fair auf zwei Personen verteilen, dann haben wir keinen Rest. Wenn wir diese jedoch auf 5 Personen aufteilen, dann haben wir 3 Tafeln übrig. Wieviele Schokoladentafeln haben wir?

(Zur Erinnerung: zwei Zahlen \(x\) und \(y\) sind relativ prim, wenn ihr größter gemeinsamer Teiler 1 ist.)

Chinesische Restsatz - Zusammenfassung

Der chinesische Restsatz wird häufig für Berechnungen mit großen ganzen Zahlen verwendet, da er es ermöglicht, eine Berechnung, für die man eine Grenze für die Größe des Ergebnisses kennt, durch mehrere ähnliche Berechnungen mit kleinen ganzen Zahlen zu ersetzen.

Das CRT findet in der Public-Key-Kryptographie Einsatz.

Übung

  1. Berechne \(5^9\, mod\, 7\) ohne die Zuhilfenahme eines Taschenrechners.

    MTAwMDAw:hv71lL+Li4bQgbTIxwdPIGCVzuklSKJAdhxFpvMfFpg=:qsXtALtFvYNWI/Xy:r8GL+mRST9fTT03VghKMh22Ma2/iPInSjKGbGbNxl5JibYLIyncMkMurID5wdwXV69J8iJ1bg5nZlfnuDAMj7df3gG0Gu8GEElFhvLRM92eCF4cWEzSgXtw0/DOdz//kN/R7ezRKLXmhV/UbkS5Rm6x7eGGi5l5MeghoVSeKm8ekoKrnyKjIxZhh7J/WDxPmCWMnQphg5IxLM7y/ViYq9pzt08O2QOCubjME0RJopxY7zBXanIsHE7s6iwkdRTr1A1g5HG1iMUan3AnxZy4Nx97CIOKIalSMa5e0wPdfPc4IMuCw0WAOBt84IQz2gO8MVH1tkgxGBQsFpOmE1Kxckjl9dDtBg8qi2Y0Xpj+VDc0DfbqNpJo7Dzqlp5TAexcI4gVSD8s/wvgUFseNDxtIGFgNFBZa/Qq0h8n1K9aF73rdOmW7GON8tvy7LY8nRWSF8mEqh9NlSitNiKg1IiqnUC1fXGP5lnrRbRWMX+LAWs+MrSgzRTmf467iiXJSm0+3MvfVh5vkiqOtiUoGi6iGge34x2DYy9lBu9aaV8CTlYBuNVMp9o+/qya54SX8dfi8fy90FYz8i1jcXxsE71xTec131Pe7EFtvFmxwcZvPng3xWpvSEqlJqx/blv0KtGytQ5OAVB2gx7NZtQ0YkJEUydqMRNfV+e9cKqXjbYjDwg69Zbqoh9+5DZIpErApeFwJMNHrh3DCjAA4Fn7B3tB6OgWHSxwFO9mBglTjEgKQdYVLsTqzKEOrn78lkFvAE48dnYPIK/4EBqKxxnIErDvMTrEyVIl6MICpmIpew27XZWu+RWvkFIMlHbAEbFjnVaOcIBTc6XJF35KGqRYv5S0cjYMkJCUQ6ZtJfQsbsoNeMd3T3Fk1y87v3KYHWpATllg5dGA=
  2. Welche Zahlen sind relativ prim zu \(21\)?

    MTAwMDAw:ahrmOMX8lNGY1NrZk5m7xgf8fb5tHCk8XWURkYcRjP0=:n6ZN991g5YM6TEWs:9F2FRIKuGtdHWPID3gIwXvWPVxl8jwY5Ne2+KEeylNMg5/7yf+fNPYxJ2ioaBXd6HND2CBBbPjqP32aZ5w4ehs5Dqpi6b/V1ns/9TQVyFGVZM7B2+GZ9++UslGyDzcZN/ifVJey4RoSX3m7gdVMu0WYPqjKcmByziLTxE+Th/LeQ7U/3qAZ29txObA9fwlS1NUXqt6S+QMnDLpoPv4wBajsJGdRuQFIFrcdUT4QU9sbfB+ygcpYu33IkbXb8u5bM91xpHCHQHSeGv4Wge0q+lVfzucVt+ClmzTM=
  3. Berechne \(ggt(1037,768)\) mit Hilfe des Euklidischen Algorithmus.

    MTAwMDAw:C6W1Y3MzD42/oQOky7vxTIybsZLpCGuW72X4Ubxvvdc=:S6evg9VwSDhbx/MV:5Igv3iIOXSyHM3eDMlRkaq2Ze+xRYtEFrCxjiAHn4j3khbiScUdSNoSceHMCPucXUHyVX2XSP4wPSrpVtAw/G9UP3Ag6MPwvfx7mjwWWk26SmU/ohffa3GK4NNu5h0TT6r7I+hYY4mTDTyVAw938luNOMNbjHN3B+dAY8+71O8jJFpHPTOQRnZOBkQiB41e4hoN8Ls1wakJUQMhpB5q9QaD2WZDkVleN6c5SakvO9t/uYS/4PkejisqhAT2Y4i1aaUtaeylgh+GawoEE8LNoCmXpiUxDvuyyhCD3DdgwK5K0wRm9EY6ybuNf7c5B8xpQ+MV42CgBv7T0T/EY3b9RRDqkdoci4iOMZegfX52i4ic2YeAkqTHfac69VcIowbaHWTVvvsEr0z8I+WkimVnmj1g6+JfOaqmfYixVqh2CuCrOjyYbUz+g2AeXI/QBdnOWV7JoecHy9AJYDHLd4Y3YDQzZfkkMAXsiPMn4SrS9Vv1gVOJbb1XimGWD0+BNZpCgvpbS+O8j5g8dXQ7goVy7QMyS32ujhSCL2TylVUUwXHbPpVhSkVcXsRCMEcfkqJ0zcnSz4RWqWWSGZSruIx+8E8m24kEQ6BjSFZWDAK9IO8mQQVtavfEUeg8Vd/YsRH78NmLiizj1GnZ3Ahm52nXqHQ/0MTWiKMM/rnFfefpGMr0nBEJazHEZJyCKVeB0YHTxQQMINvnOyHeZqFHl9l0Qm1zfFDGiBAcvtbGHnAWzzPJQ38W7/sn/OQ8HCzTiLPhDdWXCC9FDTupE4WUZcpxiEGi6o2ryKrfGI5Qrr7UhJvwJBoh7aju6zTU/xtC7mLCMUDocPiX9xe2qEUwQT46ocOZqt6ZXWeowYgNm6JwQoLDSCBfkhq3jsNOQ3jwS72rdTZJuLpMSbD+Sf1C6wVnIeL1ot1W8JExwGGBaRRxj1QaeFw+Fgi89GhvIujSTs72z+/rgCPfS/g9dsDxLJdrjCZWk4W0iKGDxOEXlmbBKm9ssfjUpLNUMQyhKQ8UnJ7Cyu7U45BfWxKTd3oSwLWS6r9y+3lTs65tAb2N1xIPtbmUnjkI9o8kpQqRMRL9LhPr4HEZhCmT4HVGn+uaF2UapqoV9bIqiqc+ra3dNL6cuMRR+c74fpAUFGWHjNha9v6bHpEIc9gcO2JL2Zw70Sx1sr0iGj3ayECeJ1h1w9b0Ucg+Bq1SP/6MZuXteWCaKrMyVzeZ2DvFJJnayhv45KRdXezlB/egSqrEO/esNXf+f9M/KBO+4rDadWx7Xh500tKf5ije2MFIVa0OExjiEtFrdJIdB4eFJfypigE/7T31GZtQrVZVDgOyD+JNISmByASH32JfVTMN38fEaqo+zAmANhRuZ4XrX/I1T/aLONCACpU8ttfGxMfhzJPYmyU+6h/d/CrAyJwRaCBh7zDxaudW8QwyCdAdeNkRo05GHRdNUtK4JG+k7
  4. Bestimme das Ergebnis von Euler's Totient Funktion \(\phi\) für den Wert \(37\) ohne das Ergebnis nachzuschlagen.

    MTAwMDAw:nTlhDeSDfWMbI+LPuJroJlQfbpLjGP+KIJu/Fe0OSrI=:RpSnDzi3Di4vTij7:d5FT1FnG29bCTDUgWL0UtRgcbszbc9kkpRWbeKAJ2AbVNOrwloM+HwZguXgXowRncuMk35PnenT/jl3bKYRyIU3XskjgqZA2dVxO8S/VoabNVMSid3ZhAqT1bupvHLPkG8RGprL0VMEfAbY6gikwE0wJSfkxj3Cf64XKaDUFSSQKUv8=
  5. Überzeugen Sie sich davon, dass der (kleine) Satz von Fermat gilt. Zum Beispiel für die Zahlen: \(a = 9\) und \(p = 7\).

    MTAwMDAw:gUDfWrNaBZr5BWNc7IRgPI6zhBvNFm1qojalOOjuWec=:ILJOAU0AFQszOleF:65cTlbh2qw4olvahq7qiTEAHDp0NhcQ122Oa3Tl+lO8ec1bkDEgCkYbrAGYIkVEPljl+23B6/2MmoVk1cK+YcVjI2FAiE0itywOpL50nr99giRmtgrQIrgdc
  6. Überzeugen Sie sich davon, dass der Satz von Euler gilt. Zum Beispiel für die Werte \(a=7\) und \(n=9\).

    MTAwMDAw:4M5jO4Uxt2HL8NMxLV9amg7q/CCbwWR3cYsXSQgySRw=:XyqJHBhu0r3UIsYy:kbGuc40UU4s9xH4cGUeHkvtKnSRfksrvlxZy0YWf/cLSHNjJklGAUiPngrry8Cz4lKWENvUjLmhxTEiDfmocY6nVsB3XUS86xXp1YJg2Rrv94hadBwqFDTUNCCDvy856viF7hYXpunatVfGNh5Szwo9x1RZc5LJSxhaVbALLOmcp2NJdMXlX3Ri59PL18OUI1ZTRMztH8Ag=
  7. Führen Sie den Miller-Rabin Algorithmus für \(n = 37\) aus.

    MTAwMDAw:9wSRmXnAG3yvyn9o1zgoBXcpY04LDOLfG5OXBngd1Og=:92u/U4n793PwOZlX:08s3aH/ut5mO1VkX85+1n6NEXjXgRPo1OwDaQLFDh0DT7sM0R6hcoGgBUMXmnch5ADUac/rMEbGe2kdvcEXQoPoiHEmPC1fu9x0KhKUTGABOqNBTAaRIlNqPpPVrsFtgesrt8x5A/HHrW6v9+4+WxGa+dXnSD09Bq7zE9OAsoPwYD7JTVTUf7Av1Z0EndHz03Q7a9EJzze9UW/3rnUqkHzdrbf53Qdi/JerAs+ZNV34ghMHjz+vYGvLePnMXbsa+L/MddLciKAngBfvJFCGvY+w/Oz3JFcEqWTKtiNoxzykHuHhTf8/uhfSHb4trD0o7Pw/1qBDMQEwfCUx0oV7s/xlBfEdNrSdLgHirzCoZNkYq79dyd7d0D2hxjKTKV9IEC3uE/SEsv2wi/0UwFb0qpNHN/pm6YB4lfZndpZEiTzusr5PsM4zgR+fKEZMSDVZnc8GEvPvj8gBDg2EC6BARRFjs6CS+LO/krF2W1XMWtcLzHhs/9sOAHqONPQrHqSpRhNXk4cqYRoFCmjb5rrNpe2He0sU7YNf/AAXz5d+fBO1khVk/5Vnh9CuW5VMpLd8R9rLntaMJPLifzRTeciTsRLgoWEHeBo9JWGMBmpdgimXSj/VN6p28JeQZv93VaYqeSUUuSZ5YbYHLAR2hGSre00oFg1j5C8Gjfj/NUju3JCV57Ga79EBTeY1zB2JFTUbkes3j0C73nw==
  8. In einer Tüte sind x Gummibärchen. Wenn Sie diese auf 4 Personen verteilen, dann haben Sie einen Rest von 2, verteilen Sie diese auf 7 Personen, dann haben Sie einen Rest von 3. Wie viele Gummibärchen sind in der Tüte? Wenden Sie den chinesischen Restsatz an.

    MTAwMDAw:w56oias7+KzUlOHERLane9NTh/8zZ4ZX8V+uspSVw0Q=:S76Fl6cngO9ohBHo:uLHwIseHqBEllSbetNmeNtvVrgmNEnGi4SDm7pfKfvjR9/a6Nt9bcB4/WUnagmqGHVKe8Sw8S2wxkLpEudJw+VGSeHkvLwec/lpwkDK0NvM9Xh8qvp0B/d4TnBhzG8sjguk7IPu5Z660+9vh3u+5tx/72CYjQ5OtNQLxawGOqGw0VbhMyPH/SGqiyNssoaOw0dN4NdJ4C1cnKV2lwL8ld+3OtMjSfQlbzTnCoILY9wixgwKY5fpjgiaJpd4J8NHWRIovCV+W1oJe8LkN2zwX/ClPR/hnsY7mkE6Pp+58iP0U4xivOmTvtBmBkdKIiq/4yEUMtqAqPW/dhodfwlEeFX7kfMwE5TovG75+2lNIkQIme/zt9kqPEyVTmgQdPhi8/DOwLzWsv3OIQkJMToKfavjjLAcZrdmZCaNyVHCfaTIbe413B9wz8BzF8pGdxn8RajZbypV3xWL3VfP82/urZ79c1b25XvPCispdNzpfloYLIXvc+FeeIm0UaEVbi4loXMhNCBFKNZMfpog+yKlEpjy0ev96kBqef6rjFiWes4QBMh8kX2+VWVfn4HOVSPwxO11ZzQybem2rJ4ERz0VVuDrqrzSyj5jH