Asymmetrische Verschlüsselung

Schlüsselpaar:

  • public Key (öffentlicher Schlüssel)
  • private Key (privater Schlüssel)

RSA

Rivest Shamir Adleman (1977)
math. Grundlage: große Primzahlen Bei der erzeugung eines Schlüsselpaares werden 2 Primzahlen miteinander mulipliziert. Das Produkt ist Teil beider Schlüssel

Bsp.:

---
title: RSA Message Flow
---
flowchart LR
    subgraph Sender
    Verschlüsseln
    end
    Verschlüsseln --> Nachricht --> Entschlüsseln
    subgraph Receiver
    Entschlüsseln --> Empfänger
    prKey[("Private Key")]
    end
    Empfänger --> peKey[("Public Key")]
    Empfänger --> prKey --> Entschlüsseln
    peKey --> Verschlüsseln

Praxis der Ver- und Entschlüsselung:

Der Sender verschlüsselt mit dem öffentlichen Schlüssel des Empfängers nur der Empfänger kann die Nachricht kann mit seinem dazugehörigen privaten Schlüssel entschlüsseln.

---
title: RSA Message Flow
---
flowchart LR
    Alice(Alice<br/>entschlüsselt mit ihrem private Key)-- mithilfe von Bobs public Key verschlüsselt -->Bob(Bob<br/>entschlüsselt mit seinem private Key)
    Bob-- mit mithilfe von Alice' public Key verschlüsselt -->Alice

Beispielrechnung von RSA

1. Primzahlen auswählen

Wir wollen zwei verschiedene Primzahlen p und q und berechnen das Produkt n.

2. Bestimme e

Bestimme e mit folgenden Bedingungen:

  • e < n
  • e teilerfremd zu (p-1) * (q-1)

Wähle 7

e und n sind der öffentliche Schlüssel.

3. Berechnung vom privaten Schlüssel

Ermittle / berechne dden privaten Schlüssel. Zu e wird das modular Inverse d gesucht, d.h.

(e*d) \mod ((p-1)*(q-1)) = 1 \\ (7*d) \mod 40 = 1 && \text{konkrete Zahlen} \\ (7*23) \mod 40 = 1 \\ 161 \mod 40 = 1 \\ d = 23 \end{align*}$$ --> d = 23 und u = 55 bilden den privaten Schlüssel. 40er Reihe durchgehen und immer 1 dazu addieren und überprüfen, ob es durch 7 Teilbar ist. $$ n * 40 + 1 \mod 7 = 1$$ #### 4. Verschlüsselung v: verschlüsseltes Zeichen; c: Klartextzeichen $$ v = c^e \mod n$$ z.B. Klartext c = 2

v = 2^7 \mod 77 = 128 \mod 55 = 18

#### 5. Entschlüsselung $$\begin{align*} v^d \mod n = c \\ 74 347 713 614 021 927 913 318 776 832 \mod 55 = c \\ 2 = c \end{align*}$$ ## Beispiel: 1. $$p = 11\\ q = 13\\ n = 11 * 13 = 143$$ 2. $$(p-1) * (q-1) = 120 \\ e = 9$$ 3. $$\begin{align*} (e*d) \mod ((p-1)*(q-1)) = 1 \\ (9*d) \mod 120 = 1 && \text{konkrete Zahlen} \\ (9*103) \mod 120 = 1 \\ 721 \mod 120 = 1 \\ d = 103 \end{align*}$$ 4. $$\begin{align*} e_{peer} = 13 \\ n_{peer} = 756 614 297 \\ v = c^e_{peer} \mod n_{peer} \\ v = 11^e_{peer} \mod n_{peer} \end{align*}$$ 5. $$ v = c^e \mod n$$

v = 42^7 \mod 143 = 2