Klausur-relevant · rechnen können
Fundament der Klausur — Erweiterter Euklid, Square-and-Multiply, Fermat, Miller-Rabin, Quadratisches Zahlensieb. Körper werden NICHT geprüft.

Auf einen Blick

  • Modulo-Rechnung ist das mathematische Fundament fast aller modernen Kryptoverfahren (RSA, DH, ECC).
  • Kongruenz $a \equiv b \pmod n$ bedeutet: $n$ teilt $a-b$. Damit rechnet man in der Restklassenmenge $\mathbb{Z}_n$.
  • Multiplikative Inverse $a^{-1} \bmod n$ existiert genau dann, wenn $\gcd(a,n)=1$. Berechnung mit dem erweiterten Euklid.
  • Eulersche $\varphi$-Funktion, Fermat und Euler liefern schnelle Regeln für Potenzen mod $n$ – zentral für RSA.
  • Square-and-Multiply und Miller-Rabin sind die algorithmischen Werkzeuge der Praxis.

Kernkonzepte

1. Modulo-Operation und Kongruenz

Die Modulo-Operation liefert den Rest einer ganzzahligen Division:

$$a \bmod n = r \quad \text{mit} \quad a = q \cdot n + r,\ 0 \leq r < n$$

Zwei Zahlen $a, b$ heißen kongruent modulo $n$, geschrieben

$$a \equiv b \pmod n \iff n \mid (a-b)$$

Beispiel: $17 \equiv 5 \pmod{12}$, weil $17 - 5 = 12$ durch $12$ teilbar ist.

2. Rechenregeln in $\mathbb{Z}_n$

In der Restklassenmenge $\mathbb{Z}_n = \{0, 1, \dots, n-1\}$ gelten:

  • $(a + b) \bmod n = ((a \bmod n) + (b \bmod n)) \bmod n$
  • $(a \cdot b) \bmod n = ((a \bmod n) \cdot (b \bmod n)) \bmod n$
  • $a^k \bmod n = (a \bmod n)^k \bmod n$

Das erlaubt es, Zwischenergebnisse jederzeit zu reduzieren – zentrales Prinzip für effizientes Rechnen mit riesigen Zahlen.

3. Größter gemeinsamer Teiler und Euklidischer Algorithmus

Der $\gcd(a, b)$ ist die größte Zahl, die sowohl $a$ als auch $b$ teilt. Der euklidische Algorithmus nutzt:

$$\gcd(a, b) = \gcd(b, a \bmod b), \quad \gcd(a, 0) = a$$

Beispiel $\gcd(30, 12)$: $30 = 2\cdot 12 + 6$, $12 = 2 \cdot 6 + 0 \Rightarrow \gcd = 6$.

4. Erweiterter Euklidischer Algorithmus

Findet zusätzlich Koeffizienten $u, v \in \mathbb{Z}$ mit

$$a \cdot u + n \cdot v = \gcd(a, n)$$

Ist $\gcd(a, n) = 1$, so gilt $a \cdot u \equiv 1 \pmod n$ – d.h. $u$ ist die multiplikative Inverse von $a$ modulo $n$.

Anwendung: Entschlüsselung bei affiner Chiffre, RSA-Schlüsselerzeugung ($d = e^{-1} \bmod \varphi(n)$).

5. Multiplikative Inverse in $\mathbb{Z}_n$

Ein Element $a \in \mathbb{Z}_n$ besitzt genau dann eine Inverse $a^{-1}$, wenn

$$\gcd(a, n) = 1$$

Die Menge aller invertierbaren Elemente bildet die Gruppe $\mathbb{Z}_n^*$. Ihre Größe ist $|\mathbb{Z}_n^*| = \varphi(n)$.

5b. Multiplikative Inverse per Hand — 3 Methoden Klausur

