Auf einen Blick

  • Schlüsselpaar: Jeder Teilnehmer besitzt einen öffentlichen Schlüssel (zum Verschlüsseln) und einen privaten Schlüssel (zum Entschlüsseln).
  • Kein sicherer Kanal nötig: Der öffentliche Schlüssel darf frei verteilt werden – der Hauptvorteil gegenüber symmetrischen Verfahren.
  • RSA (1977): Basiert auf der Schwierigkeit, große Zahlen $n = p \cdot q$ zu faktorisieren.
  • Langsam: RSA ist etwa 1000× langsamer als AES – daher werden hybride Verfahren (RSA + AES) verwendet.
  • Padding notwendig: Textbook-RSA ist unsicher. In der Praxis: OAEP (Verschlüsselung), PSS (Signaturen).

Kernkonzepte

Grundprinzip asymmetrischer Verschlüsselung

Bei symmetrischen Verfahren teilen sich Sender und Empfänger denselben geheimen Schlüssel – der muss aber irgendwie sicher übertragen werden. Bei asymmetrischen Verfahren gibt es zwei mathematisch verknüpfte Schlüssel:

  • Öffentlicher Schlüssel (public key): darf jeder wissen, wird zum Verschlüsseln genutzt.
  • Privater Schlüssel (private key): bleibt geheim, wird zum Entschlüsseln genutzt.

Nur der Besitzer des privaten Schlüssels kann Nachrichten entschlüsseln, die mit seinem öffentlichen Schlüssel verschlüsselt wurden.

Vorteil: Kein sicherer Kanal für Schlüsseltransport erforderlich.
Nachteil: Rechenintensiv, dadurch viel langsamer als symmetrische Verfahren.

RSA – Schlüsselgenerierung

RSA wurde 1977 von Rivest, Shamir und Adleman am MIT entwickelt. Ablauf der Schlüsselerzeugung:

  1. Wähle zwei große Primzahlen $p$ und $q$ (in der Praxis je 1024 oder 2048 Bit).
  2. Berechne den Modulus $n = p \cdot q$.
  3. Berechne die Eulersche Phi-Funktion $\varphi(n) = (p-1)(q-1)$.
  4. Wähle den öffentlichen Exponenten $e$ mit $1 < e < \varphi(n)$ und $\gcd(e, \varphi(n)) = 1$. In der Praxis meist $e = 65537 = 2^{16} + 1$.
  5. Berechne das multiplikative Inverse $d$ mit $e \cdot d \equiv 1 \pmod{\varphi(n)}$ (erweiterter Euklidischer Algorithmus).

Öffentlicher Schlüssel: $(n, e)$
Privater Schlüssel: $d$ (und $p, q, \varphi(n)$ müssen geheim bleiben!)

RSA – Ver- und Entschlüsseln

Sei $m$ die Nachricht als Zahl mit $0 \le m < n$.

Verschlüsseln (mit öffentlichem Schlüssel):

$c = m^e \bmod n$

Entschlüsseln (mit privatem Schlüssel):

$m = c^d \bmod n$

Korrektheit

Es gilt $c^d = (m^e)^d = m^{e \cdot d}$. Wegen $e \cdot d \equiv 1 \pmod{\varphi(n)}$ ist $e \cdot d = 1 + k \cdot \varphi(n)$ für ein $k \in \mathbb{N}$. Damit:

$m^{ed} = m^{1 + k\varphi(n)} = m \cdot (m^{\varphi(n)})^k \equiv m \cdot 1^k = m \pmod n$

Der letzte Schritt folgt aus dem Satz von Euler: $m^{\varphi(n)} \equiv 1 \pmod n$ für $\gcd(m, n) = 1$.

Sicherheit von RSA

Die Sicherheit von RSA basiert auf dem Faktorisierungsproblem: Aus $n$ die Primfaktoren $p$ und $q$ zu bestimmen, ist für große $n$ praktisch unmöglich.

Wer $p$ und $q$ kennt, kann $\varphi(n)$ berechnen und daraus $d$ – RSA wäre gebrochen.

Heutige Schlüssellängen:

Bitlänge $n$Sicherheit
1024 Bitnicht mehr empfohlen
2048 BitStandard bis ca. 2030
4096 Bitlangfristig sicher (nach heutigem Stand)

Padding – warum Textbook-RSA unsicher ist

Reines RSA ohne Padding hat schwerwiegende Schwächen:

  • Deterministisch: Gleiche Nachricht ergibt immer denselben Chiffretext → keine semantische Sicherheit.
  • Kleine Nachrichten: Ist $m^e < n$, entfällt der Modulo und man kann $m = \sqrt[e]{c}$ direkt ziehen.
  • Multiplikative Struktur: $c_1 \cdot c_2 = (m_1 \cdot m_2)^e \bmod n$ ermöglicht Angriffe.

Deshalb werden in der Praxis Padding-Verfahren eingesetzt:

  • OAEP (Optimal Asymmetric Encryption Padding) – für Verschlüsselung.
  • PSS (Probabilistic Signature Scheme) – für digitale Signaturen.

