More on this book
Community
Kindle Notes & Highlights
by
Simon Singh
Started reading
October 2, 2022
The word “code” refers to a very particular type of secret communication, one that has declined in use over the centuries. In a code, a word or phrase is replaced with a word, number or symbol.
The alternative to a code is a cipher, a technique that acts at a more fundamental level, by replacing letters rather than whole words.
Secret communication achieved by hiding the existence of a message is known as steganography, derived from the Greek words steganos, meaning “covered,” and graphein, meaning “to write.”
cryptography itself can be divided into two branches, known as transposition and substitution.
In transposition, the letters of the message are simply rearranged, effectively generating an anagram.
In order for transposition to be effective, the rearrangement of letters needs to follow a straightforward system, one that has been previously agreed by sender and receiver, but kept secret from the enemy.
In transposition each letter retains its identity but changes its position, whereas in substitution each letter changes its identity but retains its position.
Kerckhoffs’ Principle: The security of a cryptosystem must not depend on keeping secret the crypto-algorithm. The security depends only on keeping secret the key.” Figure 4 To encrypt a plaintext message, the sender passes it through an encryption algorithm.
Kindī’s explanation is easier to explain in terms of the English alphabet. First of all, it is necessary to study a lengthy piece of normal English text, perhaps several, in order to establish the frequency of each letter of the alphabet. In English, e is the most common letter, followed by t, then a, and so on, as given in Table 1. Next, examine the ciphertext in question, and work out the frequency of each letter. If the most common letter in the ciphertext is, for example, J then it would seem likely that this is a substitute for e. And if the second most common letter in the ciphertext is
...more
Focusing on words with only one letter is a standard cryptanalytic trick, and I have included it among a list of cryptanalytic tips in Appendix B. This particular trick works only because this ciphertext still has spaces between the words. Often, a cryptographer will remove all the spaces to make it harder for an enemy interceptor to unscramble the message.
Technically, a code is defined as substitution at the level of words or phrases, whereas a cipher is defined as substitution at the level of letters.
Figure 7 The science of secret writing and its main branches.
A nomenclator is a system of encryption that relies on a cipher alphabet, which is used to encrypt the majority of a message, and a limited list of codewords.
The crucial advantage of Alberti’s system is that the same letter in the plaintext does not necessarily appear as the same letter in the ciphertext, so the repeated l in hello is enciphered differently in each case. Similarly, the repeated A in the ciphertext represents a different plaintext letter in each case, first h and then l.
The various candidates included the remarkably effective homophonic substitution cipher. Here, each letter is replaced with a variety of substitutes, the number of potential substitutes being proportional to the frequency of the letter. For example, the letter a accounts for roughly 8 per cent of all letters in written English, and so we would assign eight symbols to represent it.
In 1823 Babbage designed “Difference Engine No. 1,” a magnificent calculator consisting of 25,000 precision parts, to be built with government funding.
Lack of government funding meant that Babbage never completed Difference Engine No. 2. The scientific tragedy was that Babbage’s machine would have been a stepping-stone to the Analytical Engine, which would have been programmable. Rather than merely calculating a specific set of tables, the Analytical Engine would have been able to solve a variety of mathematical problems depending on the instructions that it was given. In fact, the Analytical Engine provided the template for modern computers. The design included a “store” (memory) and a “mill” (processor), which would allow it to make
...more

