[JoGu]

Cryptology

The Control Logic of a Rotor Machine

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

Here we describe five approaches to the control of the rotor movement. The first three are streamlined versions of real control mechanisms that in practice are implemented in a more complex way: the odometer, the gear drive with gaps, the gear drive with different number of cogs. The fourth example is the ultimate mechanism: the pseudorandom movement, and the fifth, a historical one: the HEBERN mechanism. For the movement of the Enigma we refer to a later section. The mathematical part of this section contains a more detailed description of the algorithms implemented by these mechanisms.

The insight that the control of the movement is the essential ingredient for a secure rotor machine is apparently due to FRIEDMAN after he solved the HEBERN machine. He himself, together with his collaborator ROWLETT, then in several steps developed the ultimate rotor machine, the SIGABA.


Example 1: The Odometer Logic

The rotors step like in a mechanical counter or electricity meter. Assume the rotors are mounted as in the following figure. The rightmost rotor moves by one position for each step. Each rotor, after completing one revolution, by some kind of protrusion makes its left neighbor move by one position.

[Odometer logic]

Remarks

  1. The rightmost rotor, rotor number q, is a »fast« rotor, it moves with every step.
  2. The leftmost rotor, number 1, is a »slow« rotor. It moves almost never, or only for very long messages. For this reason it makes little sense to use more then say three rotors. The effect of all excess rotors together only amounts to a fixed substitution. In the best case it could move once during encryption effecting two different fixed substitutions.
  3. Of course we could also implement the converse stepping where rotor 1 is fast and rotor q is slow.
  4. There are two possible directions of rotor movement. For both of them we use the notion »odometer logic«.


Example 2: Gaps

An irregular movement without long breaks for single rotors is provided by a gear drive that has different gaps for the single rotors. The figure shows the principle of this control logic. For an implementation we have several mechanical options, for example by a pin wheel that allows a flexible configurarion of pins and gaps.

[Gear drivce with gaps]

Another way to use gap wheels is turning them around a full turn in each step. Then the each of the rotors moves a number of steps given by number of cogs on the gear drive. This logic is equivalent with Example 3 below.


Example 3: Different Gear Wheels

Each rotor is driven by its own gear wheel. These share a common axis and make a full turn in each step. Each rotor moves by as many positions as there are cogs on the corresponding wheel. The states occur with a period of the lowest common multiple of the numbers of cogs on each wheel. Therefore one usually chooses pairwise coprime numbers, as in the sequence 17, 19, 21, 23, 25, 29, 31, 32.

The first models of Enigma (A and B) had a control like this with the numbers 11, 15, 17, 19.


Example 4: Pseudorandom Stepping

The rotor stepping is controlled by a (pseudo-) random generator, that is a mechanism or an algorithm that generates numbers indinguishable from pure random as generated with the help of dice. This is easy for a computer simulation. For an (electro-) mechanical rotor machine one can use a key generating mechanism such as in one of the (later) HAGELIN machines.

FRIEDMAN was the first to detect the weaknesses of a regular rotor stepping when he analyzed the then current rotor machines in the 1920's. He came up with the idea of an irregular stepping by a pseudorandom mechanism. First he tried a punched paper tape, but this proved not robust enough. Then around 1940 ROWLETT had the idea of realizing the stepping control by another set of rotors. Thus the american super rotor machine SIGABA was invented.

For details see the book

Stephen J. Kelly: Big Machines. Aegean Park Press, Walnut Creek 2001, ISBN 0-89412-290-8.


Example 5: The Hebern Machine

The HEBERN machine has 5 rotors and uses the standard alphabet A...Z. The stepping follows an odometer logic, but with a complex mechanism that doesn't affect the neighboring rotor but another one, in more detail:

Characteristic features


Author: Klaus Pommerening, 2000-Jan-01; last change: 2014-Feb-22.