Hybride Verfahren

RSA ist ca. 1000× langsamer als AES. Deshalb kombiniert man beide:

  1. Sender erzeugt zufälligen AES-Sessionkey $k$.
  2. Nutzdaten werden mit $k$ per AES verschlüsselt.
  3. Der Sessionkey $k$ wird mit dem RSA-öffentlichen Schlüssel des Empfängers verschlüsselt.
  4. Beides (verschlüsselte Daten + verschlüsselter Sessionkey) wird gesendet.

Dieses Prinzip ist die Grundlage von TLS/HTTPS, PGP und S/MIME.

RSA für digitale Signaturen

RSA kann auch zum Signieren verwendet werden – die Rollen werden vertauscht:

  • Signieren (mit privatem Schlüssel): $\text{Sig} = m^d \bmod n$
  • Verifizieren (mit öffentlichem Schlüssel): prüfe $\text{Sig}^e \bmod n \stackrel{?}{=} m$

Nur der Besitzer des privaten Schlüssels kann eine gültige Signatur erzeugen – jeder mit dem öffentlichen Schlüssel kann sie prüfen.

Merksätze

Merksatz 1 – Schlüsselrollen
Öffentlich verschlüsseln, privat entschlüsseln. Bei Signaturen ist es umgekehrt: privat signieren, öffentlich verifizieren.
Merksatz 2 – Sicherheitsannahme
RSA ist genau so lange sicher, wie das Faktorisieren von $n = p \cdot q$ hart bleibt. Wer $p$ und $q$ kennt, hat den privaten Schlüssel.
Merksatz 3 – Kernformeln
$c = m^e \bmod n$ zum Verschlüsseln, $m = c^d \bmod n$ zum Entschlüsseln. $d$ ist das Inverse von $e$ modulo $\varphi(n)$.
Merksatz 4 – Textbook-RSA ist unsicher
Ohne Padding (OAEP/PSS) ist RSA angreifbar. Deterministisch = keine semantische Sicherheit.
Merksatz 5 – Hybrides Prinzip
Nutzdaten mit AES, Sessionkey mit RSA. Kombiniert Geschwindigkeit und Schlüsselmanagement.
Merksatz 6 – Klassischer $e$-Wert
$e = 65537 = 2^{16}+1$ – klein, prim, wenige Bits → schnelle Verschlüsselung via Square-and-Multiply.

🖊️ Handrechnung nach Miller

Karte 1 · RSA-Kochrezept in Miller-Notation

Miller nennt $\varphi(n)$ konsequent $z$. Merke die fünf Schritte in genau dieser Reihenfolge, sie decken jede Klausur-Teilaufgabe ab.

  1. Zwei Primzahlen wählen: $p, q$ prim.
  2. Modulus: $n = p \cdot q$.
  3. Miller-Phi: $z = \varphi(n) = (p-1)(q-1)$.
  4. Öffentlicher Exponent: $e$ mit $1 < e < n$ und $\gcd(e, z) = 1$.
  5. Privater Exponent: $d$ mit $e \cdot d \equiv 1 \bmod z$ (via erweitertem Euklid).

Schlüsselpaare: $E = (e, n)$ öffentlich, $D = (d, n)$ privat.

Chiffrieren: $c \equiv m^e \bmod n$. Dechiffrieren: $m \equiv c^d \bmod n$.

Miller-Beobachtung: $e$ und $d$ sind symmetrisch — dieselbe Rechnung liefert eine Signatur, wenn Alice zuerst mit $d$ potenziert und Bob mit $e$ prüft.

Karte 2 · Erweiterter Euklid nach Miller (Folie S.79)

Miller schreibt das Verfahren als Zwei-Spalten-Tabelle — links die Modulo-Reste $r_i$, rechts die ganzzahligen Quotienten $x_i$. Anschließend läuft eine Rückwärts-Rekursion.

Tabelle:

$z \bmod e = r_0 \quad|\quad z \div e = x_0$
$e \bmod r_0 = r_1 \quad|\quad e \div r_0 = x_1$
$r_0 \bmod r_1 = r_2 \quad|\quad r_0 \div r_1 = x_2$
$\vdots$
$r_{t-2} \bmod r_{t-1} = 1 \quad|\quad r_{t-2} \div r_{t-1} = x_t$

Abbruch, sobald ein Rest 1 auftaucht (das bestätigt zugleich $\gcd(z, e) = 1$). Ist der letzte echte Rest größer als 1, ist $e$ ungültig.

Rekursion:

$A_{t+2} = 0, \quad A_{t+1} = 1$

$A_k = A_{k+2} - x_k \cdot A_{k+1} \quad$ für $k = t, t-1, \ldots, 0$

Gesuchtes $d = A_0 \bmod z$ (bei negativem $A_0$ einfach $z$ addieren).

Beispiel A: $z = 60,\ e = 53$

