Ciphers are an indispensable tool for mystery, detective, and crime writers.
Most of the ciphers we've talked about here are monoalphabetic ciphers, ciphers where one letter maps to exactly one other letter (The one exception being the Vigenere cipher).
A major problem with monoalphabetic ciphers is that they are very easy to break,
especially if you have a lot of text to work with. So, if you have a few short
sentences (like in the adventure of the dancing men), it can be quite
challenging to the detective, but if the message is a few paragraphs, your
detective can probably break it in their sleep.
With polyalphabetic ciphers, one letter maps
to more than one other letter. What this does is it hides the distribution of
letters in the text, making statistical analysis difficult (not impossible) and it hides common, short words that give the
cipher away, such as ‘the’, ‘a’, ‘on’ ‘in’, ‘is’ and so on. This makes
the cipher significantly harder to crack. Of course, a lot of these can be broken
by a computer bruteforcing it given enough time, but again, a lot of people
aren’t very clear on how to get a computer to bruteforce something.
The Playfair cipher
This is a cipher that has been used for military applications for real in world war 1 and world war II. Of course, with modern computers breaking it in a fraction of a second, it is no longer secure enough for that purpose.
What's interesting about this cipher is that it encrypts pairs of letters, or bigrams rather than single letters. This means, instead of trying to find statistical data for the usual 26 letters, you’d be looking for statistical data for 600 combinations of letters. This makes it impossible to break without a considerable amount of text to start with.
At the heart of the Playfair cipher is a five by five
square grid. You’re going to need a key for this
cipher to work, so let’s go with cipher because why not? The first thing to do
is to fill the grid with the cipher. If there are any repeated letters in your
keyword or phrase, skip them the second or third time they appear.
Once that is done, fill the table with the rest of the
letters of the alphabet. There are only 25 places in the grid, so
you can write only 25 letters. Some people drop Q, or some such uncommon
letter, and let the person who deciphers the cipher figure out that the letter is missing (or you can communicate that to them which is probably the better option). I prefer to
combine I and J, because that’s what was done with the Latin alphabet in the
early days.
Incidentally, that is why you have 600 pairs – the combinations possible are non-repeated letter pairs as you will see, so you will have 25 choices in your first choice and 24 the second time. This gives 25x24 combinations.
Ciphering
To see how the cipher works, let’s take the following phrase: hello world.
The first thing to do would be to break it into pairs of
letters, and separate any double letters. You can use X for the purpose. You
can also use it to form a bigram for any letters that are left over like D in
this case. You can also use any letter that isn’t common in repeated pairs,
like Q, instead of X.
HE LX LO WO RL DX
Now, we cipher it bigram by bigram. The first bigram is HE.
Both are on the first row. When we’re dealing with a single row, we replace
each letter with the one to the right, wrapping left. That gives EC.
The next pair, LX, is on the same column. This is similar to
the last one, as in, we replace each letter with the one below it, again,
wrapping up if we have to. Here, that gives us SP.
The next pair is LO. Here, the two are one different rows and columns. In that case, we form a rectangle with the two letters, and each letter is replaced by the letter in the same row as it and in the same column as the other in the pair. This gives GS.
WO is another rectangle, so we follow the same procedure as
the previous one: same row, opposite column. That gives VQ (try is out yourself, or look at the video to see how it's done).
RL is another rectangle, using the same process, we get BG.
DX is another rectangle, and again we using the same process
to get BY.
So our ciphered message is EC SP GS VQ BG BY.
Deciphering
Once you've ciphered the message, someone has to decipher it in order to read it. To decipher it, we do the same in reverse.
Our first pair is EC. They’re on the same row, so we replace each
letter by the one to left, wrapping to the right if necessary. That gives HE.
The second pair, SP is on the same column, so replace each
letter by the one above it, wrapping down if necessary. That gives LX.
The third, GS, is a rectangle, so it’s same column opposite
row again. That gives LO.
The fourth, VQ is another rectangle, and with the same
process, we get WO.
BG is another rectangle, and again we get RL.
BY is another rectangle, and deciphering gives DX.
The deciphered message is 'HE LX LO WO RL DX'. You can get rid of the X's, and rearrange the spacing, in order to get our original message, ‘HELLO WORLD’.
That is the basics of how the Playfair cipher works. Have fun with it (Maybe try different keys, longer keyphrases, and try enciphering paragraphs for practice).
That’s it on the playfair cipher for now. If you have any
questions of comments, well, mention it in the comments below.
You can follow me on Facebook here or on YouTube here.
See you next time!