Английская Википедия:Cryptanalysis of the Lorenz cipher

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:Use dmy dates

Timeline of key events
Time Event
September 1939 War breaks out in Europe.
Second half of 1940 First non-Morse transmissions intercepted.
June 1941 First experimental SZ40 Tunny link started with alphabetic indicator.
August 1941 Two long messages in depth yielded 3700 characters of key.
January 1942 Шаблон:Plainlist
July 1942 Шаблон:Plainlist
October 1942 Шаблон:Plainlist
November 1942 The "1+2 break in" invented by Bill Tutte.
February 1943 More complex SZ42A introduced.
May 1943 Heath Robinson delivered.
June 1943 Newmanry founded.
December 1943 Colossus I working at Dollis Hill prior to delivery to Bletchley Park.Шаблон:Sfn
February 1944 First use of Colossus I for a real job.
March 1944 Four Colossi (Mark 2) ordered.
April 1944 Order for further Colossi increased to 12.
June 1944 Шаблон:Plainlist
August 1944 Cam settings on all Lorenz wheels changed daily.
May 1945 Шаблон:Plainlist

Cryptanalysis of the Lorenz cipher was the process that enabled the British to read high-level German army messages during World War II. The British Government Code and Cypher School (GC&CS) at Bletchley Park decrypted many communications between the Oberkommando der Wehrmacht (OKW, German High Command) in Berlin and their army commands throughout occupied Europe, some of which were signed "Adolf Hitler, Führer".Шаблон:Sfn These were intercepted non-Morse radio transmissions that had been enciphered by the Lorenz SZ teleprinter rotor stream cipher attachments. Decrypts of this traffic became an important source of "Ultra" intelligence, which contributed significantly to Allied victory.Шаблон:Sfn

For its high-level secret messages, the German armed services enciphered each character using various online Geheimschreiber (secret writer) stream cipher machines at both ends of a telegraph link using the 5-bit International Telegraphy Alphabet No. 2 (ITA2). These machines were subsequently discovered to be the Lorenz SZ (SZ for Schlüssel-Zusatz, meaning "cipher attachment") for the army,Шаблон:Sfn the Siemens and Halske T52 for the air force and the Siemens T43, which was little used and never broken by the Allies.Шаблон:Sfn

Bletchley Park decrypts of messages enciphered with the Enigma machines revealed that the Germans called one of their wireless teleprinter transmission systems "Sägefisch" (sawfish),Шаблон:Sfn which led British cryptographers to refer to encrypted German radiotelegraphic traffic as "Fish".Шаблон:Sfn "Tunny" (tunafish) was the name given to the first non-Morse link, and it was subsequently used for the cipher machines and their traffic.Шаблон:Sfn

As with the entirely separate cryptanalysis of the Enigma, it was German operational shortcomings that allowed the initial diagnosis of the system, and a way into decryption.Шаблон:Sfn Unlike Enigma, no physical machine reached allied hands until the very end of the war in Europe, long after wholesale decryption had been established.Шаблон:SfnШаблон:Sfn The problems of decrypting Tunny messages led to the development of "Colossus", the world's first electronic, programmable digital computer, ten of which were in use by the end of the war,Шаблон:Sfn[1] by which time some 90% of selected Tunny messages were being decrypted at Bletchley Park.Шаблон:Sfn

Albert W. Small, a cryptanalyst from the US Army Signal Corps who was seconded to Bletchley Park and worked on Tunny, said in his December 1944 report back to Arlington Hall that: Шаблон:Blockquote

German Tunny machines

Файл:SZ42-6-wheels-lightened.jpg
The Lorenz SZ machines had 12 wheels each with a different number of cams (or "pins").
OKW/Chi
wheel name
A B C D E F G H I K L M
BP wheel
nameШаблон:Sfn
<math>\psi</math>1 <math>\psi</math>2 <math>\psi</math>3 <math>\psi</math>4 <math>\psi</math>5 <math>\mu</math>37 <math>\mu</math>61 <math>\chi</math>1 <math>\chi</math>2 <math>\chi</math>3 <math>\chi</math>4 <math>\chi</math>5
Number of
cams (pins)
43 47 51 53 59 37 61 41 31 29 26 23

Шаблон:See also

The Lorenz SZ cipher attachments implemented a Vernam stream cipher, using a complex array of twelve wheels that delivered what should have been a cryptographically secure pseudorandom number as a key stream. The key stream was combined with the plaintext to produce the ciphertext at the transmitting end using the exclusive or (XOR) function. At the receiving end, an identically configured machine produced the same key stream which was combined with the ciphertext to produce the plaintext, i. e. the system implemented a symmetric-key algorithm.

The key stream was generated by ten of the twelve wheels. This was a product of XOR-ing the 5-bit character generated by the right hand five wheels, the chi (<math>\chi</math>) wheels, and the left hand five, the psi (<math>\psi</math>) wheels. The chi wheels always moved on one position for every incoming ciphertext character, but the psi wheels did not.

Файл:Lorenz Cams.jpg
Cams on wheels 9 and 10 showing their raised (active) and lowered (inactive) positions. An active cam reversed the value of a bit (x and x).

The central two mu (<math>\mu</math>) or "motor" wheels determined whether or not the psi wheels rotated with a new character.Шаблон:SfnШаблон:Sfn After each letter was enciphered either all five psi wheels moved on, or they remained still and the same letter of psi-key was used again. Like the chi wheels, the <math>\mu</math>61 wheel moved on after each character. When <math>\mu</math>61 had the cam in the active position and so generated x (before moving) <math>\mu</math>37 moved on once: when the cam was in the inactive position (before moving) <math>\mu</math>37 and the psi wheels stayed still.Шаблон:Sfn On all but the earliest machines, there was an additional factor that played into the moving on or not of the psi wheels. These were of four different types and were called "Limitations" at Bletchley Park. All involved some aspect of the previous positions of the machine's wheels.Шаблон:Sfn

