Affine Chiffre
Rechner für lineare Substitutionsverschlüsselung
Affine Chiffre: Rechner & Leitfaden
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
- $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}$).
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.
Da $26 = 2 \times 13$, ist jede gerade Zahl (2, 4, 6...) oder ein Vielfaches von 13 verboten.
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
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$).
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.
# 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
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