[JoGu]

Kryptologie

Rotor - Mathematische Beschreibung

a7Hzq .#5r<
kÜ\as TâÆK$
ûj(Ö2 ñw%h:
Úk{4R f~`z8
¤˜Æ+Ô „&¢Dø

Mathematische Beschreibung eines Rotors

Das Alphabet S wird wieder mit Z/nZ, den ganzen Zahlen modulo n identifiziert.

Sei r die monoalphabetische Substitution, die durch die Grundstellung des Rotors bewirkt wird.

In der um eine Stelle rotierten Position (siehe obiges Beispiel) wird dann die Substitution

r(1)(a) = r(a-1) + 1
ausgeführt. [Dies ergibt die Zeile 1 in der Substitutionstabelle.]

Bezeichnet man mit t die Verschiebung des Standard-Alphabets S = Z/nZ um 1 (also t(a) = a+1), so wird die Formel zu

r(1)(a) = trt-1(a).

Durch Induktion folgt sofort Teil (i) von:

Satz (von den rotierten Alphabeten). (i) Bewirkt ein Rotor in Grundstellung die Substitution mit dem Primäralphabet r, so bewirkt er in der um t Stellen rotierten Position die Substitution mit dem Alphabet
r(t) = ttrt-t.
Insbesondere sind alle rotierten Alphabete vom gleichen Zykel-Typ.

(ii) In der zugehörigen polyalphabetischen Substitutionstabelle enthalten die Diagonalen jeweils ein (zyklisch fortgesetztes) Standard-Alphabet.

Der Beweis von Teil (ii) folgt direkt, wenn man die Aussage als Formel interpretiert:

r(i)(j) = tirt-i(j) = r(j-i) + i = r(i-1)(j-1) + 1.¨

Erläuterung zum »Zykel-Typ«: Jede Permutation lässt sich, eindeutig bis auf die Reihenfolge, als Produkt von disjunkten Zykeln = zyklischen Permutationen schreiben. Der Zykel-Typ ist das n-Tupel

(l1, ..., ln)    mit   li = Anzahl der Zykeln der Länge i,
wobei n allgemein die Größe der zu permutierenden Menge, bei uns also das Alphabet S, ist.

[Insbesondere ist l1 + 2l2 + ... + nln = n.]


Hier gibt's ein Perl-Programm, das eine Ein-Rotor-Chiffre durchführt.


Autor: Klaus Pommerening, 5. Dezember 1999; letzte Änderung: 18. Dezember 1999

E-Mail an Pommerening@imsd.uni-mainz.de.