Gesucht: $a^{-1} \bmod n$, also die Zahl $x \in \{1, \dots, n-1\}$ mit $a \cdot x \equiv 1 \pmod n$. Je nach Größe von $n$ nutzt man eine andere Methode.

Methode 1 · Ausprobieren (nur für kleine $n$)

Für $n \leq 30$ schneller als jede Formel. Rechne $a \cdot k \bmod n$ für $k = 1, 2, 3, \dots$ bis das Ergebnis $1$ ist.

Beispiel: $3^{-1} \bmod 11$.

$3 \cdot 1 = 3 \bmod 11 = 3$
$3 \cdot 2 = 6 \bmod 11 = 6$
$3 \cdot 3 = 9 \bmod 11 = 9$
$3 \cdot 4 = 12 \bmod 11 = \mathbf{1}$ ✓
→ $3^{-1} \equiv 4 \bmod 11$

Probe: $3 \cdot 4 = 12 = 1 \cdot 11 + 1 \equiv 1$ ✓

Faustregel
Für $n \leq 30$ IMMER ausprobieren — das ist in der Klausur schneller als jeder Algorithmus. Auch die RSA-Aufgabe mit $z=60, e=53$ bei Pagnia löst man am Ende schneller durch Probieren von $d = 1, 2, 3, \dots$ als per EEA-Tabelle.

Methode 2 · Erweiterter Euklid (Pagnia-Rekursion, Klausur-Standard)

Für mittlere $n$ die verlässliche Methode. Zwei-Spalten-Tabelle plus Rückwärts-Rekursion.

Rezept:

  1. Zwei-Spalten-Tabelle: links $\bmod$-Reste $r_i$, rechts $\text{div}$-Quotienten $x_i$. Stop bei Rest $1$.
  2. Rekursion: $A_{t+2} = 0$, $A_{t+1} = 1$, dann $A_k = A_{k+2} - x_k \cdot A_{k+1}$ für $k = t, \dots, 0$.
  3. Ergebnis: $a^{-1} = A_0 \bmod n$. Falls $A_0$ negativ, einfach $n$ addieren.

Beispiel: $17^{-1} \bmod 43$.

Schritt 1 — Tabelle:

$43 \bmod 17 = 9 \quad|\quad 43 \div 17 = 2 \quad\Rightarrow r_0 = 9,\ x_0 = 2$
$17 \bmod 9 = 8 \quad|\quad 17 \div 9 = 1 \quad\Rightarrow r_1 = 8,\ x_1 = 1$
$9 \bmod 8 = 1 \quad|\quad 9 \div 8 = 1 \quad\Rightarrow r_2 = 1,\ x_2 = 1 \quad$ (Stop, Rest 1)

Schritt 2 — Rekursion (mit $t = 2$):

$A_4 = 0,\ A_3 = 1$
$A_2 = A_4 - x_2 \cdot A_3 = 0 - 1 \cdot 1 = -1$
$A_1 = A_3 - x_1 \cdot A_2 = 1 - 1 \cdot (-1) = 2$
$A_0 = A_2 - x_0 \cdot A_1 = -1 - 2 \cdot 2 = -5$

Schritt 3 — Vorzeichen korrigieren: $-5 \bmod 43 = -5 + 43 = 38$.

→ $17^{-1} \equiv \mathbf{38} \bmod 43$. Probe: $17 \cdot 38 = 646 = 15 \cdot 43 + 1 \equiv 1 \bmod 43$ ✓

Beispiel 2 (RSA-Klassiker): $7^{-1} \bmod 120$.

$120 \bmod 7 = 1 \quad|\quad 120 \div 7 = 17 \quad\Rightarrow r_0 = 1,\ x_0 = 17 \quad$ (Stop nach nur 1 Schritt!)
$A_2 = 0,\ A_1 = 1$
$A_0 = A_2 - x_0 \cdot A_1 = 0 - 17 \cdot 1 = -17$
→ $-17 \bmod 120 = \mathbf{103}$

