Get in touch

Contact Form Demo

Affine Chiffre

Rechner für lineare Substitutionsverschlüsselung

Status: Bereit
Verschlüsseln
Entschlüsseln
Nachricht (A-Z)
Steigung (a)
Y-Achsenabschnitt (b)
1
2
3
4
5
6
7
8
9
0
WEITER
Ergebnis
Alphabet-Mapping (x → y)
Verfahrensdetails
👨‍🏫
Von Prof. David Anderson
Spezialist für Kryptographie | 20+ Jahre Erfahrung
"Willkommen in der eleganten Welt der **klassischen Kryptographie**. Die affine Chiffre ist nicht nur ein historisches Kuriosum; sie ist das perfekte Übungsfeld, um **lineare Kongruenz** und **modulare Inverse** zu verstehen. Im Gegensatz zur Caesar-Chiffre, die nur 'verschiebt', wird bei der affinen Chiffre 'skaliert' und 'verschoben'. Heute werden wir die Mathematik hinter $(ax + b) \pmod{26}$ analysieren, lernen, warum ein falscher Schlüssel die Chiffre unbrauchbar macht, und sehen, wie leicht sie per Brute-Force geknackt werden kann."

Affine Chiffre: Rechner & Leitfaden

Die Mathematik von Verschlüsselung, Entschlüsselung & linearer Kongruenz

1. Das mathematische Prinzip: Lineare Kongruenz

Die affine Chiffre ist eine Art der monoalphabetischen Substitutionschiffre. Sie ordnet jedem Buchstaben des Alphabets einen numerischen Wert zu ($A=0, B=1, \dots, Z=25$) und transformiert diesen mithilfe einer linearen Gleichung.

Die Verschlüsselungsformel

$$ E(x) = (ax + b) \pmod{26} $$
  • $x$: Der numerische Wert des Klartextbuchstabens.
  • $a$: Der multiplikative Schlüssel (Steigung). Muss teilerfremd zu 26 sein.
  • $b$: Der additive Schlüssel (Verschiebung). Jede ganze Zahl von 0-25.
  • $m$: Die Größe des Alphabets (26).

Die Entschlüsselungsformel

Die Entschlüsselung ist komplexer. Man kann nicht einfach dividieren. In der modularen Arithmetik multiplizieren wir mit dem modularen multiplikativen Inversen ($a^{-1}$).

$$ D(x) = a^{-1}(x - b) \pmod{26} $$

2. Die "Teilerfremd"-Falle: Warum Schlüssel A entscheidend ist

Viele Schüler fragen: "Warum kann ich nicht die 4 als Schlüssel A verwenden?"

Damit die Chiffre umkehrbar ist (also die Entschlüsselung funktioniert), muss die Funktion eine Bijektion (eindeutige Abbildung) sein. Dies ist nur der Fall, wenn $ggT(a, 26) = 1$ gilt.

Gültige vs. ungültige Schlüssel für A:

Da $26 = 2 \times 13$, ist jede gerade Zahl (2, 4, 6...) oder ein Vielfaches von 13 verboten.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
19
21
23
25

3. Beispiel für eine manuelle Berechnung

Verschlüsseln wir den Buchstaben "H" mit den Schlüsseln $a=5, b=8$.

Schritt 1: In Zahl umwandeln

"H" ist der 8. Buchstabe, aber da wir bei 0 beginnen (A=0), ist $x = 7$.

Schritt 2: Formel anwenden

$$ E(7) = (5 \times 7 + 8) \pmod{26} $$ $$ E(7) = (35 + 8) \pmod{26} $$ $$ E(7) = 43 \pmod{26} $$ $$ 43 = 26 \times 1 + 17 \implies \text{Ergebnis ist } 17 $$

Schritt 3: Zurück in Buchstaben umwandeln

Die Zahl 17 entspricht dem Buchstaben "R". Aus H wird also R.

Schritt 4: Überprüfung (Entschlüsselung)

Zum Entschlüsseln finden wir zuerst $a^{-1}$, wobei $5 \times a^{-1} \equiv 1 \pmod{26}$.
Das Inverse von 5 ist 21 (da $5 \times 21 = 105 = 4 \times 26 + 1$).

