The Bletchley Park Codebreakers
Page 38
By the end of the war in Europe, ten Colossi were working in the Newmanry, all built by Flowers’ team at Dollis Hill, and an eleventh was partly assembled. Most Colossi were broken up once hostilities ceased. Some of the electronic panels – counters, shift-registers, and so forth – were taken to Newman’s newly created Computing Machine Laboratory at Manchester University, once all traces of their original use had been removed. Two intact Colossi was retained by GCHQ at Cheltenham. The last Colossus is believed to have stopped running in 1960. During its later years it was used for training purposes.
Those who knew of Colossus were forbidden by the Official Secrets Act from sharing this knowledge. A long time passed before the secret came out that Flowers had built the first working electronic computer. During his lifetime (he died in 1998) he never received the full recognition he deserved. Many history books, even recently published ones, claim that the first electronic digital computer was an American machine built by J. Presper Eckert and John Mauchly – the ENIAC. Started in 1943, the ENIAC was designed to calculate the numerical tables used when aiming artillery in the field. However, the ENIAC was not operational until 1945. Before the 1970s, few had any idea that electronic computation had been used successfully during the Second World War. In 1975, the British Government released a set of captioned photographs of Colossus. Also during the 1970s, articles appeared by two former Newmanry codebreakers. Jack Good and Donald Michie, giving the barest outlines of Colossus, and historian Brian Randell published material derived from interviews with Flowers, Newman, Good, Michie, and others. By 1983, Flowers had received clearance from the British Government to publish an account of the hardware of Colossus I. Details of the later Colossi, and of how Flowers’ computing machinery was actually used by the cryptanalysts, remained secret. There matters stood, more or less, until 1996, when the US Government released numerous wartime documents concerning Colossus and the cryptanalytical processes in which it figured. Even then, however, one historically vital document, the ‘General Report on Tunny’, remained classified. This detailed two-volume account of the cryptanalytical work involving Colossus was written in 1945 by Good, Michie, and their colleague Geoffrey Timms. Thanks largely to Michie’s tireless campaigning, this report was declassified in 2000, finally ending the secrecy and enabling the full story of Colossus to be told for the first time.
In the original sense of the word, a computer was not a machine at all, but a human being – a mathematical assistant whose task was to calculate by rote, in accordance with a systematic method supplied by an overseer prior to the calculation. The computer, like a filing clerk, might have little detailed knowledge of the end to which his or her work was directed. Many thousands of human computers were employed in business government, and research establishments, doing some of the sorts of calculating work that nowadays is performed by electronic computers.
The term ‘computing machine’ was used increasingly from the 1920s to refer to small calculating machines which mechanized elements of the human computer’s work. For a complex calculation, several dozen human computers might be required, each equipped with a desk-top computing machine. By the 1940s, however, the scale of some calculations required by physicists and engineers had become so great that the work could not easily be done in a reasonable time by even a roomful of human computers with desk-top computing machines. The need to develop high-speed large-scale computing machinery was pressing.
During the late 1940s and early 1950s, with the advent of electronic computing machines, the phrase ‘computing machine’ gave way gradually to ‘computer’. As Turing stated, the new machines were ‘intended to carry out any definite rule of thumb process which could have been done by a human operator working in a disciplined but unintelligent manner’. During the brief period in which the old and new meanings of ‘computer’ co-existed, the prefix ‘electronic’ or ‘digital’ would usually be used to distinguish machine from human.
A computer, in the later sense of the word, is any machine able to do work that could, in principle, be done by a human computer. Mainframes, laptops, pocket calculators, palm-pilots – all are computing machines, carrying out work that a human rote-worker could do, if he or she worked long enough, and had a plentiful enough supply of paper and pencils.
The Victorian Charles Babbage, many decades ahead of his time, was one of the first to grasp the huge potential of the idea of using machinery to compute. Babbage was Lucasian Professor of Mathematics at the University of Cambridge from 1828 to 1839. Babbage’s long-time collaborator was Ada, Countess of Lovelace (daughter of the poet Byron). Her vision of the potential of computing machines was perhaps in some respects more far-reaching even than Babbage’s own. Lovelace envisaged computing machines going beyond pure number-crunching, suggesting that one of Babbage’s planned ‘Engines’ might be capable of composing elaborate pieces of music.
In about 1820 Babbage proposed an ‘Engine’ for the automatic production of mathematical tables (such as logarithm tables, tide tables, and astronomical tables). He called it the ‘Difference Engine’. This was, of course, the age of the steam engine, and Babbage’s Engine was to consist of more accurately machined versions of the types of components then found in railway locomotives and the like – brass gear wheels, rods, ratchets, pinions, and so forth. Decimal numbers were represented by the positions of 10-toothed metal wheels mounted in columns. Babbage exhibited a small working model of the Engine in 1822. He never built the full-scale machine he had designed, but did complete several parts of it. The largest of these – roughly 10 per cent of the planned machine – is on display in the London Science Museum. Babbage used it successfully to calculate various mathematical tables. In 1990, his ‘Difference Engine No. 2’ was finally built from the original design and is also on display at the London Science Museum – a glorious machine of gleaming brass.
Babbage also proposed the ‘Analytical Engine’, considerably more ambitious than the Difference Engine. Had it been completed, the Analytical Engine would have been an all-purpose mechanical digital computer (whereas the Difference Engine could perform only a few of the tasks that human computers carried out). A large model of the Analytical Engine was under construction at the time of Babbage’s death in 1871, but a full-scale version was never built. The Analytical Engine was to have a memory, or ‘store’ as Babbage called it, and a central processing unit, or ‘mill’. The behaviour of the Analytical Engine would have been controlled by a program of instructions contained on punched cards connected together by ribbons (an idea Babbage adopted from the Jacquard weaving loom). The Analytical Engine would have been able, like Colossus, to select from alternative actions on the basis of the outcomes of its previous actions – a facility nowadays known as ‘conditional branching’.
Babbage’s idea of a general-purpose calculating engine was well known to some modern pioneers of automatic calculation. In the US during the 1930s, Vannevar Bush and Howard Aiken, both of whom built successful computing machines in the pre-electronic era, spoke of accomplishing what Babbage set out to do. Babbage’s ideas were remembered in Britain also, and his proposed computing machinery was on occasion a topic of lively mealtime discussion at Bletchley.
Two key concepts in the development of the modern computer are the ‘stored program’ and the ‘universal computing machine’. As everyone who can operate a personal computer knows, the way to make the machine perform the task you want – word-processing, say – is to open the appropriate program stored in the computer’s memory. Life was not always so simple. The Analytical Engine did not store programs in its memory. Nor did Colossus. To set up Colossus for a different job, it was necessary to modify by hand some of the machine’s wiring. This modification was done by means of switches and plugs. The larger ENIAC was also programmed in this way. It was something of a nightmare: in order to set up the ENIAC for a fresh job, the operators would have to spend a day or more rerouting cables and setting switches. Colossus, ENIAC, and their like are called ‘p
rogram-controlled’ computers, in order to distinguish them from the modern ‘stored-program’ computer.
This basic principle of the modern computer, i.e. controlling the machine’s operations by means of a program of coded instructions stored in the computer’s memory, was thought of by Alan Turing. At the time, Turing was a shy, eccentric student at Cambridge University. He went up to King’s College in October 1931 to read Mathematics and was elected a Fellow of King’s in the spring of 1935, at the age of only twenty-two. In 1936 he left England to study for a Ph.D. in the United States, at Princeton University, returning in 1938. Turing’s ‘universal computing machine’, as he called it – it would soon be known simply as the universal Turing machine – emerged from research that no one would have guessed could have any practical application. In 1936, Turing was working on an obscure problem in mathematical logic, the so-called ‘decision problem’, which he learned of from lectures on the foundations of mathematics and logic given by Newman. While thinking about this problem, Turing dreamed up an abstract digital computing machine which, as he said, could compute ‘all numbers which could naturally be regarded as computable’.
The universal Turing machine consists of a limitless memory in which both data and instructions are stored, in symbolically encoded form, and a scanner that moves back and forth through the memory, symbol by symbol, reading what it finds and writing further symbols. By inserting different programs into the memory, the machine can be made to carry out any calculation that can be done by a human computer. That is why Turing called the machine universal.
It is not known whether Turing had heard of Babbage’s work when he invented the universal Turing machine. In their specifics, the Analytical Engine and the universal Turing machine are chalk and cheese. Turing later emphasized that the Analytical Engine was universal (a judgement that was possible only from the vantage point of the mathematical theory of universal machines that Turing himself developed). Nevertheless, there is an important logical difference between the two types of machine. In Turing’s machine, but not Babbage’s, program and data both consist of symbols in memory, and the machine works on both using exactly the same operations. Reading the program is no different from reading the data. This is the stored-program concept. Implicit in the concept is the possibility of the computer operating on and modifying its own program as it runs, just as it operates on the data in its memory. Turing was later to suggest that this ability of the stored-program computer to modify its own instructions might form the mechanism for computer learning – a topic now at the forefront of research in Artificial Intelligence.
In 1936, the universal Turing machine existed only as an idea. Right from the start, Turing was interested in the possibility of building such a machine, as to some degree was Newman. But it was not until their Bletchley days that the dream of building a miraculously fast general-purpose computing machine took hold of them.
The transition from cogwheel computers to electronic computers took just over a century. Various largeish, purely mechanical computing machines were built, including the Scheutz Difference Engines, modelled on Babbage’s, and Bush’s (analogue) Differential Analyser, completed at the Massachusetts Institute of Technology in 1931. It took a skilled mechanic equipped with a lead hammer to set up the mechanical Differential Analyser for each new job.
The next generation of computing machines used electro-mechanical technology. Their basic components were small, electrically driven switches called ‘relays’. A relay contains a mechanical contact-breaker, consisting of a moving metal rod that opens and closes an electrical circuit. A current in a coil is used to move the rod between the ‘on’ and ‘off’ positions. A number of electro-mechanical program-controlled digital computers were built before and during the war. Turing himself built a very small electro-mechanical multiplier (it multiplied binary numbers) while at Princeton.
Electro-mechanical is not electronic. Electronic valves (called ‘vacuum tubes’ in the US) operate very many times faster than relays, because the valve’s only moving part is a beam of electrons. Relays are too slow for effective large-scale general-purpose digital computation. It was the development of high-speed digital techniques using valves that made the modern computer possible. Valves were used originally for purposes such as amplifying radio signals. The output would vary continuously in proportion to a continuously varying input, for example a radio signal representing speech. Digital computation imposes different requirements. What is needed for the purpose of representing the two binary digits, 1 and 0, is not a continuously varying signal but plain ‘on’ and ‘off’ (or ‘high’ and ‘low’). It was the novel idea of using the valve as a very fast switch, producing pulses of current – pulse for 1, no pulse for 0 – that was the route to high-speed digital computation. At the outbreak of war in 1939, only a handful of electrical engineers knew anything about this use of valves. One was Flowers, who estimated that there were no more than ten or twenty others in the whole world. When he was summoned to Bletchley – ironically, because of his knowledge of relays, a standard component in telephone equipment – he turned out to be the right man in the right place at the right time.
Flowers had joined the Telephone Branch of the Post Office in 1926, after an apprenticeship at the Royal Arsenal in Woolwich, well known for its precision engineering. He entered the Research Branch at Dollis Hill in 1930 (where he achieved rapid promotion). On his own initiative, he explored the feasibility of using valves to control the making and breaking of telephone connections. His work in this area was, it appears, the earliest extensive use of valves as devices for generating and storing pulses. At this time, the common wisdom was that valves could never be used satisfactorily in large numbers, for they were unreliable and in a large installation too many would fail in too short a time. However, this opinion was based on experience with radio receivers and the like, which were switched on and off frequently. What Flowers discovered was that, so long as valves were switched on and left on, they could operate reliably for very long periods. He recognized that valves were not only potentially very much faster than relays but also, being less prone to wear, actually more reliable.
In 1934, Flowers put the new electronic techniques he had developed into use, in electronic equipment for the automatic control of connections between telephone exchanges. He used 3,000–4,000 valves in an installation controlling 1,000 telephone lines, each line having three or four valves attached to its end. Flowers’ design was accepted by the Post Office and the equipment went into limited operation in 1939. During 1938–9 he worked on an experimental digital high-speed electronic data store for use in telephone exchanges. His overall aim, achieved only much later, was that electronic equipment should replace all the relay-based systems in telephone exchanges. As Flowers remarked, at the outbreak of war with Germany he was possibly the only person in Britain who realized that valves could be used reliably on a large scale for high-speed computing.
Turing had been working on the problem of Enigma for some months before war broke out. In the period when GC&CS was still located in London, before the move to Bletchley Park, Turing would pay occasional visits to the office in order to compare notes on Enigma with Dilly Knox. At the outbreak of hostilities in September 1939, Turing took up residence at Bletchley. It was here that he would meet Flowers. By the beginning of November, Turing’s design for the British bombe – a radically improved form of the Polish bomba (both were electro-mechanical) – was in the hands of the engineers at the British Tabulating Machine Company. During the attack on Enigma, Turing approached Dollis Hill to build a relay-based machine to operate in conjunction with the bombe. Dollis Hill sent Flowers to Bletchley. In the end, the machine Flowers built was not used, but Turing was impressed with Flowers, who began thinking about an electronic bombe, although he did not get far.
Newman, meanwhile, spent the early years of the war in Cambridge, at St John’s College, where he had been a Fellow since 1923. He and Turing kept in close touch aft
er Turing left Cambridge for Bletchley, writing letters about mathematical logic. (Turing’s first letter to Newman, written in March 1940, starts: ‘Dear Newman, Very glad to get your letter, as I needed some stimulus to make me start thinking about logic’.) Despite the pressures of codebreaking, Turing found time to collaborate with Newman on an academic paper, published in March 1942. In 1942, Newman was beckoned by Bletchley. He wrote to the Master of St John’s to request leave of absence and at the end of August joined Lieutenant-Colonel John Tiltman’s Research Section. Tiltman’s group was engaged in the attempt to break the German teleprinter cipher machine that the British codenamed ‘Tunny’.
The Germans developed several different types of encrypting machine for use in association with teleprinter equipment; the British operators first intercepted enciphered teleprinter messages during the second half of 1940. The British gave these teleprinter cipher machines the general cover name ‘Fish’. Three different types of Fish were known to GC&CS: Tunny, Sturgeon and Thrasher. GC&CS focused on Tunny (the Lorenz SZ 40, succeeded by the SZ 42), which was used mainly by the German Army.
An initial experimental Tunny link went into operation in June 1941 between Berlin and Athens/Salonika. By D-Day in 1944 there were twenty-six different links. Bletchley gave each link a piscine name: Königsberg–South Russia was Octopus, Berlin–Paris was Jellyfish, Berlin–Zagreb was Gurnard, and so on. The two main central exchanges were Königsberg for the Eastern links and Strausberg, near Berlin, for the Western links. The other ends of the links were usually mobile. Each mobile Tunny unit consisted of two trucks. One carried the radio equipment. The other carried teleprinter equipment and two Tunny machines, one for sending and one for receiving. The links carried messages from Hitler and the High Command to the various Army Group commanders in the field – intelligence of the highest grade.