The numbers of cams on the set of twelve wheels of the SZ42 machines totalled 501 and were co-prime with each other, giving an extremely long period before the key sequence repeated. Each cam could either be in a raised position, in which case it contributed x to the logic of the system, reversing the value of a bit, or in the lowered position, in which case it generated .Шаблон:Sfn The total possible number of patterns of raised cams was 2501 which is an astronomically large number.Шаблон:Sfn In practice, however, about half of the cams on each wheel were in the raised position. Later, the Germans realized that if the number of raised cams was not very close to 50% there would be runs of xs and s, a cryptographic weakness.Шаблон:Sfn[2]

The process of working out which of the 501 cams were in the raised position was called "wheel breaking" at Bletchley Park.Шаблон:Sfn Deriving the start positions of the wheels for a particular transmission was termed "wheel setting" or simply "setting". The fact that the psi wheels all moved together, but not with every input character, was a major weakness of the machines that contributed to British cryptanalytical success.

Файл:LorenzSZ42at TNMOC.jpg
A Lorenz SZ42 cipher machine with its covers removed at The National Museum of Computing on Bletchley Park

Secure telegraphy

Шаблон:See also Electro-mechanical telegraphy was developed in the 1830s and 1840s, well before telephony, and operated worldwide by the time of the Second World War. An extensive system of cables linked sites within and between countries, with a standard voltage of −80 V indicating a "mark" and +80 V indicating a "space".Шаблон:Sfn Where cable transmission became impracticable or inconvenient, such as for mobile German Army Units, radio transmission was used.

Teleprinters at each end of the circuit consisted of a keyboard and a printing mechanism, and very often a five-hole perforated paper-tape reading and punching mechanism. When used online, pressing an alphabet key at the transmitting end caused the relevant character to print at the receiving end. Commonly, however, the communication system involved the transmitting operator preparing a set of messages offline by punching them onto paper tape, and then going online only for the transmission of the messages recorded on the tape. The system would typically send some ten characters per second, and so occupy the line or the radio channel for a shorter period of time than for online typing.

The characters of the message were represented by the codes of the International Telegraphy Alphabet No. 2 (ITA2). The transmission medium, either wire or radio, used asynchronous serial communication with each character signaled by a start (space) impulse, 5 data impulses and 1½ stop (mark) impulses. At Bletchley Park mark impulses were signified by Шаблон:Code ("cross") and space impulses by Шаблон:Code ("dot").[3] For example, the letter "H" would be coded as Шаблон:Code.