$60 \bmod 53 = 7 \quad|\quad 60 \div 53 = 1 \quad\Rightarrow r_0 = 7,\ x_0 = 1$
$53 \bmod 7 = 4 \quad|\quad 53 \div 7 = 7 \quad\Rightarrow r_1 = 4,\ x_1 = 7$
$7 \bmod 4 = 3 \quad|\quad 7 \div 4 = 1 \quad\Rightarrow r_2 = 3,\ x_2 = 1$
$4 \bmod 3 = 1 \quad|\quad 4 \div 3 = 1 \quad\Rightarrow r_3 = 1,\ x_3 = 1 \quad\text{(Stop)}$

Also $t = 3$. Rekursion:

$A_5 = 0,\ A_4 = 1$
$A_3 = A_5 - x_3 \cdot A_4 = 0 - 1 \cdot 1 = -1$
$A_2 = A_4 - x_2 \cdot A_3 = 1 - 1 \cdot (-1) = 2$
$A_1 = A_3 - x_1 \cdot A_2 = -1 - 7 \cdot 2 = -15$
$A_0 = A_2 - x_0 \cdot A_1 = 2 - 1 \cdot (-15) = 17$

Ergebnis: $d = 17$. Probe: $53 \cdot 17 = 901 = 15 \cdot 60 + 1 \equiv 1 \bmod 60$ ✓

Beispiel B: $z = 160,\ e = 107$ (aus Klausuraufgabe unten)

$160 \bmod 107 = 53 \quad|\quad 160 \div 107 = 1 \quad\Rightarrow r_0 = 53,\ x_0 = 1$
$107 \bmod 53 = 1 \quad|\quad 107 \div 53 = 2 \quad\Rightarrow r_1 = 1,\ x_1 = 2 \quad\text{(Stop)}$

Also $t = 1$. Rekursion:

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

Ergebnis: $d = 3$. Probe: $107 \cdot 3 = 321 = 2 \cdot 160 + 1 \equiv 1 \bmod 160$ ✓

Faustregel

Die Mod-Spalte dient nur der Abbruchprüfung ($\gcd = 1$ genau dann, wenn ein Rest 1 auftritt). Für die Rekursion braucht man ausschließlich die Div-Spalte $x_0, x_1, \ldots, x_t$. Vorzeichen sauber mitführen, negative $A_i$ sind normal und werden am Ende via $+z$ korrigiert.

Karte 3 · Ägyptisches Potenzieren (Square-and-Multiply)

Miller nennt Square-and-Multiply konsequent ägyptisches Potenzieren (Übungsaufg. 16). Ohne diese Technik ist $m^e \bmod n$ für Klausur-typische Exponenten nicht in endlicher Zeit rechenbar.

Rezept (MSB-first):

  1. Exponent binär schreiben, führendes Bit ist immer 1.
  2. Startwert $r = 1$.
  3. Für jedes Bit von links nach rechts: $r \leftarrow r^2 \bmod n$; falls Bit = 1, zusätzlich $r \leftarrow r \cdot m \bmod n$.
  4. Nach dem letzten Bit ist $r = m^e \bmod n$.

Mini-Beispiel: $3^5 \bmod 7$ mit $5 = 101_2$.

Start: $r = 1$
Bit 1 (MSB): $r = 1^2 \cdot 3 = 3$
Bit 0: $r = 3^2 = 9 \equiv 2 \bmod 7$
Bit 1: $r = 2^2 \cdot 3 = 12 \equiv 5 \bmod 7$

Ergebnis: $3^5 \bmod 7 = 5$ ✓

Faustregel

In der Klausur immer zuerst die Bit-Tabelle des Exponenten aufschreiben (z.B. $107 = 1101011_2$), dann Zeile für Zeile quadrieren und bei jeder 1 mit der Basis multiplizieren — jeweils sofort $\bmod n$ reduzieren, sonst werden die Zwischenzahlen unbeherrschbar.

Karte 4 · Vollständige Klausuraufgabe: $p=11,\ q=17,\ e=107,\ m=6$

Schritt 1 — Schlüssel erzeugen:

$n = p \cdot q = 11 \cdot 17 = 187$
$z = (p-1)(q-1) = 10 \cdot 16 = 160$
$\gcd(107, 160) = 1$ ✓ (aus EEA-Tabelle sichtbar)
$d = 3$ (aus Karte 2, Beispiel B)
Probe: $e \cdot d = 107 \cdot 3 = 321 \equiv 1 \bmod 160$ ✓

Also $E = (107, 187)$, $D = (3, 187)$.

Schritt 2 — Verschlüsseln $c = 6^{107} \bmod 187$:

Binärdarstellung: $107 = 64 + 32 + 8 + 2 + 1 = 1101011_2$.

Vorab-Potenzen (jeweils quadrieren und $\bmod 187$):

$6^1 \equiv 6$
$6^2 \equiv 36$
$6^4 = 36^2 = 1296 = 6 \cdot 187 + 174 \equiv 174$
$6^8 = 174^2$. Mit $174 \equiv -13 \bmod 187$ folgt $6^8 \equiv (-13)^2 = 169$
$6^{16} = 169^2 = 28561 = 152 \cdot 187 + 137 \equiv 137$
$6^{32} = 137^2 = 18769 = 100 \cdot 187 + 69 \equiv 69$
$6^{64} = 69^2 = 4761 = 25 \cdot 187 + 86 \equiv 86$

