A history of messaging and encryption
I recently attended the UK MVP Open Day at Bletchley Park, and have been inspired to provide a little distraction to show-off a few capabilities of my own competency, Microsoft Visio. Bletchley Park is known as the code-cracking centre where the Enigma code was broken in the Second World War. It continued to unlock supposedly secret messages for many years after the war, but now is a fascinating museum and, for many, the birthplace of information technology.
The picture above is of the Witch, or the Harwell Dekatron Computer, that was completed in 1951. It is the world’s oldest working computer, having been restored in 2012. It was one of many inventions at Bletchley for the purpose of cracking coded messages.
Humans have been sending messages to each other for thousands of years, with varying degrees of secrecy. Early civilizations used smoke signals to transmit over distances, but even earlier humans waved their arms and sticks to try to send signals. Eventually this was formalised into a system of mechanical arms that could be set to represent different characters. All it needed was someone to decode the position of the arms at a distance. These semaphore towers could then be installed in a relay so that messages could be sent over hundreds of miles. Claude Chappe setup such a system during the French Revolution in 1791, and the first recorded message is shown below:
Semaphore flags were found to be extremely useful by the maritime industry, and was further developed during the early 1800’s. The international standard then still exists, with different coloured flags when on land and at sea.
Semaphore in Visio
A single Visio contains all of the flag positions, so that changing the Character value in the Shape Data window will move the arms accordingly.
The page also has Shape Data, where the At Sea? Value can be changed, and thus the flag colours change. The label can be hidden for learning, and there is also a setting for changing the flags randomly. The flags can be dropped into a special List container, that displays the characters within it. The Semaphore Flag SmartShapes are available here.
Of course, semaphore can be used to send messages, and the famous Beatles’ Help album cover was supposed to be sending out a plea to the world. They may have been sending out an encrypted message, but the reality is that the artistic director thought the actual letters did not make for a pretty enough combination!
The famous Beatles Help album cover
What it should have looked like
What they actually signed
Semaphore is limited
Semaphore relied on line of sight and someone to interpret messages from one direction, and then to relay them on to another.
The search was on for a reliable messaging system that could be sent over longer distances. Samuel Morse developed the telegram as a series of electrical pulses sent over metal cables. The first recorded messages, shown below, were sent in 1844 from the Capitol in Washington, USA to Old Mt. Clare Depot in Baltimore.
By 1861, the two coasts of the USA were connected by overland telegraph lines. The Morse Code SmartShapes are available here. The shapes are similar to the Semaphore Flag ones, with each character selectable in the Shape Data window. The power of these Visio shapes is purely in the ShapeSheet. There is no other coding required. The following screenshot shows the Shape Data section, and how the Value for the selected Character is used in other cells, as shown in the Formula Tracing window.
Nowadays, we are used to using a keyboard that translates characters into numbers for transmission, that are re-displayed as characters for legibility. However, the choice of font can have a dramatic effect on the recognition of actual words. For example, the following phrase is shown with the Webdings font:
It actually says “SIGN O’ THE TIMES RIP PRINCE”. Even a simple obfuscation can be confusing, but pretty. SmartShapes available here.
Obfuscation is obviously not enough to get a message through without being understood by a man-in-the-middle attack - that is where a supposedly secret message is intercepted in one way or another. Therefore, it is necessary to encrypt messages. At the Open Day, we were treated to a talk from Simon Singh, author of The Simpsons and their Mathematical Secrets (which we all got a signed copy of). He had an actual Enigma machine with him and he talked about one of his earlier books, The Code Book: The Secret History of Codes and Code-breaking - very interesting! Simon described various methods of encryption, in varying degrees of breakability. One of these methods is a simple cipher, where a keyword that does not contain multiple same characters is inserted at the start of the alphabet and then the characters in the keyword are omitted from the alphabet. It is then a simple matter of reading the character from the proto-alphabet in the same position as the actual character in the original alphabet. So, using the keyword CAT, and a characters set of just capital letters, would encrypt DOG to BNF:
Decryption just requires the keyword and the alphabet being used.
Encryption in Visio
So, I made a Visio shape, using just ShapeSheet formulas, that can encrypt any phrase using a keyword. The keyword and alphabet, which can include lowercase and special characters too, are entered into Shape Data rows in the page, shown in blue below. The text to encrypt, such as “Enter text here (without any carriage returns)” is just typed into the Encrypt shape, shown in light amber below. The shape then produces the Encrypted text which is then available in a Shape Data row (shown in a green Text callout). This encrypted message can then be sent to a receiver, who just pastes it into the Decrypt shape, shown in red below, in a page that has the same keyword and alphabet values in the Shape Data rows. The decrypted text is then available in the Decrypt Shape Data row.
This can be extended to produce double, triple or even more encryption by passing it through the shapes more times. To make it even more unbreakable, the first encrypted text could be decrypted using a different keyword, and then encrypted again, using a third keyword.
As long as the receiver knows the three keywords, and the processing order, then the message can be decoded by reversing the process.
SmartShapes are available here.
NOTE: Beware, I heard someone say that double encryption is against the law in some countries!
A conundrum for you
I leave you with one final message to decode:
The answer will be on my blog soon.
David Parker is a Visio MVP of over 12 years and runs his own Visio based consultancy and development business - bVisual. David has written three books on using Visio in business and validating diagram structure. He also maintains a Visio power user blog.