You may recall that the wheel of an Enigma machine contained a ring
or tyre round the core which held the scrambled cross wiring. This ring
could be turned and then clipped into one of 26 positions. (The Ringstellung).
The ring also had one or two notches cut into it which allowed the carry
of its movement to the next wheel on its left.
Thus the core cross wiring position of an Enigma machine was arrived at through
two components, the amount the ring had been turned relative to the core
and then the amount the joined ring and core had been turned to set the wheel
start letter. To be able to decrypt all the intercepted messages for
a 24 hour period the code breakers had to find the Ringstellung for that
period but the Bombe could only find the core wiring positions which
satisfied the menu. The convention was to assume a constant Ringstellung
of ZZZ for the Bombe.
In deriving the menu it was assumed that the cipher/crib pair started at
ZZZ and incremented going to the right, thus offsets like ZAG. When
the Bombe stopped its drums would indicate a core position of say GUD
as being equivalent to the first element in the menu. But to check the
stop against the menu, an Enigma machine needed to be set up with
the correct wheels and Ringstellung ZZZ. Then the wheel starts turned
to GUD and then further turned by the menu offset to reach the point in
the cipher/crib length that was to be tested. This was quite a process
and liable to error so when the Checking Machine was devised to handle
large numbers of stops more quickly a different approach was used.
The Bombe was provided with three extra drums to the right of the centre
row of Enigmas. These extra readout drums were lettered so as to show
not the core wiring position but 26-(core position), i.e. the alphabet
went round in the opposite direction to that on the Enigma drums. The
reason for doing this was so that rotatable discs on top of the drums
used on the Checking Machine could be set to this reciprocal set of
letters and then the drums could be just turned to the offset letters
of the menu in order to check the derived Steckers. (the extra discs
just did the letter offset calculation for the operator).
Unfortunately in some 1940's reports the term 'Ringstellung' is used
for the Bombe stop read out from these extra drums. It is not anything
to do with the true Enigma Ringstellung the code breaker needs.
There is yet another complication with Bombe readouts. In 1939 the
core wiring of wheels 4 and 5 was measured electrically on an incorrect
datum. This caused the first set of Zygalski punched sheets to be incorrect
for wheels 4 and 5 and caused some consternation. The error persisted
and the wiring on Bombe wheels 4 and 5 is also out by one letter for wheel
4 and two letters for wheel 5.
The Bombe simulator calculates the correct core wiring positions using
the correct wheel wiring datum for all wheels. This is what is shown as
'wheel letters' on various windows on the displays. But the US Report on
the British Bombe gives the extra 3 wheel reciprocal readouts as the stop
so the simulator calculates these from the core result and shows them as
the 'Stop'.
For the record the formula is:
stop:=25-core;
IF wheel="4" THEN
stop:=stop-1;
ELSIF wheel="5" THEN
stop:=stop-2;
END;
IF stop<1 THEN
stop:=stop+26;
END;
I have avoided this problem on the rest of the codesandciphers web
site by just using core wiring references and not showing the actual
Bombe readout on the Javascript Bombe simulator. However having to
recreate the actual stops shown in the US Bombe Report forces this
explanation.
The simulation of the Checking Machine is programmed to work correctly
with the Bombe stops as shown on the three output drums.
But remember that when setting up a stop on a real Enigma machine the
stop needs to be converted to Enigma wheel positions.
After this slight diversion proceed to derive the Steckers from a stop
using the Checking Machine and some more complex menus.