Zusammensetzen $6^{107} = 6^{64} \cdot 6^{32} \cdot 6^{8} \cdot 6^{2} \cdot 6^{1}$:

$86 \cdot 69 = 5934 = 31 \cdot 187 + 137 \equiv 137$
$137 \cdot 169 = 23153 = 123 \cdot 187 + 152 \equiv 152$
$152 \cdot 36 = 5472 = 29 \cdot 187 + 49 \equiv 49$
$49 \cdot 6 = 294 = 1 \cdot 187 + 107 \equiv 107$

Ergebnis: $c = 107$.

Schritt 3 — Kontrolle via Entschlüsseln $m = 107^3 \bmod 187$:

$107^2 = 11449 = 61 \cdot 187 + 42 \equiv 42$
$107^3 = 42 \cdot 107 = 4494 = 24 \cdot 187 + 6 \equiv 6$

Ergebnis: $m = 6$ ✓ — identisch mit dem Klartext, RSA-Runde geschlossen.

Karte 5 · Miller-Klausurbeispiel mit Chiffratfolge (Folie S.75–76)

Setup: Bobs öffentlicher Schlüssel $E_B = (53, 77)$. Alice sendet die Chiffratfolge $c = (62, 16, 74, 45, 21)$.

Angreifersicht (klein genug für Handrechnung):

$n = 77 = 7 \cdot 11 \;\Rightarrow\; p = 7,\ q = 11$
$z = 6 \cdot 10 = 60$
$d$: Miller-EEA aus Beispiel A liefert direkt $d = 17$ (denn $z = 60,\ e = 53$).
Probe: $53 \cdot 17 = 901 \equiv 1 \bmod 60$ ✓

Blockweise Entschlüsselung — jeweils $c_i^{17} \bmod 77$:

$62^{17} \bmod 77 = 6$
$16^{17} \bmod 77 = 25$
$74^{17} \bmod 77 = 2$
$45^{17} \bmod 77 = 12$
$21^{17} \bmod 77 = 21$

Mit Miller-Kodierung $\text{A} = 2, \text{B} = 3, \ldots, \text{Z} = 27$ ergibt $(6, 25, 2, 12, 21)$ die Buchstaben E, X, A, K, T.

Klartext: EXAKT.

Zwei Klausur-Nebenfragen zu dieser Aufgabe

Wieso werden 0 und 1 nicht kodiert? Weil $0^e \equiv 0$ und $1^e \equiv 1$ für jeden Exponenten gelten. Der Angreifer erkennt diese beiden Klartexte am Chiffrat sofort — die Verschlüsselung ist wirkungslos.

Wieso nicht Buchstabe für Buchstabe verschlüsseln? Weil RSA ohne Padding deterministisch ist: gleicher Klartext-Buchstabe liefert immer denselben Chiffratblock. Damit degeneriert RSA zu einer monoalphabetischen Substitutions-Chiffre und ist mit klassischer Häufigkeitsanalyse angreifbar. Deshalb werden Blöcke aus mehreren Zeichen (oder ein Session-Key, siehe Karte 6) verschlüsselt.

Karte 6 · RSA-Schlüsseltausch (Übungsaufg. 17)

Praktisch wird RSA fast nie zur Massenverschlüsselung genutzt, sondern nur zum Transport eines symmetrischen Sitzungsschlüssels $k$ (z.B. eines AES-Schlüssels).

Ablauf:

  1. Alice erzeugt einen zufälligen Session-Key $k$ (AES-128/256).
  2. Alice holt Bobs öffentlichen Schlüssel $E_B = (e_B, n_B)$ und berechnet $c = k^{e_B} \bmod n_B$.
  3. Alice schickt $c$ an Bob.
  4. Bob rechnet $k = c^{d_B} \bmod n_B$ und hat denselben Session-Key.
  5. Beide führen ab jetzt AES-Verkehr mit $k$.

Perfect Forward Secrecy? Nein, so nicht. Bobs RSA-Schlüsselpaar bleibt über viele Sitzungen konstant. Wird Bobs $d_B$ irgendwann kompromittiert — und ein Angreifer hat die alten Chiffrate mitgeschnitten —, lassen sich alle vergangenen $k$ und damit der gesamte historische Verkehr entschlüsseln.

PFS wäre nur möglich, wenn Bob für jede Sitzung ein frisches RSA-Paar erzeugte; das ist zu teuer. Deshalb setzt TLS ab Version 1.3 für den Schlüsseltausch nicht mehr RSA, sondern ephemerales Diffie-Hellman (ECDHE) ein — RSA bleibt dort nur zur Signatur der DH-Parameter.

Karte 7 · Klausur-Checkliste RSA

