The Colossus

its purpose and operation

by Tony Sale

The machine age comes to Fish codebreaking

The mathematician Max Newman now came on the scene. He thought that it
would be possible to automate some parts of the process for finding the settings used for
each message.

He approached TRE at Malvern to design an electronic
machine to implement the double-delta method of finding wheel start
positions which Bill Tutte had devised. The machine was built at Dollis Hill
and was known as Heath Robinson after the cartoonist designer of fantastic
machines.

There were problems with Heath Robinson keeping two paper tapes in
synchrony at 1,000 characters per second. One tape had punched on to it
the pure Lorenz wheel patterns that the manual code breakers had
laboriously worked out. The other tape was the intercepted enciphered
message tape. The double-delta cross-correlation measurement was then
made for the whole length of the message tape. The relative positions then
moved one character and the correlation measurement repeated. The codebreaker
was looking for the relative position which gave the highest cross-correlation score — which hopefully would correspond to the correct Lorenz wheel
start position.

Heath Robinson worked well enough to show that Max Newman's concept
was correct. Newman then went to Dollis Hill where he was put in touch with
Tommy Flowers, the brilliant Post Office electronics engineer. Flowers went on to
design and build Colossus to meet Max Newman's requirements for a
machine to speed up the breaking of the Lorenz cipher.

Tommy Flowers' major contribution was to propose that the wheel patterns be
generated electronically in ring circuits thus doing away with one paper tape
and completely eliminating the synchronisation problem.

This required a vast
number of electronic valves but Tommy Flowers was confident it could be
made to work. He had, before the war, designed Post Office repeaters using
valves. He knew that valves were reliable provided that they were never
switched on and off. Nobody else believed him!

Colossus design started in March 1943. By December 1943 all the various
circuits were working and the 1,500 valve Mark 1 Colossus was dismantled,
shipped up to Bletchley Park, and assembled in F Block over Christmas 1943.
The Mark 1 was operational in January 1944 and successful on its first test
against a real enciphered message tape.

The contribution to D-Day

Colossus reduced the time to break Lorenz messages from weeks to hours.
It was just in time for the deciphering of messages which gave vital information to
Eisenhower and Montgomery prior to D-Day. These deciphered Lorenz
messages showed that Hitler had swallowed the deception campaigns, the
phantom army in the South of England, the phantom convoys moving east
along the channel; that Hitler was convinced that the attacks were coming
across the Pas de Calais and that he was keeping Panzer divisions in
Belgium. After D-Day the French resistance and the British and American Air
Forces bombed and strafed all the telephone and teleprinter land lines in
Northern France, forced the Germans to use radio communications and
suddenly the volume of intercepted messages went up enormously.

The Mark 1
had been rapidly succeeded by the Mark 2 Colossus in June 1944 and eight more
were quickly built to handle the increase in messages. The Mark 1 was
upgraded to a Mark 2 and there were thus ten Mark 2 Colossi in the Park by the
end of the war. By the end of hostilities, 63 million characters of high grade
German messages had been decrypted — an absolutely staggering output from
just 550 people at Bletchley Park, plus of course the considerable number of
interceptors at Knockholt, with backups at Shaftesbury and Cupar in
Scotland.

The Colossus Computer

Each of the ten Colossi occupied a large room in F Block or H Block in
Bletchley Park.

The racks were 90 inches, (2.3m), high of varying widths.
There were eight racks arranged in two bays about 16ft (5.5m) long plus the
paper tape reader and tape handler (known as the bedstead). The front bay
of racks, spaced 5ft (1.6m) from the rear bay, comprised from right to left, the
J rack holding the master control panel, the plugboard some cathode
followers and the AND gates. Next came the K rack which contained the very
large main switch panel together with the very distinctive sloping panel at the
front which was a duplicate patch panel for the thyratron rings. Next came the
S rack which held the relays used for buffering counter output and making up
the typewriter drive logic. The left hand rack at the front was the C rack which
held the counter control logic on the front and the decade counters on the
back.

