Talk:Colossus computer

From Wikipedia, the free encyclopedia

WikiProject on Cryptography This article is part of WikiProject Cryptography, an attempt to build a comprehensive and detailed guide to cryptography in the Wikipedia. If you would like to participate, you can choose to edit the article attached to this page, or visit the project page, where you can join the project and see a list of open tasks.
WikiReader Cryptography It is intended that this article be included in WikiReader Cryptography, a WikiReader on the topic of cryptography. Help and comments for improving this article would be especially welcome. A tool for coordinating the editing and review of these articles is the daily article box.

To-do list for Colossus computer:

edit - history - watch - refresh
  • Describe difference between Mk I and Mk II
  • Describe some of the attacks that the Colossus was used for
  • Describe the physical layout of the machine (M-rack, W-Rack, S-Rack etc); other physical components (printer, counter)
  • Describe logical architecture

Contents

[edit] Turing's Colossus participation

According to History of computing, Alan Turing was a major participant in the development of Colossus


He was a major participant in the code breaking efforts at Bletchley Park and contributed several mathematical insights, both to breaking the Engima code and the Lorenz code. He also built the "bombe" there, an electromechanical code breaking device for the Enigma code. He didn't play a major role in design or construction of Colossus; that was Newman's deal.

See http://www.computer50.org/mark1/turing.html and http://www.turing.org.uk/turing/scrapbook/ww2.html --AxelBoldt

--- Okay, I'll update Alan Turing's article to include that paragraph...

[edit] not a general purpose computer

IIRC, describing the Colossus as "general-purpose" and "programmable" is stretching things considerably. --Robert Merkel 14:14, 1 Sep 2003 (UTC)

That's true. The main alterable feature was the set of Boolean functions used in the cross-correlation algorithm, which didn't really amount to a "program". The rest of the functions were fixed. It would be more accurate to say that it was a fixed-program, single-purpose computer with variable coefficients, and certainly not a stored-program computer, which is what most people mean today by "computer". -- Heron 14:57, 22 Jul 2004 (UTC)

[edit] Turing complete not important

This prargraph is not convincing:

