Académique Documents
Professionnel Documents
Culture Documents
Abstract. In this contribution I want to present the extract of the article about Rejewskis solution of Enigma cipher, which is being prepared. The story of Enigma is a part of modern cryptology. However, there still remain some unclear facts about Enigma. The reason is that the information were for a long time classied, now there is a lack of reliable sources. Moreover, some of the reports are even conicting. Main subject is an analysis of the method developed by Rejewski to reveal the internal connections in the machine. His description is not complete, it is impossible to calculate the internal wirings of all three rotors by the method he developed. I present here one of the two new methods how to calculate the connections in the third rotor together with the probability of having suitable data for this method. In original article there is also a detailed analysis of the complexity of Rejewskis method.
Introduction
Rejewskis calculation of the internal wiring of the military Enigma machine in December 1932 is one of the most remarkable events in the history of cryptology. The importance of Enigma and its solution before and during the WWII was described e.g. in [Bauer, 2000; Kozaczuk, 1984]. These sources emphasize the signicance of contribution by Rejewski and also by his colleagues from the Polish military cryptanalytical service during the period between 1932 and 1939. Subsequent history of breaking the Enigma cipher in Bletchley Park during the WWII can be found e.g. in [Singh, 1999] Rejewski himself described his solution in two dierent manuscripts [Rejewski, 1940; Rejewski, 1967] (available only in Polish). Only long after the end of the WWII, in 1980, two papers prepared by Rejewski were published (only posthumously) in English. Probably due to historical circumstances (the rst monograph was prepared in France in 1940, the second one in Poland in 1967), Rejewskis description of his work is rather brief in some aspects. Moreover, long breaks between writing dierent papers (after the WWII Rejewski lived in the then Communist Poland and had in fact to hide his work for the prewar Polish Government as well as for the Polish Government in exile in London in the years 1940-1945) probably contributed to the fact that some moments in the history of solving the Enigma cipher were described in dierent manuscripts in a dierent way. In this paper we summarize the basic steps of Rejewskis reconstruction of the Enigma machine and attempt to ll in some missing points. Some of the information described in Rejewskis Polish manuscripts appear here for the rst time in English. We shall assume familiarity with the operation of the military Enigma machine and its basic operations. Details can be found e.g.in [Kruh, 1985].
124
enciphering the three letters of the message key. If we denote by L, M , N the three rotors (from left to right), by R the reector, by H the connections from plugboard to the entry wheel, by S the connections in the plugboard and by P the permutation cyclically rotating the letters of the alphabet, we can express these six permutations through the internal settings of the machine, see [Rejewski, 1980a]: A B C D E F = = = = = = SHP N P 1 M LRL1M 1 P N 1 P 1 H 1 S 1 SHP 2 N P 2 M LRL1M 1 P 2 N 1 P 2 H 1 S 1 SHP 3 N P 3 M LRL1M 1 P 3 N 1 P 3 H 1 S 1 SHP 4 N P 4 M LRL1M 1 P 4 N 1 P 4 H 1 S 1 SHP 5 N P 5 M LRL1M 1 P 5 N 1 P 5 H 1 S 1 SHP 6 N P 6 M LRL1M 1 P 6 N 1 P 6 H 1 S 1 .
(1)
Unfortunately, the permutations A,. . ., F were unknown as well as the permutations H , M , N , L, R, S . However, Rejewski noticed, that he could extract some information from the encrypted message keys: suppose we have intercepted the following indicator dmq vbf Rejewski assumed that this was an encrypted version of a doubled message key xyzxyz . It means that xA = d and also xD = v . But because also dA = x (self-reciprocity), we get by substitution for x from the last expression that dAD = v It means that the image of the letter d by the permutation AD is the letter v . If we have enough enciphered messages from one day (according to Rejewski about 80 messages [Rejewski, 1980b; Rejewski, 1940] or even 60 messages [Rejewski, 1980a], we can reconstruct the whole permutation AD. Permutation Theory Now it is necessary to introduce some denitions and state some known facts from the theory of permutations. Denition 1. The alphabet is the permutation on the set of 26 letters {a, b, c, . . . , x, y, z }, which comprises of 13 disjunctive cycles of length 2 (transpositions). Remark 2. The term alphabet uses Turing [Turing, 1940] mostly for the whole permutation, which denes, how each of the letters will be enciphered in one particular setup of the machine. Denition 3. The characteristic is the permutation on the set of 26 letters {a, b, c, . . . , x, y, z }, which is composed from two alphabets. Remark 4. Rejewski uses in his texts the expressions characteristic of a given day only for three permutations AD, BE and CF . Lemma 5. Two permutations X and Y are conjugated (i.e. there exists Z , such that X = ZY Z 1 ) if and only if they are of the same type (i.e. they have the same cyclic type). From the proof of this well known lemma we get also an easy recipe, how to construct the permutation Z , which conjugates permutations X and Y provided they have the same cyclic type. It is enough to subscribe the cycles of the permutation Y beneath the cycles of the same length of the permutation X and we can directly see the mapping Z - image of each letter is right beneath. This also shows us, how many such permutations Z we can construct and that the number depends on the cyclic type of the permutations X and Y . We denote by ki the number of cycles of length i in permutation X (or Y ). Then the number of possible permutations Z is:
n
iki ki ! ,
i=1
(2)
This is because there are ki ! ways of ordering cycles of length i and each such cycle can be written in i dierent ways. The important theorem on product of two alphabets follows (this theorem and its proof can be found in [Rejewski, 1980b]):
125
Theorem 6. For a permutation A there exist two alphabets X and Y such that A = XY , if and only if A contains an even number of cycles of each length. From this theorem and denition 3 we can see following straightforward corollary. Corollary 7. Each characteristic contains an even number of cycles of each length. Rejewski was then able to decompose the characteristics AD, BE and CF into the alphabets . This decomposition is not unique, but thanks to stereotypical selection of message keys by operators Rejewski was able to choose the right one (details can be found e.g. in [Rejewski, 1980a; Rejewski, 1967]). Simplifying The Equations There were still too many unknowns in the equations. At this point Rejewski got help from espionage as it was mentioned before. From the tables of daily keys he obtained the permutation S and the starting positions of the rotors for each day. Another problem was the permutation H . Rejewski found out that if he knew the connections to the entry wheel, the system of equation would be solvable. First he supposed, these connections are the same as in a commercial model (the letters were wired to the entrance wheel in the order of keys on the Enigma keyboard), but after many computations it gave no results. Rejewski then tried the lucky guess, that maybe the letters were wired to the entrance wheel in alphabetical order (thus H was identical permutation) and this guess showed up as the right one. Then we can continue as follows. Let us rst dene the permutation Q to shorten the equations. Q = M LRL1M 1
def
(3)
Now we can transform the set of equations 1, using the substitution 3, in such way that we put as much as possible known permutations on the left sides of the equations. Let us denote these left sides by the letters U ,. . .,Z : U V W X Y Z
def
= N P 1 QP N 1 = N P 2 QP 2 N 1 = N P 3 QP 3 N 1 = N P 4 QP 4 N 1 = N P 5 QP 5 N 1 = N P 6 QP 6 N 1 (4)
def
def
def
DSHP
def
P 5 H 1 S 1 ESHP 5 P 6 H 1 S 1 F SHP 6
def
(5)
(6)
Now we can see that the permutations U V , V W , etc. are conjugated by N P N 1 . From each of the equations 6 we can get typically several dozens solutions for N P N 1 and there is almost always only one common solution for all these equations. Thus we have N P N 1 , which is conjugated with P by N . Therefore we have 26 solutions for N . These solutions are in fact close to each other, they dier only in the torsion of two sides of the rotor.
126
Table 1. Possible orders of the rotors. a) b) c) d) 1st month LM N LM N LM N LM N 2nd month LN M N LM MNL NML unknown rotor L L M M
127
For i = 0, 1, 2 we calculate R from the equation 8 for Bi and substitute it to the corresponding equation for Ai in 7. We get A0 A1 A2 = = = N M LP v L1 P v P r M 1 P r P s N 1 P s B0 P s N P s P r M P r P v LP v L1 M 1 N 1 P N P 1 M LP v L1 P v P r M 1 P r P s+1 N 1 P s1 B1 P s+1 N P s1 P r M P r P v LP v L1 M 1 P N 1 P 1 P 2 N P 2 M LP v L1 P v P r M 1 P r P s+2 N 1 P s2 B2 P s+2 N P s2 P r M P r P v LP v L1 M 1 P 2 N 1 P 2 .
(9)
To simplify the equations 9 we denote by Qi for i = 0, 1, 2 the following expressions Q0 Q1 Q2 = = = P v P r M 1 P r P s N 1 P s B0 P s N P s P r M P r P v P v P r M 1 P r P s+1 N 1 P s1 B1 P s+1 N P s1 P r M P r P v P v P r M 1 P r P s+2 N 1 P s2 B2 P s+2 N P s2 P r M P r P v . (10)
Now we move as many known permutations as we can to the left side: M 1 N 1 A0 N M M 1 P N 1 P 1 A1 P N P 1 M M 1 P 2 N 1 P 2 A2 P 2 N P 2 M = = = LP v L1 Q0 LP v L1 LP v L1 Q1 LP v L1 LP v L1 Q2 LP v L1 . (12)
From these two equations we can compute LP v L1 and then L in the same way as Rejewski calculated the permutation N . The number of solutions for L depends on v . Because of our assumption v odd and dierent from 13 the permutation P v contains only one cycle of length 26 which gives us only 26 possible solutions for L. We excluded the case v = 13 since then he permutation P v would have 13 cycles of length 2 which would gave us 213 13! dierent solutions for L and it would be far more dicult to choose the right one. In calculations of L we have never used the assumption that v is odd. In fact we could proceed in the same way even in if v was even. In such a case we would obtain 2 132 = 338 solutions for L, since P v has 2 cycles of length 13 if v = 0. Computation of The Probability Suppose the daily keys for each day from the month we used were selected independently and randomly. Thus the probability of each of the 26 possible positions of the left rotor is 1/26 in each of the days of the month. What is the probability of nding two days from the month such that the dierence of the positions of the left rotor is odd and dierent from 13? It depends of course on from how many days of the month we have enough encrypted messages. Let us denote the number of suitable days by n. We assume n 2. Let us denote by pn the probability that we nd among these n days two days when the dierence between the positions of the left rotor is odd and dierent from 13. In what follows we compute the number qn = 1 pn , which is the probability that in arbitrarily chosen two days out of our set of n days the dierence of the positions of the left rotor is always even or 13. We will proceed by induction on n. In the next part we denote by a natural number x {0, 1, . . . , 25} the position of the left rotor. We introduce the following denition: Denition 8. A bad sequence of length n is a sequence x1 , x2 , . . . , xn of positions of the left rotor in n days such that there is no pair of two days among these n days where the dierence between the positions of the left rotor in these two days is odd and dierent from 13. If we have a bad sequence x1 , x2 , . . . , xn1 of length n 1, then we call a position xn for the n-th day bad if the sequence x1 , x2 , . . . , xn is also bad. By sn we denote the number of bad sequences of length n. Then we have qn = sn /26n .
128
If n = 2 then for any position x1 there are 14 bad positions x2 for the second day. Thus s2 = 26 14 and q2 = 7/13. In general for n 3 we have the following situation. We denote the position of the left rotor for the i-th day by xi . Then the probability qn is the ratio of the number of the bad sequences x1 , x2 , . . . , xn to the number of all possible sequences. We will compute qn by an induction on n. Suppose we already know qn1 . We divide all possible bad sequences of length n into three groups: 1. If |x1 x2 | = 0, then we can identify these two days since the positions of the left rotor in these two days are the same. Then we have a bad sequence x2 , . . . xn of length n 1. Therefore the number of those bad sequences of length n where x1 = x2 is sn1 . 2. If |x1 x2 | = 13 (there are 26 possibilities for the pair x1 , x2 in this case), then there are only two bad positions out of all 26 possible positions for every i, i = 3, . . . , n, namely those that are the same as x1 or x2 . In all other cases the dierence between the position xi , i = 3, . . . , n and one of the positions x1 , x2 is odd. Thus the number of bad sequences of this type and of length n is 26 2n2 . 3. If |x1 x2 | is even and nonzero (there are 26 12 possibilities for the pair x1 , x2 in this case), then there are 13 bad positions out of all 26 possible positions for every i, i = 3, . . . , n. It follows from the obvious fact that if for example the dierence |xi x1 | = 13, then the dierence |xi x2 | is again odd and dierent from 13. Thus the number of bad sequences of this type and of length n is 26 12 13n2 . Therefore we get sn1 + 26 2n2 + 26 12 13n2 qn1 6 1 = + (14) + n n 2 26 26 26 13 13 2n2 The values of pn for 2 n 15 can be found in Table 2, for n 16 the value of pn 99, 995. qn = Table 2. The probability of having suitable data with respect to the number of days, from which we have enough enciphered material. n pn n pn 2 46.15 9 99.61 3 74.56 10 99.80 4 87.46 11 99.90 5 93.75 12 99.95 6 96.87 13 99.98 7 98.44 14 99.99 8 99.22 15 99.99
References
Bauer F. L., Decrypted secrets: Methods and Maxims of Cryptology, 2nd edition. Springer-Verlag, Berlin, 2000. Kozaczuk W., Enigma: How the German Machine Cipher Was Broken, and How It Was Read by the Allies in World War Two, Edited and Translated by Christopher Kasparek. Frederick, Maryland: University Publications of America, Inc, 1984. Deavours, Cipher A. and Louis Kruh, Machine Cryptography and Modern Cryptanalysis, Norwood, MA:Artech House. See Chapter III, 1985. Rejewski M., How the Polish Mathematicians Broke Enigma. Reprinted in [Kozaczuk, Appendix D, 1984], 1980a. Rejewski M., An Application of The Theory of Permutations in Breaking The Enigma Cipher, Applicationes Mathematicae 16, No. 4, Warsaw. Available at http://mad.home.cern.ch/frode/crypto/rew80.pdf, 1980b Rejewski M., Enigma (1930-40), Method and History of Solving The German Machine Cipher. Unpublished manuscript (in Polish). Available at http://www.spybooks.pl/en/enigma.html, about 1940. Rejewski M., Memories from My Work in Cipher Bureau Section II of General Sta in the years 1930-1945. Unpublished manuscript (in Polish). Available at http://www.spybooks.pl/en/enigma.html, 1967. Turing Alan M., Turings Treatise on Enigma. NARA College Park, Maryland, Record Group 457, Historic Cryptographic Collection, Box 201, NR 964. This document is being edited by Frode Weirud, Ralph Erskine and Philip Marks for publication on Frode Weiruds website. Several chapters have been published already at: http://frode.home.cern.ch/frode/crypto/Turing, 1940. S. Singh, The Codebook, The Evolution of Secrecy from Mary Queen of Scots to Quantum Cryptography, Doubleday, New York, 1999.
129