Probe: $7 \cdot 103 = 721 = 6 \cdot 120 + 1 \equiv 1 \bmod 120$ ✓

Methode 3 · Euler-Satz-Trick (nur wenn $\varphi(n)$ leicht bekannt)

Nach dem Satz von Euler gilt für $\gcd(a, n) = 1$:

$$a^{\varphi(n)} \equiv 1 \bmod n \quad\Rightarrow\quad a^{-1} \equiv a^{\varphi(n) - 1} \bmod n$$

Nützlich, wenn $\varphi(n)$ bekannt ist (z. B. $n$ prim → $\varphi(n) = n-1$).

Beispiel: $3^{-1} \bmod 11$ per Euler.

$\varphi(11) = 10$, also $3^{-1} \equiv 3^{10-1} = 3^9 \bmod 11$.

Square-and-Multiply für $3^9$ mit $9 = 1001_2$:
Start $r = 1$, Bit 1 (MSB): $r = 1 \cdot 3 = 3$
Bit 0: $r = 3^2 = 9 \bmod 11 = 9$
Bit 0: $r = 9^2 = 81 \bmod 11 = 4$
Bit 1: $r = 4^2 \cdot 3 = 48 \bmod 11 = 4$
→ $3^{-1} \equiv \mathbf{4} \bmod 11$ (identisch mit Methode 1)

Faustregel — welche Methode wann?
  • $n \leq 30$: Ausprobieren (Methode 1) — schneller als jede Formel.
  • $n \leq 500$, keine Faktorisierung bekannt: Erweiterter Euklid (Methode 2).
  • $n$ prim ODER $\varphi(n)$ bekannt: Euler-Trick (Methode 3) über Square-and-Multiply.
  • Klausur-Reihenfolge: zuerst kurz Ausprobieren (bis $k \leq 5$), wenn nicht getroffen dann EEA-Tabelle.
Sanity-Check nicht vergessen
Nach jeder Inversenrechnung IMMER die Probe: $a \cdot a^{-1} \bmod n \stackrel{?}{=} 1$. Zwei Sekunden Aufwand, rettet die halben Punkte bei Rechenfehlern in der EEA-Tabelle.

6. Eulersche $\varphi$-Funktion

$\varphi(n)$ zählt die zu $n$ teilerfremden Zahlen in $\{1, 2, \dots, n-1\}$.

  • Primzahl $p$: $\varphi(p) = p - 1$
  • Produkt zweier verschiedener Primzahlen: $\varphi(p \cdot q) = (p-1)(q-1)$
  • Allgemein: $\varphi(n) = n \cdot \prod_{p \mid n} \left(1 - \tfrac{1}{p}\right)$

Beispiel: $\varphi(15) = \varphi(3\cdot 5) = 2 \cdot 4 = 8$.

7. Kleiner Satz von Fermat

Für Primzahl $p$ und $\gcd(a, p) = 1$ gilt:

$$a^{p-1} \equiv 1 \pmod p$$

Daraus folgt $a^p \equiv a \pmod p$ – nützlich zur Reduktion von Exponenten.

8. Satz von Euler (Verallgemeinerung)

Für beliebiges $n$ und $\gcd(a, n) = 1$:

$$a^{\varphi(n)} \equiv 1 \pmod n$$

Fundament von RSA: Erlaubt das Zurückrechnen $c^d \equiv m \pmod n$ mit $d \cdot e \equiv 1 \pmod{\varphi(n)}$.

9. Square-and-Multiply

Berechnet $a^k \bmod n$ in $\mathcal{O}(\log k)$ Schritten statt $k$ Multiplikationen. Vorgehen:

  1. Binärdarstellung des Exponenten: $k = (b_t b_{t-1} \dots b_0)_2$
  2. Von links nach rechts: Ergebnis quadrieren, bei Bit $=1$ zusätzlich mit $a$ multiplizieren, jeweils $\bmod n$.