Standard-Reihenfolge in jeder RSA-Aufgabe:

  1. $p, q$ aus Angabe → $n = p \cdot q$.
  2. $z = (p-1)(q-1)$ ausrechnen (nicht $n-1$!).
  3. $e$ prüfen: $\gcd(e, z) \stackrel{!}{=} 1$.
  4. Miller-EEA-Tabelle (2 Spalten) → $d = A_0 \bmod z$.
  5. Probe $e \cdot d \equiv 1 \bmod z$ hinschreiben — der Korrektor sieht sofort, ob $d$ stimmt.
  6. Ver-/Entschlüsseln via ägyptischem Potenzieren.
  7. Endprobe: $c^d \bmod n$ ergibt wieder $m$.

Typische Fallen:

  • $z$ und $n$ vertauscht. Regel: Der Exponent wird mod $z$ reduziert, die Zahl selbst mod $n$.
  • Vorzeichenfehler in der EEA-Rekursion. $A_k$ darf negativ sein, am Ende $+z$ addieren.
  • Falsche Bit-Reihenfolge bei Square-and-Multiply (LSB-first vs. MSB-first). Wir nutzen MSB-first.
  • Zwischenergebnisse nicht sofort $\bmod n$ reduziert → Zahlen explodieren.
Trick für die Klausur

Ist $d$ vermutlich klein (kleines $z$, kleines $e$), probiere $d = 1, 2, 3, \ldots$ direkt in $e \cdot d \bmod z$ durch. Bei $z = 160,\ e = 107$ ist $d = 3$ nach zwei Versuchen gefunden — schneller als jede EEA-Tabelle. Für die Vollpunktzahl trotzdem die EEA-Herleitung mit aufschreiben.

Kern-Merksatz

RSA nach Miller heißt: $p, q \to n \to z \to e \to d$. Miller-EEA liefert $d$ als $A_0$ aus der Div-Spalte. Ver- und Entschlüsseln laufen beide über ägyptisches Potenzieren, jeweils $\bmod n$. Exponenten leben in $\mathbb{Z}_z$, Zahlen selbst in $\mathbb{Z}_n$. In der Praxis transportiert RSA nur einen Session-Key — echte Payload verschlüsselt AES.

🧮 Rechenaufgaben mit Lösung

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

Aufgabe 1 – RSA-Schlüsselgenerierung mit $p=11$, $q=13$
Aufgabe: Erzeuge ein RSA-Schlüsselpaar mit $p = 11$ und $q = 13$. Wähle $e = 7$.

Schritt 1 – Modulus $n$

$n = p \cdot q = 11 \cdot 13 = 143$

Schritt 2 – Eulersche Phi-Funktion

$\varphi(n) = (p-1)(q-1) = 10 \cdot 12 = 120$

Schritt 3 – Prüfung von $e$

$\gcd(7, 120) = 1$ – also ist $e = 7$ zulässig.

Schritt 4 – Berechne $d$ mit erweitertem Euklid

Gesucht: $7 \cdot d \equiv 1 \pmod{120}$.

SchrittDivisionGleichung
1$120 = 17 \cdot 7 + 1$$1 = 120 - 17 \cdot 7$
2$7 = 7 \cdot 1 + 0$Ende

Aus $1 = 120 - 17 \cdot 7$ folgt $d \equiv -17 \equiv 120 - 17 = 103 \pmod{120}$.

Schritt 5 – Probe

$7 \cdot 103 = 721 = 6 \cdot 120 + 1$ ✓

Öffentlich: $(n, e) = (143, 7)$; Privat: $d = 103$

Aufgabe 2 – RSA verschlüsseln: $m = 9$, $(n, e) = (143, 7)$
Aufgabe: Verschlüssele die Nachricht $m = 9$ mit dem öffentlichen Schlüssel $(n, e) = (143, 7)$.

Formel

$c = m^e \bmod n = 9^7 \bmod 143$

Zerlegung des Exponenten

$7 = 4 + 2 + 1$, also $9^7 = 9^4 \cdot 9^2 \cdot 9^1$.

Modulare Zwischenpotenzen

PotenzRechnungErgebnis mod 143
$9^1$$9$$9$
$9^2$$81$$81$
$9^4$$81^2 = 6561 = 45 \cdot 143 + 126$$126$

Zusammensetzen

$9^7 \equiv 126 \cdot 81 \cdot 9 \pmod{143}$

Zwischenschritt: $126 \cdot 81 = 10\,206 = 71 \cdot 143 + 53$, also $\equiv 53$.

Weiter: $53 \cdot 9 = 477 = 3 \cdot 143 + 48$, also $\equiv 48$.

$c = 48$

Aufgabe 3 – RSA entschlüsseln: $c = 48$, $d = 103$, $n = 143$
Aufgabe: Entschlüssele den Chiffretext $c = 48$ mit privatem Schlüssel $d = 103$ und $n = 143$.

Formel

$m = c^d \bmod n = 48^{103} \bmod 143$

Square-and-Multiply

$103 = 64 + 32 + 4 + 2 + 1 = (1100111)_2$.