The rear bay of Colossus contained four racks, the R rack holding the
staticiser and delta boards for the paper tape reader output and the K and S-wheel thyratron ring outputs, the M rack for the M-wheel staticisers and S-wheel motion logic. The very large W rack held, on one side all the thyratrons
making up the wheel rings, 501 in all, and on the other side the 12 thyratron
ring control panels. Also on the W rack were the link boards for the wheel
patterns and the uniselectors for setting wheel start positions. The end rack of
the back bay held the power packs. These were 50 volt Westat units stacked
up in series to give +200 volts to -150 volts. The total power consumption was
about 5 Kilowatts most of which was to the heaters of the valves.
The circuit layout was all surface mounting on metal plates bolted to the
racks. The valve holders were surface mounting with tag strips for the
components. This form of construction had much to commend it, firstly both
sides of a rack could be used, secondly wiring and maintenance were very
easy and lastly cooling of the valves was expedited by them being horizontal.

How Colossus worked

Colossus read teleprinter characters, in the international Baudot code, at
5,000 characters per second from a paper tape. These characters were
usually the intercepted cipher text which had been transmitted by radio. The
paper tape was joined into a loop with special punched holes at the beginning
and end of the text.

The broad principle of Colossus was to count throughout the length of the text
the number of times that some complicated Boolean function between the
text and the generated wheel patterns had either a true or false result. At the
end of text the count left on the counter circuits was dumped onto relays
before being printed on the typewriter during the next read through the text,
an early form of double buffering.

Colossus had two cycles of operation. The first one was controlled by the
optical reading of the sprocket holes punched between tracks 2 and 3 on the
paper tape. The sprocket signal was standardised to 40 microseconds wide.
The optical data from the paper tape was sampled on the back edge of the
standardised sprocket pulse as was the outputs from the rings of thyratrons
representing the Lorenz wheel patterns. The result of the logical calculation
was sampled on the leading edge for feeding into the counter circuits.

The second cycle of operations occurred at the beginning and end of the text
punched onto the paper tape. The paper tape was joined into a loop and
special holes were punched just before the start of text between channels
three and four (called the start ) and just after the end of text between
channels four and five (called the stop). This long cycle of operations began
with the electrical signal from the photocell reading the stop hole on the tape.
This stop pulse set a bistable circuit which stayed set until the optical signal
from the start hole was read. The setting of this bistable thus lasted for the
duration of the blank tape where the text was joined into a loop, typically
about 100 millisec. The first operation after the stop pulse was to release any
settings on the relays from the previous count. Next the new count was read
onto the relays. Then the counters and the thyratron rings were cleared and
then the thyratron rings were struck at the next start point to be tried. When
the bistable was reset by the start pulse, sprocket pulses were released to
precess the thyratron rings, to sample the data read from the paper tape and
to sample the calculation output to go to the counters.

The various components of Colossus were the optical reader system, the
master control panel, the thyratron rings and their driver circuits, the optical
data staticisors and delta calculators, the shift registers, the logic gates, the
counters and their control circuits, the span counters, the relay buffer store
and printer logic.

The optical reader system

In order to break the Lorenz codes in a reasonable time the cipher text had to
be repeatedly scanned at very high speed. This meant at least 5,000
characters per second and in the 1942 this implied hard vacuum photocells to
optically read the holes in the paper tape. The smallest photocells available
were some developed for proximity fuses in anti aircraft shells. Six of these in
a row meant an optical projection system to enlarge the image of the paper
tape about 10 times. Dr Arnold Lynch designed the paper tape reader and
used slits cut into black card to form a mask in front of the photocells.

The output from the data channels went to the staticiser and delta circuits.

The master control panel

This was where the start and stop pulses from the optical reader set and
reset the bistable. Monostable delay circuits generated the voltage
waveforms for releasing the relays, for staticising the counters, for resetting
the counters and thyratron rings, and for striking the rings. Gate circuits
controlled the flow of sprocket pulses.

The thyratron rings and their driver circuits

These circuits were the most complex on Colossus.

Thyratrons are gas-filled
triodes which strike a discharge arc between anode and cathode when the
grid voltage is raised to allow electrons to flow. This discharge when struck
continues quite independent of the grid voltage. Thus the thyratron acts as a
one-bit store. It can only be switched off by driving both the anode and the
grid negative with respect to the cathode. To construct a shift register with
thyratrons requires that the striking of the next thyratron in the ring also
quenches the previous thyratron. This leads to a biphase circuit with anodes
of alternate thyratrons connected together and the grid voltage partially
biased by the cathode voltage of the previous thyratron.