Beispiel $3^{13} \bmod n$: $13 = 1101_2$ ergibt Schritte quadriere / multipliziere / quadriere / quadriere-mult. / quadriere-mult.

10. Miller-Rabin-Primzahltest

Probabilistischer Test, ob eine Zahl $n$ prim ist. Zerlegung $n - 1 = 2^s \cdot d$ mit ungeradem $d$. Für zufällige Basis $a$ prüft man

$$a^d \bmod n \quad \text{und} \quad a^{2^r d} \bmod n\ \ (r = 0, \dots, s-1)$$

Erscheint in dieser Kette nicht $1$ oder $-1$ (also $n-1$), so ist $n$ sicher zusammengesetzt. Andernfalls wahrscheinlich prim mit Fehler $\leq 4^{-k}$ nach $k$ Runden.

11. Quadratisches Zahlensieb (Faktorisierung) Klausur

Standardverfahren zur Faktorisierung bis ca. $10^{110}$ (für größere Zahlen: GNFS). Grundlage für RSA-Sicherheit — Pagnia stellt es in Folie S.84 vor.

Grundidee: Finde zwei Zahlen $a, b$ mit

$$a^2 \equiv b^2 \pmod x$$

Daraus folgt $(a^2 - b^2) \equiv 0 \bmod x$, also $(a+b)(a-b) \equiv 0 \bmod x$. Damit sind $(a+b)$ und $(a-b)$ Teiler von $x$ (oder Vielfache eines Teilers).

Pagnias Beispiel (Folie S.84): Faktorisiere $x = 35$.

  1. Wähle $a, b$ so, dass $a^2 - b^2$ ein Vielfaches von $35$ ist.
  2. Beobachtung: $35 + 1 = 36 = 6^2$ ist eine Quadratzahl. Wähle $a = 6$, $b = 1$.
  3. $a^2 - b^2 = 36 - 1 = 35 \equiv 0 \bmod 35$ ✓
  4. Teiler: $a - b = 5$ und $a + b = 7$. Und tatsächlich $5 \cdot 7 = 35$.

Weitere Übungsbeispiele (aus der Folie): $x = 45$, $x = 407$.

Weitere Faktorisierungsmethoden aus der Folie
  • GNFS (General Number Field Sieve) — schnellste bekannte Methode für Zahlen $> 10^{110}$.
  • Quadratisches Zahlensieb — schnellste bekannte Methode für Zahlen $\leq 10^{110}$.
  • Pollard-Rho-Algorithmus — probabilistische Methode, gut für Zahlen mit kleinen Primfaktoren.
  • Teilermethode — teste alle Primzahlen $\leq \sqrt{x}$. Simpel, aber für RSA-Größen völlig unpraktisch.
Faustregel
Das Zahlensieb ist der Grund, warum RSA irgendwann brechen könnte: findet jemand einen Faktorisierungsalgorithmus mit polynomialer Laufzeit, ist RSA sofort tot. Bis dahin wächst der Rechenaufwand exponentiell mit der Bitlänge von $n$ — deshalb $n \geq 2048$ Bit in der Praxis.

Merksätze

Kongruenz-Definition
$a \equiv b \pmod n$ ist äquivalent zu $n \mid (a - b)$. Beide Zahlen liegen in derselben Restklasse.
Kriterium für die Inverse
$a^{-1} \bmod n$ existiert $\iff \gcd(a, n) = 1$. Berechnung immer über den erweiterten Euklid.
Phi bei RSA-Modul
Für $n = p \cdot q$ mit Primzahlen $p \neq q$ gilt $\varphi(n) = (p-1)(q-1)$. Ohne Kenntnis von $p, q$ ist $\varphi(n)$ praktisch nicht berechenbar.
Exponenten-Reduktion
Wegen $a^{\varphi(n)} \equiv 1 \pmod n$ (Euler) darf man Exponenten stets modulo $\varphi(n)$ reduzieren – aber nur bei $\gcd(a, n) = 1$.
Square-and-Multiply
Modulare Potenzen $a^k \bmod n$ berechnet man in $\log_2 k$ Multiplikationen. Ohne diesen Trick wäre RSA praktisch unbenutzbar.
Miller-Rabin ist einseitig
Der Test kann Zusammengesetztheit beweisen, aber Primalität nur wahrscheinlich machen. In der Praxis reichen $\sim 40$ Runden.