PotenzRechnungmod 143
$48^1$$48$$48$
$48^2$$2304 = 16 \cdot 143 + 16$$16$
$48^4$$16^2 = 256 = 1 \cdot 143 + 113$$113$
$48^8$$113^2 = 12\,769 = 89 \cdot 143 + 42$$42$
$48^{16}$$42^2 = 1764 = 12 \cdot 143 + 48$$48$
$48^{32}$$48^2 \bmod 143 = 16$$16$
$48^{64}$$16^2 \bmod 143 = 113$$113$

Zusammensetzen

$48^{103} = 48^{64} \cdot 48^{32} \cdot 48^{4} \cdot 48^{2} \cdot 48^{1}$

$= 113 \cdot 16 \cdot 113 \cdot 16 \cdot 48 \pmod{143}$

Schritt für Schritt:

  • $113 \cdot 16 = 1808 = 12 \cdot 143 + 92 \equiv 92$
  • $92 \cdot 113 = 10\,396 = 72 \cdot 143 + 100 \equiv 100$
  • $100 \cdot 16 = 1600 = 11 \cdot 143 + 27 \equiv 27$
  • $27 \cdot 48 = 1296 = 9 \cdot 143 + 9 \equiv 9$

$m = 9$ ✓ (entspricht der Originalnachricht aus Aufgabe 2)

Aufgabe 4 – Kleines RSA-Beispiel: $p=7$, $q=11$, $e=13$
Aufgabe: Bestimme das RSA-Schlüsselpaar für $p=7$, $q=11$, $e=13$. Berechne $d$.

Schritt 1 – Modulus & $\varphi$

$n = 7 \cdot 11 = 77$; $\varphi(n) = 6 \cdot 10 = 60$.

Schritt 2 – $\gcd(13, 60) = 1$?

Ja, $13$ und $60$ sind teilerfremd.

Schritt 3 – Erweiterter Euklid für $d$

Gesucht: $13 \cdot d \equiv 1 \pmod{60}$.

SchrittDivision
1$60 = 4 \cdot 13 + 8$
2$13 = 1 \cdot 8 + 5$
3$8 = 1 \cdot 5 + 3$
4$5 = 1 \cdot 3 + 2$
5$3 = 1 \cdot 2 + 1$
6$2 = 2 \cdot 1 + 0$

Rückwärtssubstitution

  • $1 = 3 - 1 \cdot 2$
  • $= 3 - (5 - 3) = 2 \cdot 3 - 5$
  • $= 2(8 - 5) - 5 = 2 \cdot 8 - 3 \cdot 5$
  • $= 2 \cdot 8 - 3(13 - 8) = 5 \cdot 8 - 3 \cdot 13$
  • $= 5(60 - 4 \cdot 13) - 3 \cdot 13 = 5 \cdot 60 - 23 \cdot 13$

Also: $-23 \cdot 13 \equiv 1 \pmod{60}$, damit $d \equiv -23 \equiv 60 - 23 = 37 \pmod{60}$.

Probe

$13 \cdot 37 = 481 = 8 \cdot 60 + 1$ ✓

Öffentlich $(77, 13)$; Privat $d = 37$

Aufgabe 5 – Warum muss $p \neq q$ gelten?
Aufgabe: Erkläre, warum bei RSA die Bedingung $p \neq q$ zwingend ist. Was passiert bei $p = q$?

Analyse

Wäre $p = q$, dann wäre $n = p^2$. Aus $n$ könnte ein Angreifer sofort $p = \sqrt{n}$ berechnen – die Faktorisierung ist trivial.

Zusätzliche Konsequenz

Bei $p = q$ gilt $\varphi(n) = p(p-1)$ statt $(p-1)(q-1)$ – die Struktur von RSA ist gebrochen.

In der Praxis

$p$ und $q$ müssen zusätzlich etwa gleich groß, aber nicht zu nah beieinander sein, sonst greift Fermats Faktorisierungsmethode (Suche nahe $\sqrt{n}$).

Bei $p=q$ ist $n$ trivial faktorisierbar → RSA komplett unsicher.

Aufgabe 6 – Faktorisierungs-Angriff: $n = 1517$
Aufgabe: Gegeben $n = 1517$. Faktorisiere $n$ und berechne $\varphi(n)$.

Schritt 1 – Suchbereich

$\sqrt{1517} \approx 38{,}95$. Es genügt, Primzahlen bis $38$ als potentielle Teiler zu prüfen.

Schritt 2 – Systematisches Testen

$p$$1517 / p$Rest
2ungerade
3Quersumme 14
7216{,}71…≠ 0
11137{,}9…≠ 0
13116{,}7…≠ 0
1789{,}2…≠ 0
1979{,}8…≠ 0
2365{,}9…≠ 0
2952{,}3…≠ 0
3148{,}9…≠ 0
37$1517 / 37 = 41$$= 0$ ✓

Schritt 3 – Ergebnisse

$n = 37 \cdot 41$ (beides Primzahlen).

$\varphi(n) = 36 \cdot 40 = 1440$.

$p = 37$, $q = 41$, $\varphi(n) = 1440$