$$ D(17) = 21(17 - 8) \pmod{26} $$ $$ D(17) = 21(9) \pmod{26} $$ $$ D(17) = 189 \pmod{26} $$ $$ 189 = 26 \times 7 + 7 \implies \text{Ergebnis ist } 7 \text{ ("H")} $$

4. Den Code knacken: Brute Force & Häufigkeitsanalyse

Ist die affine Chiffre sicher? Absolut nicht. Sie ist anfällig für zwei Hauptangriffsarten.

A. Brute-Force-Angriff

Der Schlüsselraum ist extrem klein.
Mögliche Werte für $a$: 12
Mögliche Werte für $b$: 26
Gesamtschlüssel: $12 \times 26 = 312$.
Ein Mensch kann 312 Schlüssel in einer Stunde prüfen; ein Computer erledigt das in Mikrosekunden.

B. Häufigkeitsanalyse

Da es sich um eine monoalphabetische Substitution handelt, bleibt die Häufigkeit der Buchstaben erhalten.
Wenn der häufigste Buchstabe im Geheimtext 'X' ist und wir wissen, dass 'E' der häufigste Buchstabe im Deutschen ist, können wir annehmen:
$E(x_E) = x_X$
Wir können ein System linearer Gleichungen aufstellen, um $a$ und $b$ sofort zu lösen.

5. Entwickler-Ecke: Python-Implementierung

Möchten Sie Ihren eigenen Löser bauen? Hier ist die Kernlogik für das modulare Inverse in Python 3.

def mod_inverse(a, m):
  # Erweiterter euklidischer Algorithmus
  for x in range(1, m):
    if ((a % m) * (x % m)) % m == 1:
      return x
  return -1

# Beispiel für die Entschlüsselung
key_a = 5
key_b = 8
inv_a = mod_inverse(key_a, 26) # Gibt 21 zurück

6. FAQ-Ecke des Professors

F: Ist die affine Chiffre dasselbe wie die Caesar-Chiffre?
Die Caesar-Chiffre ist ein Spezialfall der affinen Chiffre, bei dem $a=1$ ist. Die Formel wird zu $1x + b$, was lediglich eine Verschiebung darstellt. Die affine Chiffre ist aufgrund des Skalierungsfaktors $a$ komplexer.
F: Kann ich negative Zahlen für B verwenden?
Ja! In der modularen Arithmetik werden negative Zahlen umgebrochen. $-1 \equiv 25 \pmod{26}$. Eine Verschiebung um $b=-1$ ist also mathematisch identisch mit $b=25$.
F: Wie finde ich das Inverse von 'a' ohne Computer?
Verwenden Sie den erweiterten euklidischen Algorithmus. Er erlaubt es, $1 = ax + 26y$ zu schreiben. Der Koeffizient $x$ (modulo 26) ist Ihr Inverses.
F: Was passiert, wenn b = 0 ist?
Wenn $b=0$, wird die Funktion zu $E(x) = ax \pmod{26}$. Dies nennt man eine multiplikative Chiffre. Sie bildet 'A' immer auf 'A' ab (0 auf 0), was eine erhebliche Schwachstelle darstellt.
F: Wie gehe ich mit negativen Zahlen beim Modulo um?
Standard-Modulo-Operatoren in der Programmierung (wie `%` in JS oder C) geben oft negative Reste zurück. Die korrekte Formel lautet: `((n % m) + m) % m`. Zum Beispiel ist $-3 \pmod{26} = 23$.
F: Wird die affine Chiffre in der modernen Sicherheit verwendet?
Nein. Sie ist unsicher. Jedoch wird das Konzept der **linearen Kongruenzgeneratoren (LCG)**, die die Formel $X_{n+1} = (aX_n + b) \pmod m$ nutzen, weitverbreitet zur Erzeugung von Pseudozufallszahlen verwendet.

Quellen

  • Stinson, D. R. (2005). Cryptography: Theory and Practice. CRC Press.
  • Singh, S. (1999). The Code Book: The Science of Secrecy. Fourth Estate.
  • Rosen, K. H. (2011). Number Theory and Its Applications. Pearson.

Bereit zum Rechnen?

Beginnen Sie jetzt mit der Berechnung Ihrer eigenen Verschlüsselungen.

Zum Rechner