🧮 Rechenaufgaben mit Lösung

Klick auf eine Aufgabe, um den vollständigen Lösungsweg zu sehen.

R1 · $\gcd(48, 36)$ mit dem euklidischen Algorithmus
Bestimme $\gcd(48, 36)$ per Division mit Rest.

Lösung

Anwendung der Regel $\gcd(a, b) = \gcd(b, a \bmod b)$:

Schritt 1: $48 = 1 \cdot 36 + 12$
Schritt 2: $36 = 3 \cdot 12 + 0$

Sobald der Rest $0$ ist, ist der letzte nicht-null-Rest der ggT.

$\gcd(48, 36) = 12$
R2 · Multiplikative Inverse: $7^{-1} \bmod 26$
Berechne $7^{-1} \bmod 26$ mit dem erweiterten euklidischen Algorithmus.

Vorwärtsphase (Euklid)

$26 = 3 \cdot 7 + 5$
$7 = 1 \cdot 5 + 2$
$5 = 2 \cdot 2 + 1$
$2 = 2 \cdot 1 + 0 \Rightarrow \gcd(26, 7) = 1$

Rückwärtsphase (Substitution)

$1 = 5 - 2 \cdot 2$
$= 5 - 2 \cdot (7 - 1 \cdot 5) = 3 \cdot 5 - 2 \cdot 7$
$= 3 \cdot (26 - 3 \cdot 7) - 2 \cdot 7 = 3 \cdot 26 - 11 \cdot 7$

Damit ist $-11 \cdot 7 \equiv 1 \pmod{26}$, also $7^{-1} \equiv -11 \equiv 15 \pmod{26}$.

Probe

$7 \cdot 15 = 105 = 4 \cdot 26 + 1 \equiv 1 \pmod{26}$ ✓

$7^{-1} \equiv 15 \pmod{26}$
R3 · Eulersche Funktion $\varphi(21)$
Berechne $\varphi(21)$.

Faktorisierung

$21 = 3 \cdot 7$ mit $3, 7$ prim und verschieden.

Formel anwenden

$$\varphi(p \cdot q) = (p - 1)(q - 1)$$

$\varphi(21) = (3 - 1)(7 - 1) = 2 \cdot 6 = 12$

Kontrolle: teilerfremd zu $21$ in $\{1,\dots,20\}$ sind $\{1,2,4,5,8,10,11,13,16,17,19,20\}$ – das sind genau $12$ Zahlen.

$\varphi(21) = 12$
R4 · $3^{100} \bmod 7$ mit kleinem Fermat
Berechne $3^{100} \bmod 7$ unter Nutzung des kleinen Satzes von Fermat.

Fermat anwenden

$7$ ist prim, $\gcd(3, 7) = 1$, also $3^{6} \equiv 1 \pmod 7$.

Exponenten reduzieren

$100 = 6 \cdot 16 + 4$
$3^{100} = (3^{6})^{16} \cdot 3^{4} \equiv 1^{16} \cdot 3^{4} = 3^{4} \pmod 7$

Restpotenz berechnen

$3^{2} = 9 \equiv 2 \pmod 7$
$3^{4} = (3^{2})^{2} \equiv 2^{2} = 4 \pmod 7$

Alternativ direkt: $3^{4} = 81 = 11 \cdot 7 + 4$.