Aufgabe 7 – RSA-Signatur: $m=5$, $d=103$, $n=143$
Aufgabe: Berechne die RSA-Signatur für Nachricht $m = 5$ mit privatem Schlüssel $d = 103$, $n = 143$. Verifiziere anschließend mit $e = 7$.

Signieren

$\text{Sig} = m^d \bmod n = 5^{103} \bmod 143$

Square-and-Multiply für $5^{103}$

$103 = 64 + 32 + 4 + 2 + 1$.

PotenzRechnungmod 143
$5^1$$5$$5$
$5^2$$25$$25$
$5^4$$625 = 4 \cdot 143 + 53$$53$
$5^8$$53^2 = 2809 = 19 \cdot 143 + 92$$92$
$5^{16}$$92^2 = 8464 = 59 \cdot 143 + 27$$27$
$5^{32}$$27^2 = 729 = 5 \cdot 143 + 14$$14$
$5^{64}$$14^2 = 196 = 1 \cdot 143 + 53$$53$

Kombination: $5^{103} = 5^{64} \cdot 5^{32} \cdot 5^{4} \cdot 5^{2} \cdot 5^{1} \equiv 53 \cdot 14 \cdot 53 \cdot 25 \cdot 5 \pmod{143}$.

  • $53 \cdot 14 = 742 = 5 \cdot 143 + 27 \equiv 27$
  • $27 \cdot 53 = 1431 = 10 \cdot 143 + 1 \equiv 1$
  • $1 \cdot 25 = 25$
  • $25 \cdot 5 = 125$

Signatur: $\text{Sig} = 125$.

Verifizieren

Prüfe: $\text{Sig}^e \bmod n = 125^7 \bmod 143 \stackrel{?}{=} 5$.

PotenzRechnungmod 143
$125^1$$125$$125$
$125^2$$15\,625 = 109 \cdot 143 + 38$$38$
$125^4$$38^2 = 1444 = 10 \cdot 143 + 14$$14$

$125^7 = 125^4 \cdot 125^2 \cdot 125 \equiv 14 \cdot 38 \cdot 125 \pmod{143}$.

  • $14 \cdot 38 = 532 = 3 \cdot 143 + 103 \equiv 103$
  • $103 \cdot 125 = 12\,875 = 90 \cdot 143 + 5 \equiv 5$

Verifikation liefert $5 = m$ ✓ – Signatur gültig.

Aufgabe 8 – Kleiner-$e$-Angriff bei Textbook-RSA
Aufgabe: Sei $(n, e) = (2867, 3)$ und $c = 27$. Zeige, warum ein direkter Wurzelangriff möglich ist, und bestimme $m$.

Beobachtung

Ist $m$ so klein, dass $m^e < n$ gilt, wirkt der Modulo nicht: $c = m^e$ ohne Reduktion.

Prüfung

Nehmen wir $m = 3$: $m^e = 3^3 = 27 < 2867 = n$. Also gilt tatsächlich $c = m^e$ direkt.

Angriff

Ziehe die $e$-te Wurzel: $m = \sqrt[3]{27} = 3$.

Konsequenz

Ohne Padding lassen sich kleine Nachrichten trivial rückwärts berechnen. OAEP verhindert dies durch zufällige Auffüllung.

$m = 3$; Textbook-RSA gebrochen ohne Faktorisierung

Übungsfragen

F1Wie erzeugt man ein RSA-Schlüsselpaar?
  1. Zwei große Primzahlen $p, q$ wählen (praktisch je 1024–2048 Bit).
  2. $n = p \cdot q$ und $\varphi(n) = (p-1)(q-1)$ berechnen.
  3. Öffentlichen Exponenten $e$ mit $\gcd(e, \varphi(n)) = 1$ wählen, meist $e = 65537$.
  4. Privaten Exponenten $d$ als multiplikatives Inverses von $e$ modulo $\varphi(n)$ berechnen (erweiterter Euklid).
  5. Öffentlich $(n, e)$ veröffentlichen; $d$ (und $p, q, \varphi(n)$) geheim halten.
F2Warum ist RSA ohne Padding unsicher?

Textbook-RSA ist deterministisch: gleiche Nachricht ergibt gleichen Chiffretext → keine semantische Sicherheit, Wörterbuchangriffe möglich. Zusätzlich sind kleine Nachrichten anfällig für den Wurzelangriff ($m^e < n$), und die multiplikative Struktur $c_1 c_2 = (m_1 m_2)^e$ erlaubt Chosen-Ciphertext-Angriffe. OAEP fügt gezielt Zufallsbits hinzu und schließt diese Lücken.

F3Warum wird $e = 65537$ oft gewählt?

$65537 = 2^{16} + 1$ ist eine Fermat-Primzahl mit nur zwei gesetzten Bits. Vorteile:

  • Prim → $\gcd(e, \varphi(n))$ ist meist automatisch $1$.
  • Nur zwei Bits gesetzt → Square-and-Multiply braucht nur 16 Quadrierungen und eine Multiplikation → sehr schnell.
  • Groß genug, um bekannte Angriffe (z. B. Håstad, Coppersmith) für kleines $e$ zu vermeiden.