The complication arises when a Lorenz wheel contains an odd number of
setting lugs. The thyratron ring controller for this requires a complete set of
circuits to handle just the odd thyratron in order to get back to the biphase
circuits for the rest of the ring. The thyratrons in a ring conduct sequentially
stepped round by the sprocket pulses. Each thyratron cathode is brought out
to a patch panel which allows the cathode pulse to be connected to a
common output line when a link is plugged into the patchboard. Thus as the
ring precesses round a sequence of pulses appears on the common output
line. By selecting the link positions this sequence can replicate the
mechanical lugs set on the Lorenz wheel. Alongside the patch panel is a
Uniselector which selects the thyratron cathode to which the ring strike pulse
goes. This is the start position of the ring when sprocket pulses come in at the
start of text.

The common line output went to the staticiser and delta circuits.

The staticisors and delta circuits

These circuits take the raw signals from the paper tape reader and the
thyratron rings, sample them on the back edge of the clock pulse and set
them to standard voltages of ± 80 v. Also on these boards are circuits
giving a delay of one clock pulse. This is achieved with integrator capacitors
which "hold" the previous data signal for long enough for it to be sampled on
the next sprocket pulse. This delayed signal is available as an output but also
on the board is an adder circuit which produces the delta signal, i.e. a 'one'
when current data is different from previous, and a 'zero' when current equals
previous.

The shift registers

These are the same circuits used as used on the delta boards, just
integrators sampled on the next sprocket pulse.

Up to 5 shift elements could
be connected in cascade giving a 5 bit shift register. This is thought to be the
first recorded design or use of a shift register. Some of the computational
algorithms used this window on previous data to improve the cross-correlation
measurement.

The logic gates

Colossus was provided with AND and OR gates which could be plugged
together in any combination.

The counter and counter control circuits

The decade counter circuits were based on a pre-war design by Wynn-
Williams. They used a divide by two circuit followed by a ring of five pentodes.
Four decades were required for each of the five counters used and each
control circuit covered four decades of counters. The inputs to the control
circuits were the output from the logic gates, the sprocket pulse for strobing
and the reset pulse from the master control panel. Also on the control panels
were comparator circuits between the outputs of the decade counters and
switches on another panel. These switches could be set to any number in the
range 0 to 9999. The output of the comparator could be included in the logic
calculations thus for instance suppressing printing of scores below a set
value.

The span counters

These were the same design of counters and counter control circuits with
switches on another panel which could be set in the range 0 to 9999. The
purpose of the span counters was to be able to ignore sections of the cipher
text which were corrupted, possibly due to fading radio signals. The
comparator output was used to gate the sprocket pulses which went to the
main counter controllers, cutting off these pulses stopped the sampling of the
logic calculation and thus ignored the section of text covered by the span
counters.

The relay buffer store and printer logic.

Latching relays held the ending count on the decade counters. The start
positions of the thyratron rings and the count for the previous run through the
text are clocked out sequentially on to the typewriter by the printer relay and
uniselector logic.

Programming Colossus

Programming of the cross-correlation algorithm was achieved by a
combination of telephone jack-plugs, cords and switches. The main plug
panel was on the rack nearest to the paper tape reader. The direct and delta
signals from the paper tape reader and the K-wheel thyratron rings were on
this panel. The changeover from direct to delta could also be achieved by
switches. Also on the main plug panel were the input and output sockets for
the AND gates and the so called "Q" sockets which took the calculated output
to the main switch panel on the next rack to the left. This very large switch
panel allowed signals to be combined through further logic gates and the
results switched to any of the five result counters.

As an example take the simple double-delta algorithm as devised by Bill
Tutte. This requires two wheels to be run simultaneously: so take K4 and K5.

First the delta outputs from channel 5 of the paper tape reader is combined
in an AND gate with the delta output of the K5 thyratron ring. Then this result
is ANDed with the AND output of delta channel 4 and the delta output of the
K4 thyratron ring. This result is plugged to Q1 and on the switch panel Q1 is
switched to counter 1. The output can be negated before being counted so
that the count can represent either the number of times the double-delta
calculation equals one, or the number of times it equals zero.

The end of Colossus

After VJ Day, suddenly it was all over. Eight of the ten Colossi were
dismantled in Bletchley Park. Two went to Eastcote in North London and then
to GCHQ at Cheltenham. These last two were dismantled in about 1960 and
in 1960 all the drawings of Colossus were burnt. Of course its very
existence was kept secret.