$3^{100} \equiv 4 \pmod 7$
R5 · $7^{13} \bmod 11$ mit Square-and-Multiply
Berechne $7^{13} \bmod 11$ mit dem Square-and-Multiply-Verfahren.

Binärdarstellung des Exponenten

$13 = 1101_{2}$, also $13 = 2^{3} + 2^{2} + 2^{0} = 8 + 4 + 1$.

Sukzessive Quadrate mod $11$

PotenzRechnungWert mod 11
$7^{1}$$7$$7$
$7^{2}$$49 = 4 \cdot 11 + 5$$5$
$7^{4}$$5^{2} = 25 = 2 \cdot 11 + 3$$3$
$7^{8}$$3^{2} = 9$$9$

Zusammensetzen

$7^{13} = 7^{8} \cdot 7^{4} \cdot 7^{1} \equiv 9 \cdot 3 \cdot 7 \pmod{11}$
$9 \cdot 3 = 27 \equiv 5 \pmod{11}$
$5 \cdot 7 = 35 = 3 \cdot 11 + 2 \equiv 2 \pmod{11}$
$7^{13} \equiv 2 \pmod{11}$
R6 · Ist $91$ eine Primzahl?
Prüfe, ob $91$ prim ist.

Probedivision

Es genügt, Teiler bis $\lfloor \sqrt{91} \rfloor = 9$ zu prüfen: $2, 3, 5, 7$.

$91 / 2$: ungerade – nein
Quersumme $9+1=10$: nicht durch $3$ teilbar
$91$ endet nicht auf $0$ oder $5$: nicht durch $5$
$91 = 7 \cdot 13$ ✓ – Teiler gefunden
$91 = 7 \cdot 13$, also nicht prim.
R7 · Miller-Rabin für $n = 25$, Basis $a = 2$
Führe eine Miller-Rabin-Runde mit $n = 25$ und Basis $a = 2$ durch.

Zerlegung von $n - 1$

$n - 1 = 24 = 2^{3} \cdot 3$, also $s = 3$, $d = 3$.

Startwert $a^{d} \bmod n$

$2^{3} = 8 \pmod{25}$

Sukzessives Quadrieren (bis zu $s-1 = 2$ mal)

$r$Wert $2^{2^{r} \cdot d} \bmod 25$
$0$$8$
$1$$8^{2} = 64 = 2\cdot 25 + 14 \equiv 14$
$2$$14^{2} = 196 = 7\cdot 25 + 21 \equiv 21$

Bewertung

Die Kette $8 \to 14 \to 21$ enthält weder $1$ noch $-1 \equiv 24 \pmod{25}$. Damit ist $25$ ein Zeuge für Zusammengesetztheit.

$25 = 5^{2}$ ist nicht prim (bestätigt).
R8 · $\varphi(187)$ für RSA-Modul $187 = 11 \cdot 17$
Berechne $\varphi(n)$ für $n = 187$.

Faktorisierung

$187 = 11 \cdot 17$ mit $11, 17$ prim und verschieden.

Formel

$$\varphi(n) = (p - 1)(q - 1)$$

$\varphi(187) = (11 - 1)(17 - 1) = 10 \cdot 16 = 160$

Damit könnte man z.B. einen RSA-Schlüssel wählen: $e = 3$, $d = 3^{-1} \bmod 160 = 107$.

$\varphi(187) = 160$

Übungsfragen