F4Was ist ein hybrides Verfahren und warum wird es verwendet?

Ein hybrides Verfahren kombiniert asymmetrische und symmetrische Kryptografie:

  1. Sender erzeugt zufälligen AES-Sessionkey $k$.
  2. Nutzdaten werden mit $k$ per AES verschlüsselt (schnell).
  3. $k$ selbst wird mit dem RSA-öffentlichen Schlüssel des Empfängers verschlüsselt.

Vorteil: Man vereint die Geschwindigkeit von AES mit der einfachen Schlüsselverteilung von RSA. TLS/HTTPS, PGP und S/MIME basieren darauf.

F5Wie viele Bits sollte $n$ bei RSA heute haben?

Nach aktueller BSI-Empfehlung (2026):

  • 1024 Bit – veraltet, gilt als brechbar.
  • 2048 Bit – Mindeststandard bis ca. 2030.
  • 3072 / 4096 Bit – langfristig sicher gegen klassische Angreifer.

Gegen Quantencomputer (Shor-Algorithmus) bietet RSA jedoch keine Sicherheit – dafür braucht es Post-Quanten-Verfahren.

F6Warum kann man aus $n$ und $e$ nicht ohne weiteres $d$ berechnen?

Um $d$ zu berechnen, braucht man $\varphi(n) = (p-1)(q-1)$. Und dafür wiederum die Primfaktoren $p, q$. Aus $n$ allein die Faktoren $p, q$ zu bestimmen ist das Faktorisierungsproblem – für hinreichend große $n$ (2048+ Bit) praktisch unlösbar. Wer $n$ faktorisieren könnte, hätte $d$ – und damit ist RSA gebrochen.

F7Was bedeutet Semantic Security?

Semantische Sicherheit bedeutet: Ein Angreifer, der den Chiffretext sieht, gewinnt keinerlei Information über den Klartext – nicht einmal ein einzelnes Bit oder ob zwei Chiffretexte den gleichen Klartext haben. Formal: Ein probabilistisch polynomialzeit-Angreifer kann nicht zwischen den Verschlüsselungen zweier selbst gewählter Klartexte unterscheiden. Textbook-RSA ist nicht semantisch sicher, weil deterministisch. RSA-OAEP dagegen schon.

F8Kann man RSA auch für Signaturen verwenden?

Ja. Die Rollen der Schlüssel werden vertauscht:

  • Signieren mit privatem Schlüssel: $\text{Sig} = m^d \bmod n$
  • Verifizieren mit öffentlichem Schlüssel: prüfe $\text{Sig}^e \bmod n = m$

In der Praxis signiert man nicht $m$ direkt, sondern $H(m)$ (Hash der Nachricht) und nutzt das PSS-Padding. Damit ist die Signatur eindeutig dem Besitzer des privaten Schlüssels zuzuordnen (Authentizität + Nicht-Abstreitbarkeit).

F9Was ist der Unterschied zwischen OAEP und PSS?

OAEP (Optimal Asymmetric Encryption Padding) fügt beim Verschlüsseln Zufalls- und Feldbits ein, damit der Chiffretext probabilistisch und semantisch sicher wird.

PSS (Probabilistic Signature Scheme) macht das analog für Signaturen – auch Signaturen werden probabilistisch, sodass wiederholtes Signieren derselben Nachricht unterschiedliche Signaturen ergibt und keine Angriffsangriffsflächen wie beim Textbook-Signieren entstehen.

F10Warum ist RSA so viel langsamer als AES?

RSA arbeitet mit modularer Exponentiation über sehr großen Zahlen (2048+ Bit). Jede Multiplikation ist quadratisch aufwendig, und pro Verschlüsselung fallen viele davon an. AES dagegen nutzt effiziente Bit- und Byteoperationen auf 128-Bit-Blöcken, die in Hardware direkt umgesetzt werden können (AES-NI). Faktor ~1000 zugunsten von AES – deshalb hybride Verfahren.

F11Was ist das Chinese-Remainder-Theorem (CRT) bei RSA?

Beim Entschlüsseln kann man statt $m = c^d \bmod n$ getrennt $m_p = c^{d_p} \bmod p$ und $m_q = c^{d_q} \bmod q$ mit $d_p = d \bmod (p-1)$, $d_q = d \bmod (q-1)$ rechnen und dann per CRT zu $m \bmod n$ kombinieren. Das ist ca. 4× schneller, weil die Zahlen halb so lang sind – der Standardtrick in RSA-Bibliotheken.

F12Bricht ein Quantencomputer RSA?

Ja. Der Shor-Algorithmus faktorisiert eine $n$-Bit-Zahl in polynomialer Zeit auf einem hinreichend großen Quantencomputer. Damit fällt RSA (und ECC ebenso). Deshalb wird an Post-Quanten-Verfahren wie Kyber (Verschlüsselung) und Dilithium (Signatur) gearbeitet, die auf Gitterproblemen basieren.