Binary teleprinter code (ITA2) as used at Bletchley Park,Шаблон:Sfn arranged in reflection order whereby each row differs from its neighbours by only one bit.
Pattern of impulses Mark = Шаблон:Mono, Space = Шаблон:Mono Binary Letter shift Figure shift BP 'shiftless' interpretation
Шаблон:Mono 00000 null null /
Шаблон:Mono 00100 space space 9
Шаблон:Mono 00101 H # H
Шаблон:Mono 00001 T 5 T
Шаблон:Mono 00011 O 9 O
Шаблон:Mono 00111 M . M
Шаблон:Mono 00110 N , N
Шаблон:Mono 00010 CR CR 3
Шаблон:Mono 01010 R 4 R
Шаблон:Mono 01110 C : C
Шаблон:Mono 01111 V ; V
Шаблон:Mono 01011 G & G
Шаблон:Mono 01001 L ) L
Шаблон:Mono 01101 P 0 P
Шаблон:Mono 01100 I 8 I
Шаблон:Mono 01000 LF LF 4
Шаблон:Mono 11000 A - A
Шаблон:Mono 11100 U 7 U
Шаблон:Mono 11101 Q 1 Q
Шаблон:Mono 11001 W 2 W
Шаблон:Mono 11011 FIGS + or 5
Шаблон:Mono 11111 LTRS - or 8
Шаблон:Mono 11110 K ( K
Шаблон:Mono 11010 J Bell J
Шаблон:Mono 10010 D WRU D
Шаблон:Mono 10110 F ! F
Шаблон:Mono 10111 X / X
Шаблон:Mono 10011 B ? B
Шаблон:Mono 10001 Z " Z
Шаблон:Mono 10101 Y 6 Y
Шаблон:Mono 10100 S ' S
Шаблон:Mono 10000 E 3 E

The figure shift (FIGS) and letter shift (LETRS) characters determined how the receiving end interpreted the string of characters up to the next shift character. Because of the danger of a shift character being corrupted, some operators would type a pair of shift characters when changing from letters to numbers or vice versa. So they would type 55M88 to represent a full stop.Шаблон:Sfn Such doubling of characters was very helpful for the statistical cryptanalysis used at Bletchley Park. After encipherment, shift characters had no special meaning.

The speed of transmission of a radio-telegraph message was three or four times that of Morse code and a human listener could not interpret it. A standard teleprinter, however would produce the text of the message. The Lorenz cipher attachment changed the plaintext of the message into ciphertext that was uninterpretable to those without an identical machine identically set up. This was the challenge faced by the Bletchley Park codebreakers.

Interception

Шаблон:See also Intercepting Tunny transmissions presented substantial problems. As the transmitters were directional, most of the signals were quite weak at receivers in Britain. Furthermore, there were some 25 different frequencies used for these transmissions, and the frequency would sometimes be changed part way through. After the initial discovery of the non-Morse signals in 1940, a radio intercept station called the Foreign Office Research and Development Establishment was set up on a hill at Ivy Farm at Knockholt in Kent, specifically to intercept this traffic.Шаблон:Sfn[4] The centre was headed by Harold Kenworthy, had 30 receiving sets and employed some 600 staff. It became fully operational early in 1943.

Файл:Undulator Tape.jpg
A length of tape, Шаблон:Convert wide, produced by an undulator similar to those used during the Second World War for intercepted 'Tunny' wireless telegraphic traffic at Knockholt, for translation into ITA2 characters to be sent to Bletchley Park

Because a single missed or corrupted character could make decryption impossible, the greatest accuracy was required.Шаблон:Sfn The undulator technology used to record the impulses had originally been developed for high-speed Morse. It produced a visible record of the impulses on narrow paper tape. This was then read by people employed as "slip readers" who interpreted the peaks and troughs as the marks and spaces of ITA2 characters.[5] Perforated paper tape was then produced for telegraphic transmission to Bletchley Park where it was punched out.Шаблон:Sfn

The Vernam cipher

Шаблон:Main The Vernam cipher implemented by the Lorenz SZ machines utilizes the Boolean "exclusive or" (XOR) function, symbolised by ⊕ and verbalised as "A or B but not both". This is represented by the following truth table, where x represents "true" and represents "false".

INPUT OUTPUT
A B A ⊕ B
x x
x x
x x

Other names for this function are: exclusive disjunction, not equal (NEQ), and modulo 2 addition (without "carry") and subtraction (without "borrow"). Modulo 2 addition and subtraction are identical. Some descriptions of Tunny decryption refer to addition and some to differencing, i.e. subtraction, but they mean the same thing. The XOR operator is both associative and commutative.

Reciprocity is a desirable feature of a machine cipher so that the same machine with the same settings can be used either for enciphering or for deciphering. The Vernam cipher achieves this, as combining the stream of plaintext characters with the key stream produces the ciphertext, and combining the same key with the ciphertext regenerates the plaintext.Шаблон:Sfn

Symbolically:

PlaintextKey = Ciphertext

and

CiphertextKey = Plaintext

Vernam's original idea was to use conventional telegraphy practice, with a paper tape of the plaintext combined with a paper tape of the key at the transmitting end, and an identical key tape combined with the ciphertext signal at the receiving end. Each pair of key tapes would have been unique (a one-time tape), but generating and distributing such tapes presented considerable practical difficulties. In the 1920s four men in different countries invented rotor Vernam cipher machines to produce a key stream to act instead of a key tape. The Lorenz SZ40/42 was one of these.Шаблон:Sfn

Security features

Файл:English letter frequency (alphabetic).svg
A typical distribution of letters in English language text. Inadequate encipherment may not sufficiently mask the non-uniform nature of the distribution. This property was exploited in cryptanalysis of the Lorenz cipher by weakening part of the key.

A monoalphabetic substitution cipher such as the Caesar cipher can easily be broken, given a reasonable amount of ciphertext. This is achieved by frequency analysis of the different letters of the ciphertext, and comparing the result with the known letter frequency distribution of the plaintext.Шаблон:Sfn

With a polyalphabetic cipher, there is a different substitution alphabet for each successive character. So a frequency analysis shows an approximately uniform distribution, such as that obtained from a (pseudo) random number generator. However, because one set of Lorenz wheels turned with every character while the other did not, the machine did not disguise the pattern in the use of adjacent characters in the German plaintext. Alan Turing discovered this weakness and invented the differencing technique described below to exploit it.Шаблон:Sfn

The pattern of which of the cams were in the raised position, and which in the lowered position was changed daily on the motor wheels (<math>\mu</math>37 and <math>\mu</math>61). The chi wheel cam patterns were initially changed monthly. The psi wheel patterns were changed quarterly until October 1942 when the frequency was increased to monthly, and then to daily on 1 August 1944, when the frequency of changing the chi wheel patterns was also changed to daily.Шаблон:Sfn

The number of start positions of the wheels was 43×47×51×53×59×37×61×41×31×29×26×23 which is approximately 1.6×1019 (16 billion billion), far too large a number for cryptanalysts to try an exhaustive "brute-force attack". Sometimes the Lorenz operators disobeyed instructions and two messages were transmitted with the same start positions, a phenomenon termed a "depth". The method by which the transmitting operator told the receiving operator the wheel settings that he had chosen for the message which he was about to transmit was termed the "indicator" at Bletchley Park.

In August 1942, the formulaic starts to the messages, which were useful to cryptanalysts, were replaced by some irrelevant text, which made identifying the true message somewhat harder. This new material was dubbed quatsch (German for "nonsense") at Bletchley Park.Шаблон:Sfn

During the phase of the experimental transmissions, the indicator consisted of twelve German forenames, the initial letters of which indicated the position to which the operators turned the twelve wheels. As well as showing when two transmissions were fully in depth, it also allowed the identification of partial depths where two indicators differed only in one or two wheel positions. From October 1942 the indicator system changed to the sending operator transmitting the unenciphered letters QEP[6] followed by a two digit number. This number was taken serially from a code book that had been issued to both operators and gave, for each QEP number, the settings of the twelve wheels. The books were replaced when they had been used up, but between replacements, complete depths could be identified by the re-use of a QEP number on a particular Tunny link.Шаблон:Sfn

Diagnosis

NotationШаблон:Sfn
Letters can represent character streams, individual 5-bit characters or, if subscripted, individual bits of characters
Шаблон:Math plaintext
Шаблон:Math key – the sequence of characters XOR'ed (added)
to the plaintext to give the ciphertext
Шаблон:Math chi component of key
Шаблон:Math psi component of key
Шаблон:Math extended psi – the actual sequence of characters
added by the psi wheels, including those
when they do not advanceШаблон:Sfn
Шаблон:Math ciphertext
Шаблон:Math de-chi — the ciphertext with the chi
component of the key removed
Шаблон:Math any of the above XOR'ed with
its successor character or bitШаблон:Sfn
Шаблон:Math the XOR operation

The first step in breaking a new cipher is to diagnose the logic of the processes of encryption and decryption. In the case of a machine cipher such as Tunny, this entailed establishing the logical structure and hence functioning of the machine. This was achieved without the benefit of seeing a machine—which only happened in 1945, shortly before the allied victory in Europe.[7] The enciphering system was very good at ensuring that the ciphertext Шаблон:Math contained no statistical, periodic or linguistic characteristics to distinguish it from random. However this did not apply to Шаблон:Nowrap which was the weakness that meant that Tunny keys could be solved.Шаблон:Sfn

During the experimental period of Tunny transmissions when the twelve-letter indicator system was in use, John Tiltman, Bletchley Park's veteran and remarkably gifted cryptanalyst, studied the Tunny ciphertexts and identified that they used a Vernam cipher.

When two transmissions (a and b) use the same key, i.e. they are in depth, combining them eliminates the effect of the key.Шаблон:Sfn Let us call the two ciphertexts Шаблон:Math and Шаблон:Math, the key Шаблон:Math and the two plaintexts Шаблон:Math and Шаблон:Math. We then have:

Шаблон:Math

If the two plaintexts can be worked out, the key can be recovered from either ciphertext-plaintext pair e.g.:

Шаблон:Math or
Шаблон:Math

On 31 August 1941, two long messages were received that had the same indicator HQIBPEXEZMUG. The first seven characters of these two ciphertexts were the same, but the second message was shorter. The first 15 characters of the two messages were as follows (in Bletchley Park interpretation):

Шаблон:Math JSH4N ZYZY4 GLFRG
Шаблон:Math JSH4N ZYMFS /884I
Шаблон:Math ///// //FOU GFL3M

John Tiltman tried various likely pieces of plaintext, i.e. a "cribs", against the Шаблон:Math string and found that the first plaintext message started with the German word SPRUCHNUMMER (message number). In the second plaintext, the operator had used the common abbreviation NR for NUMMER. There were more abbreviations in the second message, and the punctuation sometimes differed. This allowed Tiltman to work out, over ten days, the plaintext of both messages, as a sequence of plaintext characters discovered in Шаблон:Math, could then be tried against Шаблон:Math and vice versa.Шаблон:Sfn In turn, this yielded almost 4000 characters of key.Шаблон:Sfn

Members of the Research Section worked on this key to try to derive a mathematical description of the key generating process, but without success. Bill Tutte joined the section in October 1941 and was given the task. He had read chemistry and mathematics at Trinity College, Cambridge before being recruited to Bletchley Park. At his training course, he had been taught the Kasiski examination technique of writing out a key on squared paper with a new row after a defined number of characters that was suspected of being the frequency of repetition of the key. If this number was correct, the columns of the matrix would show more repetitions of sequences of characters than chance alone.

Tutte thought that it was possible that, rather than using this technique on the whole letters of the key, which were likely to have a long frequency of repetition, it might be worth trying it on the sequence formed by taking only one impulse (bit) from each letter, on the grounds that "the part might be cryptographically simpler than the whole".Шаблон:Sfn Given that the Tunny indicators used 25 letters (excluding J) for 11 of the positions, but only 23 letters for the twelfth, he tried Kasiski's technique on the first impulse of the key characters using a repetition of 25 × 23 = 575. This did not produce a large number of repetitions in the columns, but Tutte did observe the phenomenon on a diagonal. He therefore tried again with 574, which showed up repeats in the columns. Recognising that the prime factors of this number are 2, 7 and 41, he tried again with a period of 41 and "got a rectangle of dots and crosses that was replete with repetitions".Шаблон:Sfn

It was clear, however, that the sequence of first impulses was more complicated than that produced by a single wheel of 41 positions. Tutte called this component of the key χ1 (chi). He figured that there was another component, which was XOR-ed with this, that did not always change with each new character, and that this was the product of a wheel that he called ψ1 (psi). The same applied for each of the five impulses—indicated here by subscripts. So for a single character, the key K consisted of two components:

Шаблон:Math.

The actual sequence of characters added by the psi wheels, including those when they do not advance, was referred to as the extended psi,Шаблон:Sfn and symbolised by ψ′

Шаблон:Math.

Tutte's derivation of the ψ component was made possible by the fact that dots were more likely than not to be followed by dots, and crosses more likely than not to be followed by crosses. This was a product of a weakness in the German key setting, which they later stopped. Once Tutte had made this breakthrough, the rest of the Research Section joined in to study the other impulses, and it was established that the five ψ wheels all moved together under the control of two μ (mu or "motor") wheels.

Diagnosing the functioning of the Tunny machine in this way was a truly remarkable cryptanalytical achievement, and was described when Tutte was inducted as Officer of the Order of Canada in October 2001, as "one of the greatest intellectual feats of World War II".[8]

Turingery

Шаблон:See also In July 1942 Alan Turing spent a few weeks in the Research Section.Шаблон:Sfn He had become interested in the problem of breaking Tunny from the keys that had been obtained from depths.Шаблон:Sfn In July, he developed a method of deriving the cam settings ("wheel breaking") from a length of key. It became known as "Turingery"Шаблон:Sfn (playfully dubbed "Turingismus" by Peter Ericsson, Peter Hilton and Donald MichieШаблон:Sfn) and introduced the important method of "differencing" on which much of the rest of solving Tunny keys in the absence of depths, was based.Шаблон:Sfn

Differencing

The search was on for a process that would manipulate the ciphertext or key to produce a frequency distribution of characters that departed from the uniformity that the enciphering process aimed to achieve. Turing worked out that the XOR combination of the values of successive (adjacent) characters in a stream of ciphertext or key, emphasised any departures from a uniform distribution.Шаблон:SfnШаблон:Sfn The resultant stream was called the difference (symbolised by the Greek letter "delta" Δ)Шаблон:Sfn because XOR is the same as modulo 2 subtraction. So, for a stream of characters S, the difference ΔS was obtained as follows, where underline indicates the succeeding character:

Шаблон:Math

The stream S may be ciphertext Z, plaintext P, key K or either of its two components χ and ψ. The relationship amongst these elements still applies when they are differenced. For example, as well as:

Шаблон:Math

It is the case that:

Шаблон:Math

Similarly for the ciphertext, plaintext and key components:

Шаблон:Math

So:

Шаблон:Math

The reason that differencing provided a way into Tunny, was that although the frequency distribution of characters in the ciphertext could not be distinguished from a random stream, the same was not true for a version of the ciphertext from which the chi element of the key had been removed. This is because, where the plaintext contained a repeated character and the psi wheels did not move on, the differenced psi character (Δψ) would be the null character ('Шаблон:Math' at Bletchley Park). When XOR-ed with any character, this character has no effect, so in these circumstances, Шаблон:Math The ciphertext modified by the removal of the chi component of the key was called the de-chi D at Bletchley Park,[9] and the process of removing it as "de-chi-ing". Similarly for the removal of the psi component which was known as "de-psi-ing" (or "deep sighing" when it was particularly difficult).Шаблон:Sfn

So the delta de-chi ΔD was:

Шаблон:Math

Repeated characters in the plaintext were more frequent both because of the characteristics of German (EE, TT, LL and SS are relatively common),[10] and because telegraphists frequently repeated the figures-shift and letters-shift characters[11] as their loss in an ordinary telegraph transmission could lead to gibberish.Шаблон:Sfn

To quote the General Report on Tunny:

Turingery introduced the principle that the key differenced at one, now called ΔΚ, could yield information unobtainable from ordinary key. This Δ principle was to be the fundamental basis of nearly all statistical methods of wheel-breaking and setting.Шаблон:Sfn

Differencing was applied to each of the impulses of the ITA2 coded characters.[12] So, for the first impulse, that was enciphered by wheels χ1 and ψ1, differenced at one:

Шаблон:Math

And for the second impulse:

Шаблон:Math

And so on.

The periodicity of the chi and psi wheels for each impulse (41 and 43 respectively for the first impulse) is also reflected in the pattern of ΔK. However, given that the psi wheels did not advance for every input character, as did the chi wheels, it was not simply a repetition of the pattern every 41 × 43 = 1763 characters for ΔK1, but a more complex sequence.

Turing's method

Шаблон:See also Turing's method of deriving the cam settings of the wheels from a length of key obtained from a depth, involved an iterative process. Given that the delta psi character was the null character '/' half of the time on average, an assumption that Шаблон:Math had a 50% chance of being correct. The process started by treating a particular ΔK character as being the Δχ for that position. The resulting putative bit pattern of Шаблон:Math and Шаблон:Math for each chi wheel, was recorded on a sheet of paper that contained as many columns as there were characters in the key, and five rows representing the five impulses of the Δχ. Given the knowledge from Tutte's work, of the periodicity of each of the wheels, this allowed the propagation of these values at the appropriate positions in the rest of the key.

A set of five sheets, one for each of the chi wheels, was also prepared. These contained a set of columns corresponding in number to the cams for the appropriate chi wheel, and were referred to as a 'cage'. So the χ3 cage had 29 such columns.[13] Successive 'guesses' of Δχ values then produced further putative cam state values. These might either agree or disagree with previous assumptions, and a count of agreements and disagreements was made on these sheets. Where disagreements substantially outweighed agreements, the assumption was made that the Δψ character was not the null character '/', so the relevant assumption was discounted. Progressively, all the cam settings of the chi wheels were deduced, and from them, the psi and motor wheel cam settings.

As experience of the method developed, improvements were made that allowed it to be used with much shorter lengths of key than the original 500 or so characters."Шаблон:Sfn

Testery

Шаблон:See also The Testery was the section at Bletchley Park that performed the bulk of the work involved in decrypting Tunny messages.Шаблон:Sfn By July 1942, the volume of traffic was building up considerably. A new section was therefore set up, led by Ralph Tester—hence the name. The staff consisted mainly of ex-members of the Research Section,Шаблон:Sfn and included Peter Ericsson, Peter Hilton, Denis Oswald and Jerry Roberts.Шаблон:Sfn The Testery's methods were almost entirely manual, both before and after the introduction of automated methods in the Newmanry to supplement and speed up their work.Шаблон:SfnШаблон:Sfn

The first phase of the work of the Testery ran from July to October, with the predominant method of decryption being based on depths and partial depths.[14] After ten days, however, the formulaic start of the messages was replaced by nonsensical quatsch, making decryption more difficult. This period was productive nonetheless, even though each decryption took considerable time. Finally, in September, a depth was received that allowed Turing's method of wheel breaking, "Turingery", to be used, leading to the ability to start reading current traffic. Extensive data about the statistical characteristics of the language of the messages was compiled, and the collection of cribs extended.Шаблон:Sfn

In late October 1942 the original, experimental Tunny link was closed and two new links (Codfish and Octopus) were opened. With these and subsequent links, the 12-letter indicator system of specifying the message key was replaced by the QEP system. This meant that only full depths could be recognised—from identical QEP numbers—which led to a considerable reduction in traffic decrypted.

Once the Newmanry became operational in June 1943, the nature of the work performed in the Testery changed, with decrypts, and wheel breaking no longer relying on depths.

British Tunny

Файл:British Tunny Rebuild.jpg
A rebuilt British Tunny at the National Museum of Computing, Bletchley Park. It emulated the functions of the Lorenz SZ40/42, producing printed cleartext from ciphertext input.

The so-called "British Tunny Machine" was a device that exactly replicated the functions of the SZ40/42 machines. It was used to produce the German cleartext from a ciphertext tape, after the cam settings had been determined.Шаблон:Sfn The functional design was produced at Bletchley Park where ten Testery Tunnies were in use by the end of the war. It was designed and built in Tommy Flowers' laboratory at the General Post Office Research Station at Dollis Hill by Gil Hayward, "Doc" Coombs, Bill Chandler and Sid Broadhurst.Шаблон:Sfn It was mainly built from standard British telephone exchange electro-mechanical equipment such as relays and uniselectors. Input and output was by means of a teleprinter with paper tape reading and punching.Шаблон:Sfn These machines were used in both the Testery and later the Newmanry. Dorothy Du Boisson who was a machine operator and a member of the Women's Royal Naval Service (Wren), described plugging up the settings as being like operating an old fashioned telephone exchange and that she received electric shocks in the process.Шаблон:Sfn

When Flowers was invited by Hayward to try the first British Tunny machine at Dollis Hill by typing in the standard test phrase: "Now is the time for all good men to come to the aid of the party", he much appreciated that the rotor functions had been set up to provide the following Wordsworthian output:Шаблон:Sfn

Input NOW IS THE TIME FOR ALL GOOD MEN TO COME TO THE AID OF THE PARTY
Output I WANDERED LONELY AS A CLOUD THAT FLOATS ON HIGH OER VALES AND H

Additional features were added to the British Tunnies to simplify their operation. Further refinements were made for the versions used in the Newmanry, the third Tunny being equipped to produce de-chi tapes.Шаблон:SfnШаблон:Sfn

Newmanry

The Newmanry was a section set up under Max Newman in December 1942 to look into the possibility of assisting the work of the Testery by automating parts of the processes of decrypting Tunny messages. Newman had been working with Gerry Morgan, head of the Research Section on ways of breaking Tunny when Bill Tutte approached them in November 1942 with the idea of what became known as the "1+2 break in".Шаблон:Sfn This was recognised as being feasible, but only if automated.

Newman produced a functional specification of what was to become the "Heath Robinson" machine.Шаблон:Sfn He recruited the Post Office Research Station at Dollis Hill, and Dr C.E. Wynn-Williams at the Telecommunications Research Establishment (TRE) at Malvern to implement his idea. Work on the engineering design started in January 1943 and the first machine was delivered in June. The staff at that time consisted of Newman, Donald Michie, Jack Good, two engineers and 16 Wrens. By the end of the war the Newmanry contained three Robinson machines, ten Colossus Computers and a number of British Tunnies. The staff were 26 cryptographers, 28 engineers and 275 Wrens.Шаблон:Sfn

The automation of these processes required the processing of large quantities of punched paper tape such as those on which the enciphered messages were received. Absolute accuracy of these tapes and their transcription was essential, as a single character in error could invalidate or corrupt a huge amount of work. Jack Good introduced the maxim "If it's not checked it's wrong".Шаблон:Sfn

The "1+2 break in"

W. T. Tutte developed a way of exploiting the non-uniformity of bigrams (adjacent letters) in the German plaintext using the differenced cyphertext and key components. His method was called the "1+2 break in," or "double-delta attack".[15] The essence of this method was to find the initial settings of the chi component of the key by exhaustively trying all positions of its combination with the ciphertext, and looking for evidence of the non-uniformity that reflected the characteristics of the original plaintext.Шаблон:Sfn Шаблон:Sfn The wheel breaking process had to have successfully produced the current cam settings to allow the relevant sequence of characters of the chi wheels to be generated. It was totally impracticable to generate the 22 million characters from all five of the chi wheels, so it was initially limited to 41 × 31 = 1271 from the first two.

Given that for each of the five impulses i:

Шаблон:Math

and hence

Шаблон:Math

for the first two impulses:

Шаблон:Math

Calculating a putative Шаблон:Math in this way for each starting point of the Шаблон:Math sequence would yield xs and s with, in the long run, a greater proportion of s when the correct starting point had been used. Tutte knew, however, that using the differenced (∆) values amplified this effect[16] because any repeated characters in the plaintext would always generate , and similarly ∆ψ1 ⊕ ∆ψ2 would generate whenever the psi wheels did not move on, and about half of the time when they did - some 70% overall.

Tutte analyzed a decrypted ciphertext with the differenced version of the above function:

Шаблон:Math

and found that it generated some 55% of the time.Шаблон:Sfn Given the nature of the contribution of the psi wheels, the alignment of chi-stream with the ciphertext that gave the highest count of s from Шаблон:Math was the one that was most likely to be correct.Шаблон:Sfn This technique could be applied to any pair of impulses and so provided the basis of an automated approach to obtaining the de-chi (D) of a ciphertext, from which the psi component could be removed by manual methods.

Robinsons

Шаблон:Main Heath Robinson was the first machine produced to automate Tutte's 1+2 method. It was given the name by the Wrens who operated it, after cartoonist William Heath Robinson, who drew immensely complicated mechanical devices for simple tasks, similar to the American cartoonist Rube Goldberg.

The functional specification of the machine was produced by Max Newman. The main engineering design was the work of Frank Morrell[17] at the Post Office Research Station at Dollis Hill in North London, with his colleague Tommy Flowers designing the "Combining Unit". Dr C. E. Wynn-Williams from the Telecommunications Research Establishment at Malvern produced the high-speed electronic valve and relay counters.Шаблон:Sfn Construction started in January 1943,Шаблон:Sfn the prototype machine was in use at Bletchley Park in June.Шаблон:Sfn

The main parts of the machine were:

  • a tape transport and reading mechanism (dubbed the "bedstead" because of its resemblance to an upended metal bed frame) that ran the looped key and message tapes at between 1000 and 2000 characters per second;
  • a combining unit that implemented the logic of Tutte's method;
  • a counting unit that counted the number of s, and if it exceeded a pre-set total, displayed or printed it.

The prototype machine was effective despite a number of serious shortcomings. Most of these were progressively overcome in the development of what became known as "Old Robinson".Шаблон:Sfn

Colossus

Шаблон:Main

Файл:Colossus.jpg
A Mark 2 Colossus computer. The Wren operators are (left to right) Dorothy Du Boisson and Elsie Booker. The slanted control panel on the left was used to set the pin patterns on the Lorenz. The "bedstead" paper tape transport is on the right.
Файл:ColossusRebuild 11.jpg
In 1994, a team led by Tony Sale (right) began a reconstruction of a Mark 2 Colossus at Bletchley Park. Here, in 2006, Sale and Phil Hayes supervise the solving of an enciphered message with the completed machine.

Tommy Flowers' had reservations about Heath Robinson's two synchronised tape loops, and his previous, unique experience of thermionic valves (vacuum tubes) led him to realize that a better machine could be produced using electronics. Instead of the key stream being read from a second punched paper tape, an electronically generated key stream could allow much faster and more flexible processing. Flowers' suggestion that this could be achieved with a machine that was entirely electronic and would contain between one and two thousand valves, was treated with incredulity at both the Telecommunications Research Establishment and at Bletchley Park, as it was thought that it would be "too unreliable to do useful work". He did, however, have the support of the Controller of Research at Dollis Hill, W Gordon Radley,Шаблон:Sfn and he implemented these ideas producing Colossus, the world's first electronic, digital, computing machine that was at all programmable, in the remarkably short time of ten months.Шаблон:Sfn In this he was assisted by his colleagues at the Post Office Research Station Dollis Hill: Sidney Broadhurst, William Chandler, Allen Coombs and Harry Fensom.

The prototype Mark 1 Colossus (Colossus I), with its 1500 valves, became operational at Dollis Hill in December 1943Шаблон:Sfn and became fully operational at Bletchley Park on 5 February 1944.Шаблон:Sfn This processed the message at 5000 characters per second using the impulse from reading the tape's sprocket holes to act as the clock signal. It quickly became evident that this was a huge leap forward in cryptanalysis of Tunny. Further Colossus machines were ordered and the orders for more Robinsons cancelled. An improved Mark 2 Colossus (Colossus II) contained 2400 valves and first worked at Bletchley Park on 1 June 1944, just in time for the D-day Normandy landings.

The main parts of this machine were:Шаблон:Sfn

  • a tape transport and reading mechanism (the "bedstead") that ran the message tape in a loop at 5000 characters per second;
  • a unit that generated the key stream electronically;
  • five parallel processing units that could be programmed to perform a large range of Boolean operations (in the Mark II Colossus);
  • five counting units that each counted the number of s or xs, and if it exceeded a pre-set total, printed it out.

The five parallel processing units allowed Tutte's "1+2 break in" and other functions to be run at an effective speed of 25,000 characters per second by the use of circuitry invented by Flowers that would now be called a shift register. Donald Michie worked out a method of using Colossus to assist in wheel breaking as well as for wheel setting in early 1944.Шаблон:Sfn This was then implemented in special hardware on later Colossi.

A total of ten Colossus computers were in use and an eleventh was being commissioned at the end of the war in Europe (VE-Day).Шаблон:Sfn Of the ten, seven were used for "wheel setting" and 3 for "wheel breaking".Шаблон:Sfn

Special machines

As well as the commercially produced teleprinters and re-perforators, a number of other machines were built to assist in the preparation and checking of tapes in the Newmanry and Testery.Шаблон:SfnШаблон:Sfn The approximate complement as of May 1945 was as follows.

Machines used in deciphering Tunny as of May 1945
Name Function Testery Newmanry
Super Robinson Used for crib runs in which two tapes were compared in all positions. Contained some valves. 2
Colossus Mk.2 Counted a condition involving a message tape and an electronically generated key character stream imitating the various Tunny wheels in different relative positions ("stepping").Шаблон:Sfn Contained some 2,400 valves. 10
Dragons Used for setting short cribs by "crib-dragging" (hence the name).Шаблон:SfnШаблон:Sfn 2
Aquarius A machine under development at the war's end for the "go-backs" of the SZ42B, which stored the contents of the message tape in a large bank of capacitors that acted as an electronic memory.Шаблон:Sfn 1
Proteus A machine for utilising depths that was under construction at the war's end but was not completed.
Decoding Machines Translated from ciphertext typed in, to plaintext printed out. Some of the later ones were speeded up with the use of a few valves.[18] A number of modified machines were produced for the Newmanry 13
Tunnies See British Tunny above 3
Miles A set of increasingly complex machines (A, B, C, D) that read two or more tapes and combined them in a variety of ways to produce an output tape.Шаблон:Sfn 3
Garbo Similar to Junior, but with a Delta'ing facility – used for rectangling.Шаблон:Sfn 3
Juniors For printing tapes via a plug panel to change characters as necessary, used to print de-chis.Шаблон:Sfn 4
Insert machines Similar to Angel, but with a device for making corrections by hand. 2
Angels Copied tapes. 4
Hand perforators Generated tape from a keyboard. 2
Hand counters Measured text length. 6
Stickers (hot) Bostik and benzene was used for sticking tapes to make a loop. The tape to be stuck was inserted between two electrically heated plates and the benzene evaporated. 3
Stickers (cold) Stuck tapes without heating. 6

Steps in wheel setting

Working out the start position of the chi (χ) wheels required first that their cam settings had been determined by "wheel breaking". Initially, this was achieved by two messages having been sent in depth.

The number of start positions for the first two wheels, χ1 and χ2 was 41×31 = 1271. The first step was to try all of these start positions against the message tape. This was Tutte's "1+2 break in" which involved computing Шаблон:Math—which gives a putative (Шаблон:Math)—and counting the number of times this gave . Incorrect starting positions would, on average, give a dot count of 50% of the message length. On average, the dot count for a correct starting point would be 54%, but there was inevitably a considerable spread of values around these averages.Шаблон:Sfn

Both Heath Robinson, which was developed into what became known as "Old Robinson", and Colossus were designed to automate this process. Statistical theory allowed the derivation of measures of how far any count was from the 50% expected with an incorrect starting point for the chi wheels. This measure of deviation from randomness was called sigma. Starting points that gave a count of less than 2.5 × sigma, named the "set total", were not printed out.Шаблон:Sfn The ideal for a run to set χ1 and χ2 was that a single pair of trial values produced one outstanding value for sigma thus identifying the start positions of the first two chi wheels. An example of the output from such a run on a Mark 2 Colossus with its five counters: a, b, c, d and e, is given below.

Output table abridged from Small's "The Special Fish Report".Шаблон:Sfn The set total threshold was 4912.
χ1 χ2 Counter Count Operator's notes on the output
06 11 a 4921
06 13 a 4948
02 16 e 4977
05 18 b 4926
02 20 e 4954
05 22 b 4914
03 25 d 4925
02 26 e 5015 ← 4.6 σ
19 26 c 4928
25 19 b 4930
25 21 b 5038 ← 5.1 σ
29 18 c 4946
36 13 a 4955
35 18 b 4926
36 21 a 5384 ← 12.2 σ ch χ1 χ2  ! !
36 25 a 4965
36 29 a 5013
38 08 d 4933

With an average-sized message, this would take about eight minutes. However, by utilising the parallelism of the Mark 2 Colossus, the number of times the message had to be read could be reduced by a factor of five, from 1271 to 255. Шаблон:Sfn Having identified possible χ1, χ2 start positions, the next step was to try to find the start positions for the other chi wheels. In the example given above, there is a single setting of χ1 = 36 and χ2 = 21 whose sigma value makes it stand out from the rest. This was not always the case, and Small enumerates 36 different further runs that might be tried according to the result of the χ1, χ2 run.Шаблон:Sfn At first the choices in this iterative process were made by the cryptanalyst sitting at the typewriter output, and calling out instructions to the Wren operators. Max Newman devised a decision tree and then set Jack Good and Donald Michie the task of devising others.Шаблон:Sfn These were used by the Wrens without recourse to the cryptanalysts if certain criteria were met.Шаблон:Sfn

In the above one of Small's examples, the next run was with the first two chi wheels set to the start positions found and three separate parallel explorations of the remaining three chi wheels. Such a run was called a "short run" and took about two minutes.Шаблон:Sfn

Output table adapted from Small's "The Special Fish Report".Шаблон:Sfn The set total threshold was 2728.
χ1 χ2 χ3 χ4 χ5 Counter Count Operator's notes on the output
36 21 01 a 2938 ← 6.8 ρ  ! χ3  !
36 21 01 b 2763
36 21 01 c 2803
36 21 02 b 2733
36 21 04 c 3003 ← 8.6 ρ  ! χ5  !
36 21 06 a 2740
36 21 07 c 2750
36 21 09 b 2811
36 21 11 a 2751
36 21 12 c 2759
36 21 14 c 2733
36 21 16 a 2743
36 21 19 b 3093 ← 11.1 ρ  ! χ4  !
36 21 20 a 2785
36 21 22 b 2823
36 21 24 a 2740
36 21 25 b 2796
36 21 01 b 2763
36 21 07 c 2750

So the probable start positions for the chi wheels are: χ1 = 36, χ2 = 21, χ3 = 01, χ4 = 19, χ5 = 04. These had to be verified before the de-chi (D) message was passed to the Testery. This involved Colossus performing a count of the frequency of the 32 characters in ΔD. Small describes the check of the frequency count of the ΔD characters as being the "acid test",Шаблон:Sfn and that practically every cryptanalyst and Wren in the Newmanry and Testery knew the contents of the following table by heart.

Relative frequency count of characters in ΔD.[19]
Char. Count Char. Count Char. Count Char. Count
/ 1.28 R 0.92 A 0.96 D 0.89
9 1.10 C 0.90 U 1.24 F 1.00
H 1.02 V 0.94 Q 1.01 X 0.87
T 0.99 G 1.00 W 0.89 B 0.82
O 1.04 L 0.92 5 1.43 Z 0.89
M 1.00 P 0.96 8 1.12 Y 0.97
N 1.00 I 0.96 K 0.89 S 1.04
3 1.13 4 0.90 J 1.03 E 0.89

If the derived start points of the chi wheels passed this test, the de-chi-ed message was passed to the Testery where manual methods were used to derive the psi and motor settings. As Small remarked, the work in the Newmanry took a great amount of statistical science, whereas that in the Testery took much knowledge of language and was of great interest as an art. Cryptanalyst Jerry Roberts made the point that this Testery work was a greater load on staff than the automated processes in the Newmanry.Шаблон:Sfn

See also

Notes and references

Шаблон:Reflist

Bibliography

Шаблон:Refbegin

Шаблон:Refend

  1. All but two of the Colossus computers, which were taken to GCHQ, were dismantled in 1945, and the whole project was kept strictly secret until the 1970s. Thus Colossus did not feature in many early descriptions of the development of electronic computers.Шаблон:Harvnb
  2. This statement is an over-simplification. The real constraint is more complex, that ab=½. For further details see: Шаблон:Harvnb in 1 Introduction: 12 Cryptographic Aspects, 12A The Problem, (d) Early methods and Шаблон:Harvnb in 42 Early Hand Methods: 42B Machine breaking for March 1942, (e) Value of a and b. Indeed, this weakness was one of the two factors that led to the system being diagnosed.
  3. In more recent terminology, each impulse would be termed a "bit" with a mark being binary 1 and a space being binary 0. Punched paper tape had a hole for a mark and no hole for a space.
  4. Шаблон:Citation
  5. Шаблон:Citation
  6. Initially QSN (see Шаблон:Harvnb in 44 Early Hand statistical Methods: 44A Introduction of the QEP (QSN) System).
  7. Шаблон:Citation
  8. Шаблон:Citation
  9. Шаблон:Harvnb refers to the de-chi as being "pseudo plain"
  10. Шаблон:Citation
  11. Newman c. 1944 p. 387
  12. The five impulses or bits of the coded characters are sometimes referred to as five levels.
  13. Шаблон:Harvnb which reproduces a χ3 cage from the General Report on Tunny
  14. Unlike a full depth, when all twelve letters of the indicator were the same, a partial depth occurred when one or two of the indicator letters differed.
  15. Шаблон:Citation
  16. For this reason Tutte's 1 + 2 method is sometimes called the "double delta" method.
  17. Шаблон:Citation
  18. Шаблон:Harvnb in 51 Introductory: (e) Electronic counters etc.
  19. Adapted from Шаблон:Harvnb