F1 Wann ist $a \equiv b \pmod n$?
Genau dann, wenn $n$ die Differenz $a - b$ teilt, d.h. wenn es ein $k \in \mathbb{Z}$ gibt mit $a - b = k \cdot n$. Äquivalent: $a$ und $b$ liefern beim Teilen durch $n$ denselben Rest und liegen daher in derselben Restklasse modulo $n$.
F2 Wann besitzt $a$ eine multiplikative Inverse modulo $n$?
Genau dann, wenn $\gcd(a, n) = 1$ (also $a$ und $n$ teilerfremd sind). Der Beweis geht direkt über den erweiterten euklidischen Algorithmus: er liefert $u, v$ mit $a u + n v = 1$, also $a u \equiv 1 \pmod n$, d.h. $u = a^{-1}$. Ist $\gcd(a, n) > 1$, kann kein solches $u$ existieren, denn jede Linearkombination von $a$ und $n$ ist Vielfaches ihres ggT.
F3 Wie berechnet man $\varphi(n)$ für $n = p \cdot q$?
Sind $p, q$ zwei verschiedene Primzahlen, gilt $\varphi(n) = (p - 1)(q - 1)$. Herleitung: Von den $n = p q$ Zahlen $\{1, \dots, n\}$ sind genau die Vielfachen von $p$ ($q$ Stück) und die Vielfachen von $q$ ($p$ Stück) nicht teilerfremd, gemeinsam gezählt einmal $pq$ selbst. Also $\varphi(n) = pq - p - q + 1 = (p-1)(q-1)$.
F4 Was besagt der kleine Satz von Fermat?
Ist $p$ prim und $\gcd(a, p) = 1$, so gilt $a^{p-1} \equiv 1 \pmod p$. Äquivalent: $a^{p} \equiv a \pmod p$ für alle $a$. Der Satz ist ein Spezialfall des Satzes von Euler ($\varphi(p) = p - 1$). Er reduziert große Exponenten schlagartig auf ihren Rest modulo $p - 1$ und ist die Grundlage vieler probabilistischer Primzahltests (Fermat-Test, Miller-Rabin).
F5 Warum ist Square-and-Multiply schneller als naive Potenzierung?
Statt $k - 1$ Multiplikationen für $a^{k}$ nutzt Square-and-Multiply die Binärdarstellung des Exponenten und benötigt nur $\mathcal{O}(\log_{2} k)$ Multiplikationen. Beispiel $a^{1000}$: naiv $999$ Multiplikationen, per Square-and-Multiply nur ca. $\log_{2}(1000) \approx 10$ Quadrierungen und maximal $10$ weitere Multiplikationen. Bei RSA-typischen Exponenten von $2048$ Bit ist der Unterschied der Faktor $2^{2038}$.
F6 Wozu benötigt man den erweiterten euklidischen Algorithmus in der Kryptographie?
Immer wenn eine multiplikative Inverse modulo $n$ gebraucht wird. Konkrete Beispiele:
  • Affine Chiffre: Entschlüsselung mit $a^{-1} \bmod 26$.
  • RSA: privater Exponent $d \equiv e^{-1} \pmod{\varphi(n)}$.
  • DSA / ECDSA: Berechnung von $k^{-1} \bmod q$ im Signaturschritt.
  • ECC: Punktinversion / affine Koordinaten $\to$ modulare Divisionen.
Der Algorithmus liefert die Inverse in $\mathcal{O}(\log n)$ Schritten – ohne ihn wäre asymmetrische Kryptographie nicht praktikabel.
F7 Unterschied: deterministische vs. probabilistische Primzahltests?
Deterministische Tests (z.B. AKS-Test, Probedivision) liefern ein sicheres Ja/Nein, sind aber entweder langsam (exponentielle Laufzeit bei Probedivision) oder in Praxis mit sehr großen Konstanten behaftet (AKS ist polynomial, aber langsam).

