Difference between revisions of "Talk:Colossus"

From Computer History Wiki
Jump to: navigation, search
(Transcribe some comments)
 
(No difference)

Latest revision as of 01:44, 6 December 2024

Colossus priority

I reproduce the following comment I wrote about it 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)

Mark I and Mark II

One of our "to-do" items (on Wikipedia) was to describe the difference between the Mk I and Mk II Colossi. 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, to 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)