|
Kryptologie
Die Enigma |
a7Hzq .#5r< kÜ\as TâÆK$ ûj(Ö2 ñw%h:
Úk{4R f~`z8 ¤˜Æ+Ô „&¢Dø |
|
Beschreibungen, Artikel, Simulationen
[Externe Links]
Historische Daten
- Gründung der »Chiffriermaschinen AG« durch Scherbius.
Angebot Enigma A, B als ziviles, kommerzielles Chiffriersystem;
4 Rotoren (»Durchgangsräder«) mit Zahnlückenantrieb.
- 1926 Willi Korn: Patentanmeldung »Umkehrwalze«
® Enigma C.
- 1927 Enigma D mit einstellbarer Umkehrwalze.
- 1933 Auflösung der »Chiffriermaschinen AG«;
Neugründung der »Chiffriermaschinen-Gesellschaft Heimsoeth und Rinke«
(bis 1945).
Weiterentwicklung zu militärischem Chiffriergerät (Enigma I, »Wehrmachts-Enigma«).
Einführung des »Steckerbretts«.
- 1938-1942: Enigma K an Schweizer Armee verkauft.
- 1942 Version M4 für die Marine mit zusätzlichem Rotor.
- Nach dem Krieg Verkauf der erbeuteten Maschinen an Entwicklungsländer;
im Gebrauch bis ca. 1975.
Ausländische Varianten
- ca. 1928 britische Variante: TYPEX.
- Polnische Variante: Lacida.
- Japanische Variante: »GREEN«.
- US-Variante M-235 = SIGFOY von Friedman.
- 1946 NEMA für Schweizer Armee mit
6 Rotoren.
- NATO-Chiffriergerät KL-7 [extern].
- Variante mit 7 Rotoren von OMI (Ottico Meccanica Italiana).
Besonderheiten der Enigma
Von den verschiedenen Versionen wird hier die »Wehrmachts-Enigma« beschrieben.
- Es werden q = 3 Walzen (Rotoren) aus einem Walzenkorb der
Größe p = 5 ausgewählt.
- Der Strom fließt von rechts durch die drei Rotoren, dann durch die
Umkehrwalze, dann in umgekehrter Richtung wieder durch die drei Rotoren
nach rechts wie in der Abbildung
oder wie
hier
von John Savard skizziert.
- Die Umkehrwalze (oder »Reflektor«)
- dreht sich nicht,
- verdoppelt die Anzahl der durchlaufenen Rotoren,
- macht die gesamte Verschlüsselung involutorisch, d. h., Verschlüsselungs-
und Entschlüsselungsfunktion sind identisch,
- ermöglicht dem Kryptoanalytiker eine negative Mustersuche, da niemals
ein Buchstabe durch sich selbst verschlüsselt wird.
- Die drei Rotoren werden im wesentlichen nach dem Zählwerkprinzip
weitergeschaltet; der rechte, also erste und letzte Rotor im Stromlauf, ist
der schnelle, der linke, an die Umkehrwalze grenzende, der langsame.
Es gibt eine kleine Unregelmäßigkeit: Immer, wenn sich der langsame Rotor
dreht, schiebt er den mittleren noch eine Position weiter, so dass
dieser eine ganze Umdrehung schon nach 25 Schritten schafft.
- Die Beschriftung jedes Rotors ist auf dem »Alphabetring« angebracht, der den
Rotor umschließt und sich frei auf diesem drehen läßt. Da die Mitnehmer
für die Zählwerk-Schaltung am Alphabetring befestigt sind, wird dadurch
deren Stellung veränderlich und beeinflusst die Zustandsänderungsfunktion
g. Das ergibt einen zusätzlichen Schlüssel, die »Ringstellung«.
- Die Zuordnung der Tastatur bzw. der Lämpchen zum Eingang des rechten
Rotors wird über ein Steckerbrett geführt; jeder der 10 gesetzten Stecker
vertauscht ein Buchstabenpaar. Das Steckerbrett bewirkt also eine zusätzliche
Involution auf der Input- wie auf der Output-Seite. Das ergibt nochmal
einen zusätzlichen Schlüssel, die »Steckerverbindungen«.
Bilder der gesamten Maschine sind
hier (Wehrmachts-Enigma) oder
hier (Marine-Enigma) oder
extern,
bei NOVA, zu sehen.
Laut Dienstvorschrift durften bei der Wehrmacht verschlüsselte Nachrichten
nicht länger als 250 Zeichen sein - längere Texte mussten aufgeteilt und mit
verschiedenen Spruchschlüsseln chiffriert werden.
Der Schlüsselraum
Es gibt
- 5!/2! = 60 Walzenlagen,
- 263 = 17576 Ringstellungen,
- 26!/(210×10!×6!)
= 150 738 274 937 250 Möglichkeiten für die Steckerverbindungen
[siehe unten],
- 263 = 17576 Anfangsstellungen.
Der gesamte Schlüsselraum K (Primär- und Sekundärschlüssel) hat also
die Größe
#K = 60 × 17576 ×
150 738 274 937 250 × 17576
= 2 793 925 870 508 516 103 360 000
» 2.8 × 1024
» 1.16 × 281.
Da aber überhaupt nicht klar ist, ob alle Schlüssel verschiedene Substitutionen
definieren, kann man daraus nur schließen, dass die effektive Schlüssellänge
höchstens ungefähr 81 ist.
Die Anzahl der Involutionen
Die oben behauptete Anzahl der Möglichkeiten für die Steckerverbindungen bedarf
noch einer Begründung. Es handelt sich dabei um die Anzahl der Involutionen in
S26 mit höchstens 10 Zweierzyklen.
Allgemein bestimmen wir die Anzahl der Involutionen in der symmetrischen Gruppe
Sn mit höchstens k Zweierzyklen, wobei
0 £ 2k £ n.
Sie ist gleich der Anzahl d(n,k) der Möglichkeiten,
k Paare aus n Elementen zu wählen.
Wahl von | # Möglichkeiten | Wahl von | # Möglichkeiten |
1. Element: | n | | |
1. Partner: | n-1 |
1. Paar: | n(n-1)/2 |
2. Element: | n-2 | | |
2. Partner: | n-3 |
2. Paar: | (n-2)(n-3)/2 |
… | … |
… | … |
k. Element: | n-2(k-1) |
| |
k. Partner: | n-2(k-1)-1 |
k. Paar: |
(n-2k+2)(n-2k+1)/2 |
Insgesamt ergibt das mit Berücksichtigung der Reihenfolge
n(n-1)×××
(n-2k+2)(n-2k+1)/2k
= n!/[(n-2k)!×2k]
Möglichkeiten. Davon sind, wenn man nun die Reihenfolge außer Acht lässt, jeweils
k! identisch. Die gesuchte Anzahl ist also
d(n,k) =
n!/[2kk!(n-2k)!]
Im Falle der Wehrmachts-Enigma ist n = 26 und k = 10, und so
wurde die oben angegebene Anzahl berechnet.
Die Steuerlogik
Üblicherweise wird der schnelle Rotor mit 1, der mittlere mit 2 und der
langsame mit 3 bezeichnet. Nach der obigen Beschreibung ist die
Zustandsänderungsfunktion also
g(z1, z2,
z3) =
(z1+1,
z2+l(z1)+l(z1)l(z2),
z3+l(z1)l(z2))
mit l(x) =
dx,m
(Kronecker-Symbol),
wobei m die Position des »Mitnehmers« ist.
Die Periode ist also 26×25×26
= 16900.
Die Enigma-Gleichung
Die drei beweglichen Rotoren, die zunächst von rechts nach links durchquert
werden, werden in dieser Reihenfolge nummeriert. Ihr Zustand wird dann durch einen
Vektor
z = (z3, z2, z1)
beschrieben. Die zugehörige Rotorsubstitution werde mit
sz =
r3(z3) °
r2(z2) °
r1(z1)
bezeichnet. Die Umkehrwalze bewirkt eine Permutation p,
die eine echte Involution ist, d. h., kein Element wird auf sich selbst abgebildet.
Das Steckerbrett bewirkt ebenfalls eine Involution h.
Die Enigma-Substitution, die Gesamtsubstitution im Zustand
z, ist also
rz =
h-1 °
sz-1 °
p °
sz °
h
oder, ausführlich geschrieben, als Enigma-Gleichung:
ci =
rz(ai) =
h-1
tz1
r1-1
tz2-z1
r2-1
tz3-z2
r3-1
t-z3
p
tz3
r3
tz2-z3
r2
tz1-z2
r1
t-z1
h (ai).
Satz. Die Enigma-Substitution
rz im Zustand z ist eine
echte Involution.
|
Beweis. Involution:
rz-1 =
h-1 °
sz-1 °
p-1 °
sz °
h =
rz ,
da p-1 = p.
Echte Involution: Wäre
rz(s) = s für einen
Buchstaben s Î S, so wäre
sz
h(s) =
sz
h
rz(s) =
p
sz
h(s),
also p(t) = t für t =
szh(s)
Î S, im Widerspruch dazu, dass p
eine echte Involution ist.¨
Bemerkung. Dass h Involution ist,
wurde dabei nicht benötigt. Es wurde wegen der Einfachheit der Realisierung so
eingerichtet. Kryptographisch flexibler wären variable Verbindungsstecker zwischen
dem Eingangsrotor und Tastatur/Lampenfeld.
Autor: Klaus Pommerening, 14. Dezember 1999;
letzte Änderung: 10. Januar 2005.
E-Mail an
Pommerening@imsd.uni-mainz.de.