Probabilistische Tests (Miller-Rabin, Solovay-Strassen) liefern in wenigen Millisekunden ein Ergebnis, das mit Fehlerwahrscheinlichkeit $\leq 4^{-k}$ falsch sein kann. Ist die Antwort "zusammengesetzt", so ist sie garantiert korrekt (Zeugen sind konkret). Ist sie "wahrscheinlich prim", so lässt sich die Sicherheit durch mehr Runden beliebig erhöhen. In der Praxis werden $\sim 40$ Runden für RSA-Schlüssel eingesetzt.
F8 Warum ist Modulararithmetik in $\mathbb{Z}_n$ mit $n = p \cdot q$ ohne Kenntnis von $p, q$ "unumkehrbar schwer"?
Zwei zusammenhängende Gründe:
  1. Faktorisierungsproblem: Aus $n$ die Primfaktoren $p, q$ zu bestimmen, ist für $n$ mit $\geq 2048$ Bit mit den besten bekannten klassischen Algorithmen (GNFS) in der Praxis nicht in vernünftiger Zeit lösbar.
  2. Kein Zugriff auf $\varphi(n)$: Ohne $p, q$ kann man $\varphi(n) = (p-1)(q-1)$ nicht berechnen. Damit lässt sich der private RSA-Exponent $d = e^{-1} \bmod \varphi(n)$ nicht bestimmen – die Umkehrung $c \to m$ scheitert.
Zusätzlich sind Wurzeln in $\mathbb{Z}_n$ (RSA-Problem) und der diskrete Logarithmus in Untergruppen mod $n$ schwer, obwohl das Rechnen (Addition, Multiplikation, Potenzierung) selbst effizient bleibt. Diese Einweg-Struktur ist die Grundlage der asymmetrischen Kryptographie.
F9 Warum darf man Zwischenergebnisse modular reduzieren?
Aus den Rechenregeln folgt $(a \cdot b) \bmod n = ((a \bmod n) \cdot (b \bmod n)) \bmod n$. Das erlaubt es, bei Multiplikationen jederzeit den Rest zu nehmen, ohne das Endergebnis zu ändern. Praktisch ist das entscheidend: In RSA hantiert man mit Zahlen $< n$ (z.B. 2048 Bit); ohne Zwischenreduktion würden Produkte innerhalb weniger Schritte zu absurd großen Zahlen anwachsen.
F10 Was ist $\mathbb{Z}_n^{*}$ und warum ist es wichtig?
$\mathbb{Z}_n^{*}$ ist die multiplikative Gruppe aller zu $n$ teilerfremden Restklassen: $\mathbb{Z}_n^{*} = \{a \in \mathbb{Z}_n \mid \gcd(a, n) = 1\}$. Sie enthält genau $\varphi(n)$ Elemente. Wichtig ist sie, weil in ihr:
  • Jedes Element ein Inverses besitzt (multiplikative Gruppe).
  • Der Satz von Euler gilt: $a^{\varphi(n)} \equiv 1 \pmod n$.
  • Zyklische Untergruppen für Diffie-Hellman und ElGamal-artige Verfahren entstehen.
F11 Was ist eine Restklasse und wie viele gibt es modulo $n$?
Eine Restklasse $[a]_n$ ist die Menge aller ganzen Zahlen, die bei Division durch $n$ denselben Rest wie $a$ hinterlassen: $[a]_n = \{a + k n \mid k \in \mathbb{Z}\}$. Modulo $n$ gibt es genau $n$ verschiedene Restklassen $[0], [1], \dots, [n-1]$, die zusammen $\mathbb{Z}_n$ bilden. Kongruenz $\equiv$ ist genau die Gleichheit dieser Restklassen.
F12 Wieso genügt es beim Miller-Rabin-Test, nur nach $1$ oder $-1$ in der Kette zu suchen?
Ist $n$ prim, so hat $1$ in $\mathbb{Z}_n$ nur die Quadratwurzeln $\pm 1$. Beim wiederholten Quadrieren $a^{d}, a^{2d}, a^{4d}, \dots, a^{2^{s-1} d}$ endet die Kette wegen $a^{n-1} \equiv 1$ (kleiner Fermat) zwangsläufig bei $1$. Wird direkt vor der ersten $1$ ein Wert $\neq \pm 1$ gefunden, so ist eine nicht-triviale Quadratwurzel von $1$ entdeckt – was in einem Primkörper unmöglich ist. Also muss $n$ zusammengesetzt sein.