Whilst Colossus featured (limited) programmability and was the first of the electronic digital machines to do so, it was not a true general purpose computer, not being Turing-complete. It was not then realized that Turing completness was significant, and most of the pioneering modern computing machines (eg, the ABC machine, the Harvard Mark I electro-mechanical relay machine, the Stiebitz Bell Labs relay machines, Konrad Zuse's first two designs, ...) weren't either.

Being Turing complete is not a big deal. Even Conways game of life has been shown to be Turing Complete. It has been shown that the Zuse Z3 was Turing complete. This machine did not differ that much from the Analytical engine or the ABC. It is quite possible that the Colossi were Turing complete. At least theorectically. In that it could have been possible to program the machine to perform an arbitary processing task. The issue of theoretical Turing Completion is over rated. The real issue is practical Turing Completion. In that respect all these machines failed to make the grade and so did the Zuse Z3. It was not until the EDSAC that a machine became practically Turing Complete

I would tend to doubt that the Colossi were Turing-complete, actually. For one, the only test/compare capability they had was whether or not to print out counters at the end of each loop if they were greater than a certain hand-set value. For another, there was no real program, and certainly no conditional branch. They really were incredibly specialized to the job of collecting statistical information used to break a particular coding machine. Very ground-breaking technology, but not ground-breaking architecture. Noel (talk) 02:12, 16 Jan 2005 (UTC)

However one may judge the importance of Turing completeness in this or that early machine, the Colossus were in fact the first programmable digital electronic computers. They were anticipated in each of these dimensions by other designs (programmability by the Analytical Engine; electronic by the ABC machine and some of the analog computers; digital by the Analytical Engine and the ABC machine), but in combination, Newman and crew were first. Their programability (even if limited) made them general purpose machines in a non-trivial sense.

The point about Turing Completeness is important only by way of getting across a distinction amongst various computing designs -- one that is important theoretically if not in practice (for all machines since the EDVAC). Readers may benefit, if marginally, from inclusion of this point. At least they will have links to follow if they're curious. Thus, I judge it to be 'mostly harmless'. I would keep the paragraph. ww 16:31, 5 Apr 2004 (UTC)

The amount of programmability was really limited. About the only thing that was "programmable" (configurable, really) in any general way was which bit conditions (and combinations thereof) would cause counters to increment. The rest was all very specialized to the FISH cipher; e.g. the ability to configure what the bit patterns were on the various wheels which generated the keystream. Hardly "progamming" as it's thought of today. It is really incorrect, IMO, to compare the programmability of Babbage's Analytical engine (which was real programmability, in the modern sense) with the limited configurability (which I think is a much more appropriate word) of the Colossus. Noel (talk) 02:12, 16 Jan 2005 (UTC)

[edit] never turned off claim not plausible

Having been one whose experience with electronic hardware goes far enough back to have burned fingers on hot tubes, I find this claim rational, but not very believable. It is certainly true that thermal stresses at power on and power off time reduced tube life, and so avoiding those stresses by avoiding power cycles is a rational approach. However, real equipment must be powered down to make repairs, add new attachments, fiddle around and so on. Since nearly all tube equipment uses high voltages, working on powered up tube gear is most always dangerous. I cannot believe the Colossi were turned on and stayed on till the end of the War. Unless someone can provide some evidence for this, I'll come back and revise after a decent interval. ww 15:21, 7 Jul 2004 (UTC)

Several websites (including [1]) repeat the claim. — Matt 15:49, 7 Jul 2004 (UTC)
That may be so, but the ones I can trace all seem to stem from a claim reported from an interview with Sale. I suspect an underlying exagerration for effect taken (wrongly) by a reporter. Tube equipment had regular failures -- it ran hot (induces failures, perhaps most inevitably in economically manufacturable capacitors), it used considerable current (induces failures, largely from heating effects), high voltages (induces failures), it was dangerous to work on if not switched off (heat, high current, and high voltages), and so on. My doubts are not allayed, alas (and alack too). ww 17:49, 9 Jul 2004 (UTC)
Alas for your alack, this claim is also repeated in Randall (1977):
"Flowers' belief, which turned out to be fully justified, was that given the appropriate design practises, switching circuit networks involving even a large number of valves could be made to work reliably, if the equipment could be left on permanently." (emphasis mine)
The same claim is repeated in Johnson, The Secret War:
"There was some opposition to the proposal. Valves had a reputation for unreliability, but Flowers pointed out that from Post Office and BBC experience valves that were never switched off were very reliable." (emphasis mine).
His source was an interview with Flowers himself! So I'd say that this one is pretty solid. Noel (talk) 04:31, 17 Dec 2004 (UTC)
Have just noticed Flowers comments. I still suspect some skew in the meanings here. Flowers' observation is quite correct. But note that he is not reported to have said 'and so we never turned the Colossii off'. I still think that this is engineering hyperbole with regard to the claim about perpetual power on for the machines. Great resistance to turning them off, fix and fiddle as much as possible next to really hot and high voltage stuff, and so on, but... Since Flowers has passed on (and I suppose so have all the others who would know) I think we'll have to remain in ingnorance of the exact fact. But I still doubt it. Those things get hot, and if you look at the photos (and Sales' site for more detail) this is not a machine that is laid out for absolute minimum of little tiny places that are hard to reach. It looks as though they quite sensibly used some sort of ready made rack system and took what they got for serviceablity access. Rarely turned off (and great relutance to turn off, and rules against routine turn off for any reason) seems to me to be about right. ww 19:29, 28 Feb 2005 (UTC)
Since I wrote the above, I have gotten a bunch more Colossus material, including the 3 articles (by Flowers, Coombs, and Chandler, respectively) in Annals of History of Computing, and I can now solidly back up the claim that they were in fact not turned off:
"Most of the machines [out of 10 total - JNC], having been installed and handed over, had their valve heaters on literally until the end of the war. There is little doubt that expansion and contraction of valve heaters being switched on and off caused many valve failures in computing equipment built soon after the war." (from Chandler, Installation and Maintainence of Colossus, pp. 262).
This continual uptime was no doubt in part due to the intense operational requirements, but I'm pretty sure that even without that, Flowers' views on attaining reliability would have kept them on. Station X by Michael Smith contains a direct quote from Flowers on this issue:
"I knew that if you never moved them and never switched them off they would go on forever." (pp. 193)
Given the very large number of valves in these things (2,400 in the Mark II's - by way of comparison, the Pilot ACE had only about 800) I'm sure they didn't want to have to look for dead tubes!
There is much more of great interest in these articles (e.g. Chandler's note that the tubes were operated at only 25% of their maximum power dissipation, which reduced heat output and also helped with tube life), but I haven't the energy to type it all in! BTW, I have this recollection that Flowers would not be the best source for operational details of the Colossi - he was the chief designer, but was not at BP. Noel (talk) 03:43, 1 Mar 2005 (UTC)

[edit] Colossus priority comments

A question about priority for Colossus in certain respects has been discussed at Talk:Bletchley Park. I include this pointer for its relevance to this article. ww 14:28, 22 Jul 2004 (UTC)

I placed the following comment there: I reproduce it here as it's much more germane here:
A later note. After reviewing Colossus material in great detail (to far more depth than we have in our article), I would not describe Colossus as "programmable", at least in anything like the sense we now think of the word.
For one, there was no program, in the sense of an algorithm, with transfers of control, especially conditional transfers. The commonly-reported line about Colossus having some conditional testing is true only in a very limited sense; at the end of each pass of the tape loop, it could compare the contents of counters with pre-set values (in switches), and would print or not print the totals in the counters if they exceeded the preset values.
All Colossus could do, really, was read paper tape, perform certain plug-selected binary operations on one or more of the bits of each frame read from the tape (usually only 2 channels out of 5 were looked at), and depending on the output of that binary function, increment counters. That's all. It was really incredibly specialized to the job of doing statistical analyses on the key/cipher stream of the Tunny cipher.
The novelty of Colossus lies in the technology, more than the architecture: it was certainly the first large-scale electronic digital device, and thereby had a great influence on post-WWII computer development in the UK (since many of the leading lights in that field, such as Newman and Turing, were intimately associated with Colossus). Noel (talk) 04:11, 1 Mar 2005 (UTC)

[edit] T-52

I've moved the following from the article for now:

Another, different, teletype cypher machine was designed and built by Siemens & Halske, the T-52 Geheimfernschreiber (meaning, 'secret teleprinter'). Early versions of the Siemens machine (the T-52a and T-52b) were used to send signals between Germany and Norway over a cable running through Sweden. The Swedes tapped the cable, copied the traffic, and Arne Beurling, a Swedish mathematician, broke the cypher. Later production versions of the T-52 (there were variants through 'e') were considerably more secure, and quite hard to break even for Bletchley Park. Some of the T-52 traffic was also sent over Luftwaffe Enigma networks which were much more easily broken, and so T-52 traffic was a lower priority for Bletchley Park than might have otherwise been expected. [2]

This is true, but is it on-topic? That is, was Colossus ever used for breaking T-52 traffic? — Matt 20:18, 6 Dec 2004 (UTC)

I have found no reference anywhere that it was used to attack the T-52. However, I haven't found a definite statement of the form "the Colossi were never used to attack Sturgeon", so I suppose it's still theoretically possible. However.... my take on this question would be "very probably not". If you go through the detailed description of the Colossus here (make sure to click on the "More Text" links on each image. to see the informative detailed text about that part of Colossus), it's incredibly specialized to attacking the SZ-40/42. E.g. a very large part of the machine (and tube count) was dedicated to generating the key-stream from the Chi wheels of the SZ-40/42 - e.g. the sizes of the various wheels were wired into the machine, etc. So to attack the T-52 you'd have had to basically rewire the whole machine. I consider it highly unlikely that they did so, given the pressure on them to break into Tunny traffic. Had they wanted to attack the T-52, they probably would have used the Robinson (or some tweaked variant thereof), because on those machines the key-stream was on a second paper-tape, i.e. it would have been a lot easier to adapt it to attack a different machine. Still, the latest reference I've found in the original documents to breaking into Sturgeon was in the summer of '44, at which point it was all being done by hand. I'll keep an eye out to see if I see any references to attacking it later with any machine help. Noel (talk) 02:28, 16 Jan 2005 (UTC)

[edit] Colossal clanger

Sorry, this gloating is a little gratuitous and unseemly, but, quoting from an online Microsoft Encarta article ("Computer"):

It [Colossus] was used by the team headed by Alan Turing, in the largely successful attempt to crack German radio messages enciphered in the Enigma code. [3]

Now (and correct me and the Wikipedia article if I'm wrong), but I recall that 1) Alan Turing was never the head of a team attacking Tunny (although he did invent "Turingismus"/"Turingery", one type of attack on Tunny); 2) Turing's involvement in Colossus was very limited, if any (although Turing did play a large role in generating some of the ideas behind early computers); and 3) Colossus was never used to attack Enigma (it was used to help break Tunny traffic).

Of course, it's not as if Wikipedia articles are always error-free, but I couldn't resist the chance to note this clanger! — Matt Crypto 12:54, 21 Feb 2005 (UTC)

I've just noticed this comment -- my apologies for being dilatory -- and must agree as I'd seen that clanger myself (AE would probably be something like goof or screw-up, I think). But it's only one of many crypto pseudo-factoids I keep tripping over and I've run out of energy attempting to correct them or publicize them. It's because of their near ubiquity that I have tried several times to include comments in WP crypto articles about the (often un) reliability of much writing -- even ostensibly authoritative writing -- on topics cryptographic.
One has in mind in these cases such things as the invention of the brassiere by a German named Titzling, the installation of the first bathtub by (? -- can't remember which US President, but it was invented as a prank by H L Mencken early in the last century), the exceptionally poisonous qualities of the not quite a spider called here a Daddy Longlegs, ... all of which are repeated and repeated. Is it ever possible to actually exterminate these bits of 'true fact'? Perhaps we should organize all the Daddy Longlegs to go bite them to death? ww 23:41, 6 September 2005 (UTC)

[edit] Mark I and Mark II

One of our "to-do" items is to describe the difference between Mk I and Mk II. Here are the results of some work I've done on this topic. The General Report on Tunny says (pp. 329) that:

"Colossus 2 possessed from the first, quintuple testing, a generous switch panel (including not-not), a versatile plug-panel, spanning, a double bedstead, and a greatly increased simplicity of operation."

and

"The chief modifications introduced later were the rectangling gadgets, devices to reduce the effect of doubtful cipher letters, and devices to make wheel-breaking easier."

A few words about these:

  • "quintuple testing" - This refers to the 5-deep shift register through which past values of the (electronically simulated) rotors were passed, so that each character read from the tape could be tested against 5 characters of the key-stream at once, speeding up runs by a factor of 5. ("Colossus remembers characters of the wheel opposite places on the tape 1,2,3,4, back; in particular characters of Psi' {the Psi wheels after the variable stepping control - JNC} not of Psi . ... Thus when Colossus is examining a particular place on Z {the cipher-text - JNC}, it has available for comparison: (i) on the multiply tested wheel, the present character and the characters 1,2,3,4, back. ... (ii) on Z, and on all other wheels, only the present character." - General Report on Tunny, pp. 345) This feature had associated controls as well - "undesignated keys are used in multiple testing wherein five successive positions are tested at once and the wheel-patterns stepped five notches each time; in such cases these keys must be thrown down and other plugging done on the jack control board to provide for five positions stepping" (Special Fish Report, pp. 111).
  • "not-not" - This refers, I believe, the the provision of two levels of negation in the boolean logical network which produced pulse outputs to the counters, to allow "OR" logical testing as well as "AND". The Special Fish Report says (pp. 111) that it was possible to count (i.e. test for) conditions such as "((character EQUALS value1) OR (character EQUALS value2)" by use of the logical expression "NOT ((character NOT EQUALS value1) AND (character NOT EQUALS value2)".
  • "a versatile plug-panel"
    • I believe this refers, in part, to the ability to set the Chi wheel patterns at a panel on the front of Colossus. In the Mark I, these patterns had to be set using jumpers on a panel in the back of the machine, which was particularly inconvenient when the Colossus was used for "wheel-breaking"; the Mark II included a much more convenient panel on the front for setting wheel patterns. One of these patterns was hard wired to have a single 1 bit, and the rest all 0, for use in "rectangling" (a particular cryptanalytic technique used in "wheel-breaking"). ("On wheel-breaking Colossi there is the inestimable boon of a panel on the front of the machine, carrying an ordinary Chi trigger and a special pattern Chi trigger: in place of U-shaped pins, easily inserted plugs are used: they are so much easier that they are often used for setting. Each of the 5 Chi wheels has its ordinary and special patterns adjacent and each is controlled by a 3-way switch whose positions are: down - ordinary and special patterns in; normal - all out; up - single cross in the last position of the ordinary pattern." - General Report on Tunny, pp. 335)
    • There were other pluggable operations available as well, some of which were duplicated by switches (e.g. the logical operations, and selection of counters, in the point above) - "Colossus has a jack board for plugs, to be used in controlling it; and also a key board. The key board may be used instead of the plugs for most runs and is more convenient, or in conjunction with the plugs." (Special Fish Report Page, pp. 108). However, without detailed operation manuals for the Mark I and Mark II Colossi (which probably never existed), I doubt it will ever be possible to say for sure.
  • "spanning" - "permit the selection of a stretch or span of tape for study, eliminating all before and after the counting" (Special Fish Report Page, pp. 108); i.e. for a given tape, the counters would only be enable for specified stretches of the tape. This was used when parts were known to be garbled, or (even worse) had characters missing (which would have thrown the key-stream and encrypted data out of synch). It was apparently also used for cases in which the stepping of the Psi wheels depended on the data ("introduced originally for P5 limitation" - General Report on Tunny, pp. 329).
  • "a double bedstead" - "positions for two tapes, but only one runs at once" (Special Fish Report Page, pp. 108); i.e. two paper tape transports, so that the operator could be mounting a tape on one, while the other was doing a run.
  • "a greatly increased simplicity of operation" - I don't know whether there were additional features that were being thought of here, or just the combined effects of all of the above.
  • "rectangling gadgets" - These are explained in the General Report on Tunny, on pp. 349-351, but they are so arcane (and deeply linked to the fine details of the cryptanalytic techniques used to break wheels) that I don't really fully understand them. Suffice it to say that they make minor changes in how counts are computed and printed.
  • "devices to reduce the effect of doubtful cipher letters" - This refers to the "not-99" feature, described in the General Report on Tunny on pp. 343-344: "used to inhibit counting at doubtful letters of cipher replaced by Z {ciphertext - JNC} = 9. Such 9's rarely occur singly. Genuine 9's usually do occur singly. It is therefore only imposed at a 9 adjacent to another 9".
  • "devices to make wheel-breaking easier." Not sure what this is (other than the rectangling stuff); it might refer to the ability to set the Chi wheel patterns from the front of the machine (referred to above). I'll look into this some more in a bit.

Anyway, this is probably way too much detail to put into the article; in particular, some of it is really specific to the arcane details of breaking Fish, and is simply not suitable for the article. Hopefully we can draw on this to see what we do want to put in, though.

Do we just want to describe it as "improvements to increase the speed and ease of use"? Noel (talk) 02:04, 11 Mar 2005 (UTC)

Nice research! I'll try and add some comments when I'm less tired, but I think this is once instance of a general question: we're going to have to work out how much "Colossus arcana" is appropriate for this article, what belongs in spin-off articles, and what can be left in the literature. Hmm...sleep needed...;-) — Matt Crypto 18:17, 11 Mar 2005 (UTC)

[edit] 1990s reconstruction

"Even in 2004, Tony Sale notes that "Colossus is so fast and parallel that a modern PC programmed to do the same code-breaking task takes as long as Colossus to achieve a result!". " That's hard to believe. Is it actually true (the fact, not the fact that he said it)? --Bubba73 22:28, 26 May 2005 (UTC)

In fact, if someone could provide me with test data and a good description of what Colossus would do and how long it would take, I might try to verify that. --Bubba73 02:16, 29 May 2005 (UTC)

I have some doubts about that statement about the speed of the Colossus compared to a modern PC.

  • In "The First Computers: History and Architectures", by Rojas and Hashagen, page 363 has a section "the performance of the Colossus". It was processing characters from a paper tape at 5,000 characters per second. Each character was encoded as 5 bits across the tape. For each character it could do up to 100 boolean calculations on each of the 5 channels. This is 2.5 million boolean operations per second.
  • He made the statement in 2004, when I got a 2.4 GHz P4, which was two steps down from the fastest one. It can perform a bitwise operation in 2 clock cycles, or 1.2 billion per second. Futhermore, it can do the same operation on 32 bits at once in the same amount of time. It seems likely that the Colossus was doing he same operation on 5 bits in parallel, since it was doing XOR on 5-bit characters. So even if the Pentium was used to work on 5 bits of its 43 bits at the time, that amounts to 6 billion boolean operations per second, over 1000 times as fast as the Coolossus.
  • The book quoted was from 2000 and mentions the same thing about a Pentium. In 2000 I had a 300 MHz Pentium II, and it wasn't the fastest one at the time. The original Pentium came out in late 1992 or early 1993 and ran at 60 MHz. I believe it could do a boolean operation on 32 bits in 2 clock cycles, or 30 million per second. Even if only 1 bit was worked on at the time (instead of 5 or more in parallel), that is still more than 10 times faster than the Colossus, at the very minimum.
  • Also, the book says that the Colossus had AND and OR gates. But the operation it was primarily doing was XOR. The Pentium has XOR built in, I believe, so it may have taken more than one operation for the Colossus to do a XOR.

Bubba73 17:44, 14 Jun 2005 (UTC)

Yes, it does look dubious. Sale writes a lot of his simulators in Javascript, which might have an effect ;-) — Matt Crypto 09:42, 4 August 2005 (UTC)
The Colossus did somewhat better than that, actually; your math is a bit off, especially for the Colossus II (although it's a bit hard to convert Colossus operation rates to instruction equivalents). For one, it had to generate the key-stream (which was were most of its tubes went, actually), which is a certain amount of work (not sure how to turn that into instruction equivalents; you'd have to simulate the rotation of 10 binary-output wheels, each of a different prime size - and then there are the two Motor wheels which make the operation of the others stutter). Then, it did 5 positions at a time (i.e. because of the 5-deep systolic array, it was effectively processing 25K characters per second). Next, it had 5 separate counters, each of which could be programmed to increment on an independent logical expression (which could be as complex as "((character EQ X) OR (character EQ Y))", i.e. 3 logical operations - and perhaps more, I'd have to study the manual to be certain what the largest logical operation was that could be configured; I suspect that if one used the plug cables instead of just the switches, you could get pretty large expressions), and it could increment all of them on each step (i.e. 5K times per second, or 25K increments per second, total).
But it's still considerably slower than contemporary computers (although it was pretty darned fast, even by, say, 1960's standards; in part because it was hardwired to do that one kind of statistical analysis). I think Matt's point about those simulations being in Java is a good one, though! :-) Noel (talk) 04:22, 6 August 2005 (UTC)
PS: I forgot to mention that there were bunch of special hacks, which also would increase the time to simulate it, e.g. things like the "not-99" feature. Finally, as to XOR, that was built into Colossus, they didn't have to emulate it with other operations (as they did for OR, which had to be built out of AND and two levels of NOT). Noel (talk) 04:26, 6 August 2005 (UTC)
"it was effectively processing 25K characters per second)" OK, I had assumed that the five channels were the 5 bits to encode a character. But if it was doing the same thing to each of 5 channels, and one character was encoded in 5 or 6 bits on each channel, a modern PC can do all of that in parallel.
"But it's still considerably slower than contemporary computers" The article says that it was a fast, which I was wondering about. If I could get the details of what it did and some sample data, and it wasn't too involved, I might like to write a program for a modern PC to compare. Bubba73 04:45, August 6, 2005 (UTC)
Well, you could take Tony Sale's Java code (available through his web site here) and look at it! :-) More seriously, the various Wikipedia articles (this, and the one for the Lorenz SZ 40/42 machine), and particularly the external links from them, will provide you all the information needed. (E.g. links from the Lorenz article will give you the full details of the 12-rotor mechanism which generated the 5-bit-wide keystream - the Colossus included an electronic simulation of that mechanism, so a Colossus simulator will have to include it too.) No, it's not in the most convenient form - but writing the program is the easy part of doing a simulation. A copy of From Fish To Colossus (it's cheap) would be a really big help. Noel (talk) 15:28, 6 August 2005 (UTC)
I've just added that book to my wish list. I haven't seen that book, but as you say, it probably would be better to go to a more direct source. First, I don't know Java, and second I want to simulate the machine, not simulate a simulator. What's the "hard part" - understanding what it does? Bubba73 16:09, August 6, 2005 (UTC)
No, there's nothing spectacularly hard about most of it. It's just that there isn't a single source (excepting perhaps Copeland's forthcoming book, which I've not seen yet as it's not out yet) which clearly and concisely explains all the technical details of what Colossus did, in enough detail to produce any sort of semi-correct simulator. You have to drudge around through all sorts of odd stuff to get the detail that's required - see my investigations above (about the differences between the Mark I and Mark II Colossi) for the kind of digging that is required. E.g. when Tony Sale build the replica, a lot of the actual details on the working of the Boolean logic network which processed the two data-streams (the key-stream and the cipher-stream) and sent outputs to the counters came from reading the Special Fish Report, which was a rather cryptic "how-to" operator's guide! I still don't know of anything which clearly describes this logic network! Noel (talk) 17:30, 6 August 2005 (UTC)
I understand. And that's exactly what I was hoping for - a clear and concise description, enough that I could program it (without spending a great deal of time digging it out.) When is the new book due? Bubba73 18:11, August 6, 2005 (UTC)
I'm planning on putting in some work on this article, and it should eventually contain a description of what Colossus actually did (although whether any of my writing would ever be clear and concise is very much debatable!). — Matt Crypto 18:19, 6 August 2005 (UTC)
I guess it also depends on whether you want to simulate the Colossus itself, or simulate the codebreaking tasks that the Colossus performed. Simulating the Colossus would be a somewhat large undertaking, because it's a relatively complex machine and is not described completely in any public documents. Simulating one of the correlation algorithms that Colossus implemented would be pretty straightforward, on the other hand. P.S. There's not a great deal of similarity between Java and JavaScript other than the name ;-) — Matt Crypto 18:19, 6 August 2005 (UTC)
I guess what I had in mind was doing what Colossus did rather than simulate Colossus itself. Although the Colossus was a remarkable accomplishment for its time, I don't think it is fair of the article to say that a Pentium-based PC can do the same thing only as fast based on the programs that have been mentioned. It was mentioned that its speed compared well to computers of the 60s, and that is likely to be true. Hoever, computers of the 60s were slow compared to todays PCs. Within the last month I took something that had taken x time to run on an IBM 360/67 (IBMs fasstest computer as of August 1966) and I wrote it up for my 2.4 GHz Pentium PC, and it was 3,900 times as fast. I don't know much about Java or JavaScript exccept that I don't thing either one is a good choice for actual encoding or decoding. Bubba73 23:55, August 6, 2005 (UTC)
I've written a program to do Lorenz encoding/decoding, to give a rough idea of how long it takes on a near-modern PC, my 2.4 GHz P4. I don't know how much more work the Colossus was doing. My program encodes/decodes at 40,000,000 characters per second if the data is already in memory and the result is kept in memory. However, the bottleneck is getting data into and out of the CPU. My hard drive reads at about 10,000,000 bytes per second, so that is the limiting factor. So 100 nanoseconds to read a character in, 25 nanoseconds to encode or decode, and 100 nanoseconds to write to disk - 225 nanaoseconds total, or 4.4 million per second. That is assuming 8 bits to the character. Since the old data uses 5 bits per character, putting 6 characters in 32 bits would result in 50% faster throughput. Bubba73 18:01, August 7, 2005 (UTC)

[edit] Post-War Colossi

I replaced "two survived for many years and were used during the cold war" with "A Colossus was kept by GCHQ — Copeland (2001) writes, "The last Colossus is believed to have stopped running in 1960. During its later years it was used for training purposes."". If anyone has a reliable source for the original, we can put it back in, but it seems very unlikely to me that any Colossus was used operationally post-WWII, given how specialised it was to the Lorenz machine. — Matt Crypto 00:08, 7 August 2005 (UTC)

I seem to recall seeing somewhere that report about two being kept, but I can't lay my hands on it! (Maybe I'm remembering reading it here?) I've checked the AHC 5/3 articles, the Metropolis and Randell books, The Secret War, Cragon, all with no luck. I'll try a few more later. As to why they might have kept some Colossi, I have a number of speculations. (Let me emphasize that these are 100% pure guesses.)
  • First, I seem to recall a story about the Allies reconditioning Enigma machines and selling them on to various countries (not, of course, telling that that they'd been able to break into them), and using their knowledge of how to break into the Enigma to tap into the other countries communications. (Although given Welchman's revelations that the Enigmas, properly used, would have been almost impossible to break into, I have to wonder about this. Although perhaps they counted on other users making the same kind of mistakes as the Germans had?) So perhaps something similar happened with the SZ40's?
  • Second, the Colossi were relatively general machines, outside the specialized circuity for producing the key-streams. Perhaps other countries were using similar teleprinter systems, and the Colossi were modified to break into other systems? Or perhaps they were saved in case other countries adopted similar systems? (The break-in techniques would have worked on similar code-systems.) There is the famous story of the "Russian FISH" machines the Germans handed over to the Western Allies at the end of WWII, which they used to break into a Russian teleprinter system.
In any event, The Codebreakers (Hinsley and Stipp) does have a record (pp. 185) of the scrapping of one Colossus; most of the standard parts were returned to PO stores. Noel (talk) 04:52, 8 August 2005 (UTC)
We'll have to wait until 2185 for the official declassification ;-) Personally, I could imagine that a Colossus would have been very useful as a training device, and as a prototype for improved machines, while there would be compelling reasons to upgrade to a new machine for any operational use. Counting correlations between bit-streams is a very powerful cryptanalytic idea, and I would agree that GCHQ was engaged in this sort of cryptanalysis soon after WWII, even if it wasn't the Lorenz machine itself. Supposing that's the case, as you mention you'd need to rebuild the key generator part, and (of course, I speculate without any basis) it might well have seemed better to start a new design from scratch, particularly with the benefit of a few years advance in computing technology. The NSA, at least, invested heavily in computers; I'd quite like to think that GCHQ did the same — but who knows? — Matt Crypto 11:14, 8 August 2005 (UTC)
Found it! It's in Michael Smith, Station X (TV Books, New York, 1998), pp. 226-227: "Two of the Colossus computers .. were taken to Eastcote but the rest were destroyed" .. "The Colossus computers were taken to Cheltenham when GCHQ moved there in 1952 and at least one was still working into the early 1960s." Alas, it has no source notes, so I don't know where the info came from. The book seems relatively carefully researched (and contains no errors I saw), so I'd tend to go with it. Noel (talk) 22:16, 8 August 2005 (UTC)
Well found! Yesterday I went through that book looking for Colossus info, and totally missed that part (must learn to use an index, must learn to use an index...). — Matt Crypto 08:44, 9 August 2005 (UTC)
Noel, I visited the National Archives last weekend, and found some fun stuff on Colossus. It would seem your thoughts about post-War Colossus use were correct:
At the end of the War a number of the Colossus machines including the original were dismantled, but a small number of the more recent versions were moved to Eastcote and subsequently to Cheltenham. With the end of the War the particular purpose for which the machines were designed disappeared, but the nature and reliability of the machines was such that a number of attempts, some more successful than others, were made to make the remaining machines suitable for a number of similar purposes, or, in effect, to generalise them. In the course of these successive changes, new drawings and documents were prepared and, probably to avoid confusion, most of the earlier drawings and documents were destroyed. Thus we have the paradoxical situation in which the success of the machine and the consequent attempts to adapt it to other applications contributed to the loss of much of the detailed information concerning its original form. (D C Horwood, A technical description of COLOSSUS I, August 1973, PRO HW 25/24.)
— Matt Crypto 13:51, 20 September 2005 (UTC)

The transcript for the PBS Nova program "Decoding Nazi Secrets" [4] says: "Eight of the ten Colossus machines were destroyed. The remaining two were moved to British secret service headquarters, where they may have played a significant part in the codebreaking operations of the Cold War. In fact, the Russian military had developed a code that was similar to the high command's Fish code. So the techniques invented at Bletchley Park were still to prove vital in a very different kind of conflict. In 1960, the order finally came to destroy the last two Colossus machines." According to information I have read, an eleventh Colossus was essentially finished at the end of the war, but I have found no reference as to what happened to the eleventh computer. I presume that all the computers, like the first, were built at the Post Office Research Station at Dollis Hill in NW London. On 10 July 2006, I emailed Tony Sale asking if he knows what happened to the 11-th computer, but I have not received a reply as of 19 July 2006. JonEAhlquist 05:43, 19 July 2006 (UTC)

[edit] Churchill's orders

Winston Churchill specifically ordered the destruction of most of the Colossus machines into "pieces no bigger than a man's hand"

I'm looking for a source for this; the best I can find is a BBC Click Online article [5]. — Matt Crypto 08:44, 9 August 2005 (UTC)

Jeez, what is this, we're making this article into the latest Wikipedis "scavenger hunt"? :-) I seem to recall seeing the Churchill thing somewhere before (not sure about that exact quote, though); let me have a look. Noel (talk) 01:35, 10 August 2005 (UTC)
Oh, I'm just getting warmed up ;-) — Matt Crypto 11:04, 10 August 2005 (UTC)

[edit] Scavenger Hunt 2

Colossus included the first ever use of shift registers and systolic arrays

Also hoping for a source on this one! — Matt Crypto 11:04, 10 August 2005 (UTC)

That's easy. The systolic arrays is from Cragon, pp. 83. (He also claims Colossus was the first digital system which operatied in synchronous [i.e. centrally clocked] mode, pp. 97.) As for the shift registers, I've seen that in various places (I think I seem to recall Flowers making that claim at one place); one is Randell, The Colossus, pp. 66 (section 7) - which also repeats Cragon's synchronous claim. Colossus also pioneered the use of voltage levels for logic values (instead of phase, as in the Robinsons), which allowed it to be run at very slow speeds, for checkout purposes. Noel (talk) 20:09, 10 August 2005 (UTC)

[edit] Visited Station X today

Amazing.

It's Frankencomputer! There's a whizzy frame running paper tape at high speed, there are 1940s-style strowger switches clicking madly away, flashing lights blinking--decade counters, not binary. A teletype that wouldn't have been out of place at the 1850 Great Exhibition spews data onto paper, and behind there's rack upon rack of thermionic valves! Reminded me most of all of a 1970s-era PDP-11, to be honest. ;) --Tony SidawayTalk 00:32, 14 August 2005 (UTC)

[edit] The first...what?

We currently say that

Colossus was the first specialised programmable digital electronic computer

We previously have said that

Colossus was the first programmable (to a limited extent) digital electronic computer

I'm not really happy with either rendition. Personally, I don't think Colossus was programmable in the modern sense — it was just configurable. Moreover, the title of "first electrical digital computer" is claimed by the Complex Number Calculator[6], and "first electronic digital computer" is claimed by the ABC computer, both of which appear to predate the Colossi.

Jack Copeland's forthcoming anthology on Colossus is titled, "Colossus: The First Electronic Computer". Above, Noel mentions that Colossus was "the first large-scale electronic digital device".

This may be too complex a question to resolve ourselves, given that different scholars might give different answers to this question. It might be that we have to opt for describing how others have viewed Colossus within the history of computing. — Matt Crypto 16:36, 7 October 2005 (UTC)

[edit] Which is right...

Underneath the third picture it reads:-

In 1994, a team led by Tony Sale began a reconstruction of a Colossus. The machine is nearly complete, and has required over 6,000 man-days of volunteer work.

However the article states:-

In May 2003, the construction of a replica of a Colossus Mark II was completed by a team led by Tony Sale. It currently is on display in the Bletchley Park Museum in Milton Keynes, Buckinghamshire.

Does someone want to sort this out? I'd do it myself but I dont want to tread on anyones toes.

--Timmywimmy 18:46, 28 October 2005 (UTC)

Thanks for spotting that! The machine isn't complete, but I believe in May 2003 they reached a milestone where the rebuild was complete enough to perform the task of "setting the Chi wheels". IIRC, there was some grand switching-on ceremony involving Flowers and some member of the British royal family. Very recently, Sale and his team have managed to get the Psi wheels working, and they can get Colossus to do on-machine decipherment (although only one character at present!). — Matt Crypto 21:42, 28 October 2005 (UTC)
I've removed the statements about being complete as I think they are currently inaccurate; see [7]. I'll try and sort this out soon (if noone gets their first!). — Matt Crypto 00:13, 20 December 2005 (UTC)

[edit] Speed of tape

The section "The construction of Colossus" states that the paper tape moved at "40 ft/s = 12 m/s = 30 mph". These speeds are not equal, but only approximately so; even the ones in imperial units differ. Which is the correct speed? There is also no need for speeds to be given in two types of imperial unit. — Paul G 12:15, 1 November 2006 (UTC)