Colossus: the Missing Manual
Total Page:16
File Type:pdf, Size:1020Kb
Colossus: The Missing Manual Mark Priestley Research Fellow, The National Museum of Computing — Bletchley Park, UK Thomas Haigh University of Wisconsin—Milwaukee & Siegen University 1 serialized ciper text English Cipher text of one message plain text 1 0 0 1 1 (5 channel tape) 0 1 0 1 0 0 1 0 0 0 They were already 1 0 1 1 0 1 0 0 1 0 looking at him as approached in the distance, because he just stood out. He had quite an old face, 01101 11101 01011 0010 Knockolt Newmanry Newmanry Testery Testery Hut 3 Outstation Set Chi Wheels Generate Set Psi & Decrypt Translate Intercept, & Verify Counts “dechi” Motor Wheels Message Message Record & Verify Message (Colossus) (Tunny analog (Hand methods) (Tunny analog (Bilingual machine) machine) humans) dechi 1 0 0 1 1 0 27, 12, 30, 43, 8 Chi wheel 0 1 0 1 0 1 Psi & 55, 22 Sie sahen ihn schon 0 1 0 0 0 von weitem auf sich start posns. 1 0 1 1 0 1 0 0 1 0 motor start posns. zukommen, denn er for msg el auf. Er hatte ein 31, 3, 25, 18, 5 ganz altes Gesicht, aber wie er ging, German 1 0 0 1 1 0 0 1 0 1 0 1 0110001010... plain text 0 1 0 0 0 Newmanry 1 0 1 1 0 0011010100... 1 0 0 1 0 10011001001... 01100010110... 1 0 0 1 1 0 Break Chi 01011001101... 0 1 0 1 0 1 0110001010... 0 1 0 0 0 Wheels 1 0 1 1 0 Chi wheel 0011010100... 1 0 0 1 0 Testery 10011001001... patterns 01100010110... 1 0 0 1 1 0 (Colossus & 0 1 0 1 0 1 (apply to 01011001101... 0 1 0 0 0 Break Psi 1 0 1 1 0 “rectangling” 10110010111... 1 0 0 1 0 all messages method) & Motor Wheels 01101101001... 1 0 0 1 1 0 on that link) 0 1 0 1 0 1 Psi & motor 0 1 0 0 0 (manual 1 0 1 1 0 wheel patterns 1 0 0 1 0 methods (apply to incl. “Turingery”) Cipher text of multiple messages all messages from the same radio link on that link) WORKING PAPER SERIES | NO. 10 | OCTOBER 2019 Collaborative Research Center 1187 Media of Cooperation Sonderforschungsbereich 1187 Medien der Kooperation Working Paper Series Collaborative Research Center 1187 Media of Cooperation Print-ISSN 2567–2509 Online-ISSN 2567–2517 URN urn:nbn:de:hbz:467-15072 This work is licensed under the Creative Publication of the series is funded by the German Re- Commons Attribution-NonCommercial- search Foundation (DFG). No Derivatives 4.0 International License. This Working Paper Series is edited by the Collabora- The cover image shows Colossus in use as part of a tive Research Center Media of Cooperation and serves broader system of collaboration, including many teams as a platform to circulate work in progress or preprints of humans and machines and the media passed be- in order to encourage the exchange of ideas. Please tween them. contact the authors if you have any questions or com- ments. Copyright remains with the authors. The Working Papers are accessible via the website Universität Siegen, SFB 1187 Medien der Kooperation http://wp-series.mediacoop.uni-siegen.de or can be Herrengarten 3, 57072 Siegen, Germany ordered in print by sending an email to: workingpaper www.sfb1187.uni-siegen.de [email protected] [email protected] Like many modern electronic devices, Colossus did not come with a printed manual. We provide the missing infor- mation needed to get the most out of it. Colossus: The Missing Manual Mark Priestley Research Fellow, The National Museum of Computing — Bletchley Park, UK — [email protected] Thomas Haigh University of Wisconsin — Milwaukee & Siegen University — [email protected] Abstract There has until now been no comprehensive, conve- nient, and reliable description of the actual capabilities of the Colossus codebreaking machines used at Bletchley Park during World War II, the way they were used, and the jobs they were applied to. This gap in the literature has led to a lack of under- standing of the machines’ functionality and hence to exagger- ated claims about their capabilities. In this report we remove the Colossi as far as possible from their cryptanalytical context and consider them simply as computational devices. We give an architectural description of the whole family of related ma- chines, including the initial model known as “Heath Robinson”, and a functional description of the major capabilities of the sec- ond and final Colossus design. We include detailed examples of how the machines would have been set up to perform a range of typical tasks, and conclude with a discussion of their versatility, examining in particular the question of how useful they would have been once the war had ended. We present several examples of actual Colossus configurations and the historical output they produced, illustrating the cooperation between figures typed au- tomatically by Colossus and text and annotations added by the human operator. Keywords Colossus, Fish, Bletchley Park, cryptography, Robinson Introduction mechanisms that could be reconfigured to tackle scientific computing work. However, these program- A great deal has been written about the Colossus ming mechanisms have not been comprehensively machines, but descriptions of their architecture and described. functioning are usually embedded in detailed his- Most descriptions of Colossus begin with a mass tories of code breaking techniques and the work of of detail about code breaking techniques and work Bletchley Park. Although Colossus is usually called at Bletchley Park, focusing more on the details of a computer, and sometimes claimed as “the first codebreaking practice and the quirks of the Lorenz computer” (or, more precisely, as “the first program- machines Colossus was designed to attack than on mable electronic computer”) it has not been clearly the capabilities of the Colossus machines themselves. described from the viewpoint of computer architec- Our original intention was to reverse the usual struc- ture. Claims that Colossus had a crucial and often ture of Colossus discussion by presenting as little in- overlooked place in the history of computing hinge formation as possible about codebreaking practice. on the idea that, if not decommissioned at the end Instead, we aimed to produce the “missing manual” of the war and kept secret for decades thereafter, the for Colossus, explaining its capabilities and program- machines could have been applied to many comput- ming mechanisms in general terms.1 ing tasks beyond the specific codebreaking work for which they were designed. This is a counterfactual discussion, but the validity of such claims depends 1 This title is inspired by the “missing manual” series on the extent to which Colossus had programming of books written by David Pogue and others in the early 2 CRC Media of Cooperation Working Paper Series No. 10 October 2019 As our research progressed we discovered that Most Colossus family machines had two input there was a good reason for the previous tendency streams3; each input stream consisted of 5 bitstreams to embed descriptions of Colossus deep within dis- which we refer to as the “channels” of the input cussion of codebreaking techniques: Colossus was stream. (In contemporary discussions, the five chan- not programmable after all, and could not have use- nels were called “impulses.”) The 5 channels allowed fully been applied to tasks other than attacking the the encoding of the 32 characters in the conventional specific cipher for which it was designed without teleprinter alphabet used by the Germans but, as we considerable hardware modification. So we had to discuss below, the machines treated the channels as go much deeper than we originally anticipated into independent streams. the details of codebreaking to make its capabilities At least one of the input streams was read at high and architecture fully comprehensible. Nevertheless, speed from a paper tape loop. The source of the sec- we have attempted to honor our original objective as ond stream was the key difference between the Rob- far as possible. We begin with an abstract look at the inson branch of the family and the Colossus branch. Colossus family machines as information processing Robinsons read both streams optically from paper devices, describing Colossus as a bitstream processor tape. Colossi generated the second stream electroni- before explaining, to the minimum extent necessary, cally, based on bit patterns set up on control boards. its relationship to codebreaking practice and offering Most Colossus family machines printed out poten- a range of codebreaking configurations as examples tially relevant counts using a typewriter mechanism. of how the Colossi were actually used. In further pub- lications we plan to delve more deeply into that prac- tice by exploring the full range of surviving Colossus 1.1 A Note on Terminology output and associated materials. It is not quite accurate to talk about the reading or combining units of Colossus family machines manip- 1 The Colossus Family as Bitstream Processors ulating characters or numbers. They processed each channel as an independent series of bits, rather than The details of how Bletchley Park managed to retrieve interpreting bits from different channels as charac- key sequences from encrypted messages, and so read ters or binary coded numbers. Fish traffic, are fascinating but exceedingly complex. Colossus read five channels from its paper tape, For the purposes of this report, it is enough to know but it never combined these as the five constitu- that the machines in the Colossus family were origi- ent bits of a single number. In contrast, computers nally designed to automate a particular operation clump bits together in fixed-length chunks (such within this complicated procedure.