To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
We investigate a graph function which is related to the local density, the maximal cut and the least eigenvalue of a graph. In particular it enables us to prove the following assertions.
Let p [ges ] 3 be an integer, c ∈ (0, 1/2) and G be a Kp-free graph on n vertices with e [les ] cn2 edges. There exists a positive constant α = α (c, p) such that:
(a) some [lfloor]n/2[rfloor]-subset of V (G) induces at most (c-4 − α) n2 edges (this answers a question of Paul Erdős);
(b) G can be made bipartite by the omission of at most (c-2 − α) n2 edges.
We shall pack circuits of arbitrary lengths into the complete graph KN. More precisely, if N is odd and [sum ]ti=1mi = (N2), mi [ges ] 3, then the edges of KN can be written as an edge-disjoint union of circuits of lengths m1,…,mt. Since the degrees of the vertices in any such packing must be even, this result cannot hold for even N. For N even, we prove that if [sum ]ti=1mi [les ] (N2) − N−2 then we can write some subgraph of KN as an edge-disjoint union of circuits of lengths m1,…,mt. In particular, KN minus a 1-factor can be written as a union of such circuits when [sum ]ti=1mi = (N2) − N−2. We shall also show that these results are best possible.
Suppose that we have a long sequence of 0s and 1s, that is a long binary sequence. What do we mean when we say that the sequence is ‘random’? As an obvious first criterion it seems reasonable to expect that it will contain ‘about as many 0s as 1s’; but what do we mean by ‘about’?
If the sequence is exactly 1000 digits in length we would not necessarily expect it to contain exactly 500 0s and 500 1s, but if it contained, say, 700 0s and 300 1s we would surely think that it was not a random sequence. Somewhere between these two extremes would mark the limit of acceptability of what we would be prepared to accept as random: 530 0s and 470 1s for example; but another person might set different limits. Suppose, however, that the sequence did in fact consist of 500 0s followed by 500 1s. Since there are exactly 500 of each digit can we consider the sequence to be random? Clearly not, since in a random sequence we would expect the four two-digit numbers, 00, 01, 10 and 11, each to occur ‘about 250’ times but in this sequence 00 and 11 both occur 499 times, 01 occurs only once and 10 doesn't occur at all. Even if the sequence passes this test we could then ask whether the eight three-digit numbers 000, 001, 010, 011, 100, 101, 110 and 111 each occur ‘about 125’ times, and so on.
In this chapter we look at a number of cipher systems which are based upon a different idea to those that we have met so far. In these systems each letter retains its own identity and so the frequencies of the individual letters of the messages are unchanged but the constituent letters of the digraphs, and the higher order polygraphs, are separated and, consequently, their original plaintext frequencies are destroyed. Since the method used in trying to solve them is rather like that of piecing together a jigsaw I have grouped them under the (unofficial) name of ‘jigsaw ciphers’. The simplest such systems are called
Transpositions
The cipher systems that we have examined in the earlier chapters have been based on substitution alphabets, where each letter is replaced by another letter but the order of the letters in a message is unchanged. An alternative approach is to leave the letters of the message unaltered but change their order. The result is that the cipher message is an anagram of the plaintext message. The simplest way of doing this to use a transposition system.
Simple transposition
In a simple transposition system the message is first written into a box, usually a rectangle, which has been divided up into squares by a number of horizontal and vertical lines. The number of vertical lines is fixed by a numerical or literal key; the number of horizontal lines may be fixed or may be determined by the length of the message.
In the Julius Caesar cipher each letter of the alphabet was moved along 3 places circularly, that is A was replaced by D, B by E … W by Z, X by A, Y by B and Z by C. Although Julius Caesar moved the letters 3 places he could have chosen to move them any number of places from 1 to 25. There are therefore 25 versions of the Julius Caesar cipher and this indicates how such a cipher can be solved: write down the cipher message and on 25 lines underneath it write the 25 versions obtained by moving each letter 1, 2, 3, …, 25 places. One of these 25 lines will be the original message.
Example 2.1
The text of a message enciphered by the Julius Caesar System is
VHFX TM HGVX
Decrypt the message.
Solution
We write out the cipher message and the 25 shifted versions, indicating the shift at the left of each line (see Table 2.1), and we see that the cipher used a shift of 19, for the cipher text is shifted 7 places to give the plain and this means that the plaintext has to be shifted (26–7) = 19 places to give the cipher. It looks very likely, on the assumption that no other shift would have produced an intelligible message, that we have correctly decrypted the message and so there is no point in writing out the remaining lines.
For at least two thousand years there have been people who wanted to send messages which could only be read by the people for whom they were intended. When a message is sent by hand, carried from the sender to the recipient, whether by a slave, as in ancient Greece or Rome, or by the Post Office today, there is a risk of it going astray. The slave might be captured or the postman might deliver to the wrong address. If the message is written in clear, that is, in a natural language without any attempt at concealment, anyone getting hold of it will be able to read it and, if they know the language, understand it.
In more recent times messages might be sent by telegraph, radio, telephone, fax or e-mail but the possibility of them being intercepted is still present and, indeed, has increased enormously since, for example, a radio transmission can be heard by anyone who is within range and tuned to the right frequency whilst an e-mail message might go to a host of unintended recipients if a wrong key on a computer keyboard is pressed or if a ‘virus’ is lurking in the computer.
Virtually anyone who can read will have come across codes or ciphers in some form. Even an occasional attempt at solving crosswords, for example, will ensure that the reader is acquainted with anagrams, which are a form of cipher known as transpositions. Enciphered messages also appear in children's comics, the personal columns of newspapers and in stories by numerous authors from at least as far back as Conan Doyle and Edgar Allan Poe.
Nowadays large numbers of people have personal computers and use the internet and know that they have to provide a password that is enciphered and checked whenever they send or receive e-mail. In business and commerce, particularly where funds are being transferred electronically, authentication of the contents of messages and validation of the identities of those involved are crucial and encipherment provides the best way of ensuring this and preventing fraud.
It is not surprising then that the subject of codes and ciphers is now much more relevant to everyday life than hitherto. In addition, public interest has been aroused in ‘codebreaking’, as it is popularly known, by such books and TV programmes as those that have been produced following the declassification of some of the wartime work at Bletchley, particularly on the Enigma machine.
Cipher systems range in sophistication from very elementary to very advanced.
A spy operating in country X on behalf of country Y has the problem of communicating with his controller in such a way as to protect both himself and the contents of his messages. No matter how he sends his messages they will have to be ‘modified’ somehow so that their true meaning is hidden from anyone but the intended recipient. There are methods, such as the use of microdots or ‘invisible’ ink, which do not, per se, involve encipherment although some ‘modification’ of the text even in such cases would probably be used to provide extra security. When we say that a text has been ‘modified’ we do not necessarily mean that it has been enciphered but that the ‘secret’ text is not simply sent in an unaltered form: it might, for example, be hidden inside an apparently innocuous message.
Hiding a secret text inside an innocuous one has the advantage that, being apparently unenciphered, it will not automatically attract the interest of unintended recipients or interceptors, such as the security forces of country X. A disadvantage is that it may not be too easy to construct a realistic non-secret text in which to embed it. Here is a simple illustration.
Example 7.1 (‘Part of a letter from Agent 63’)
As I was walking through the centre of town yesterday morning at about eleven thirty I chanced to see Ron Kingston. He was alone, driving a newish-looking ultramarine car, a Ford Escort. Previously he's had only second-hand cars, not often less than three years old.
In Chapter 2 we looked at simple substitution ciphers and we saw how these can be solved by the use of frequency counts if ‘sufficient’ cipher text is available. How many letters are always ‘sufficient’ is a matter for debate, but it is probably true that 200 letters will normally suffice whereas 50 might not. For our purposes let us assume that if only 25 letters of cipher are available then the cipher is safe. Since a limitation of message lengths to no more than 25 letters would be too restrictive we conclude that the use of a simple substitution cipher is impractical. If, however, we use not one but several different simple substitution alphabets, switching between the alphabets every time we encipher a letter, we can increase the security of the system. As a rough guide: if we use N different alphabets it should be possible to make the cipher safe for single messages of up to 25N cipher letters; but this simple rule needs qualification. If the substitution alphabets are related in some way the recovery of any one of them may lead to recovery of the others. On the other hand, in some systems, additional features may ensure that cipher messages of much greater length than 25N are secure.
As was mentioned in Chapter 1, the distinction between codes and ciphers is not always clear, but one might reasonably say that whereas most codes tend to be static most ciphers are dynamic. That is to say that a letter or phrase enciphered simply by means of a code will produce the same cipher each time the code is used, whereas a letter or phrase enciphered by a cipher system will generally produce different cipher text at different times. This is because most cipher systems involve one or more parameters, such as keywords or, as we shall see later, wheel settings, which are changed at regular or irregular intervals and so cause the cipher outputs from the same plaintext to be different. The basic mechanism, or algorithm, for generating the cipher doesn't change, but the parameters do. In general, a code has no such parameters though the entire code may itself be changed, in which case it becomes a different code. In practice this is achieved by issuing a new code-book every now and then. Using this criterion the Julius Caesar cipher would be classed as a code, because the encipherment of a fixed letter across many messages is invariably the same.
The weakness of the Julius Caesar system is that there are only 25 possible decrypts and so the cryptanalyst can try them all. Life can obviously be made more difficult for him if we increase the number of cases that must be tried before success can be assured. We can do this if, instead of shifting each letter by a fixed number of places in the alphabet, we shift the letters by a variable amount depending upon their position in the text. Of course there must be a rule for deciding the amount of the shift in each case otherwise even an authorised recipient won't be able to decrypt the message. A simple rule is to use several fixed shifts in sequence. For example, if instead of a fixed shift of 19 as was used in the message
COME AT ONCE
in the last chapter and which enciphered to
VHFX TM HGVX
we use two shifts, say 19 and 5, alternately, so that the first, third, fifth etc. letters are shifted 19 places and the second, fourth etc. are shifted 5 places then the cipher now becomes
VTFJ TY HSVJ.
If we replace the space character by Z in the message and use three shifts, say 19, 5 and 11, in sequence the plaintext becomes
COMEZATZONCE.
The cipher is now
VTXXELMEZGHP
and the key which provides the encipherment is 19–5–11.
In a simple substitution cipher the letters of the alphabet are replaced by a permutation of themselves. We have seen that such a cipher is easily solved, given as few as 200 letters, by counting their frequencies and using knowledge of the language. To use such a cipher simply requires a 26-long table of the permuted alphabet. If, say, A was replaced by R, N by C and T by H then AN would become RC in the cipher and AT would become RH. Thus R, the substitution for A, would appear both times.
Since a simple substitution cipher replaces single letters by the same letter each time, irrespective of whatever letter precedes or follows them, the frequency count attack will ultimately succeed. To counteract this if we had a system where the encipherment of a letter depended on some of the letters on either side of it then AN might encipher to RC whereas AT might encipher to, say, KW and the monograph frequency count method would fail. Such a system could be based upon a substitution table which listed all 676 (=26×26) digraphs and their cipher equivalents. Effectively we would have a two-part code-book; the first part would list all 676 plaintext digraphs in alphabetical order on the left of the pages with their cipher equivalents listed opposite them on the right. The second part would list the 676 cipher digraphs in alphabetical order on the left with their plaintext equivalents on the right.