Secret communications

Secret communications
Photo by Kristina Flour / Unsplash

Almost every Alternate Reality Game (ARG) includes messages that are encrypted in some fashion. They also tend to use obscure languages, forgotten numbering systems, and subtle visual cues, I'll save descriptions of those for another blog post. This post will serve as a primer for basic encryption methods and simple ciphers.

"the rabbit hole is key to getting people involved in your ARG. Too obscure and you won't get anyone. Too cryptic and they can't even get started."

Any well thought out game involving ciphers and encryption will start with easy to recognize puzzles which are simple to solve or decipher. Starting simply serves to train the player in how to play the game. The "Rabbit Hole" as it's called in the ARG world is the initial entry point for players and usually their first interaction with the game. As most ARG's progress, their codes and ciphers get more complex.

Ciphers vs. Code

What most people call writing in code is actually using a cipher. A code is when a symbol, word, or phrase is used to stand for a different word, phrase, or sentence. A cipher is where each letter in a word is represented with a different letter or symbol.

Each letter has a number. A is 1, B is 2, etc. If I wanted to say hello, it would turn into 8(h)-5(e)-9(l)-9(l)-15(o). If you want to decipher 16-9-26-26-1, you would match the numbers to the letters and see that it means pizza.

The Ceasar Cipher

The Caesar cipher, also known as the shift cipher, is simple but harder to crack than just using a basic code. The image above of the Ceasar cipher is constructed of a wheel with the inner and outer rings able to rotate around each other. This cipher is good for messages that aren't that important or things you just want to make a bit more complicated to figure out. It will deter the casual observer, but there are only 26 ways a message can be coded.

Using the cipher is as easy as spinning the inner wheel so that A on the outside matches with B on the inside, B with C, C with D, and so on. Let's say the message you want to code is "Go to the store in five minutes." On the outside wheel, find the letter in the message, then write down the letter that matches them in the second wheel. "Go to the store in five minutes" becomes "fn sn sgd rsnqd hm ehud lhmtdr."

To decode the message, you do the complete opposite. Find the coded letters in the second wheel and match them with the first. You can see why they call it a shift cipher. Because shifting the alphabet only one space down is a semi-obvious thing to do, you can shift the alphabet as much as you want. You could make B U, C V, D W, like in the picture.
Before you send a message like this, make sure that you and whoever you are contacting have agreed on how many times you are shifting the alphabet.

The Masonic Cipher

The Masonic cipher, also known as the pigpen cipher, is another easy, yet low security way to code messages. This cipher can be cracked by anyone who knows about this style of cipher. In this cipher, each letter is replaced with a symbol. There are many variations to this cipher, but I am only going to explain the most basic one. In the image above you can see how the letters are arranged in the four different groupings.

To code a message, find the letter in your message and draw the symbol that goes with it. A would be a corner open on the top left side, E would be a square, S is a v shape facing upwards, and so on.

The Playfair Cipher

The Playfair cipher is relatively simple to understand, and it is very secure. In the previous ciphers, each letter had a symbol or letter that stood for it. This cipher codes letters in pairs, making it much harder to crack.

The first step in using the Playfair cipher is preparing your message. Let's say it's, "I will be at the clock in five minutes."

Get rid of all punctuation and spacing. Put the letters in pairs of two. You should have, "iw il lb ea tt he cl oc ki nf iv em in ut es"

If you have any double letters, like tt, you need to put an X between them. It should look like this, "iw il lb ea tx th ec lo ck in fi ve mi nu te s"

If you have a letter at the end that is by itself, add an X to make it a pair. Your code now looks like, "iw il lb ea tx th ec lo ck in fi ve mi nu te sx"

If you have any J's in your message, replace them with an I. There are no J's in this message, so it doesn't matter. Now you need to make the coding square. Choose a word or phrase that you want to be you keyword. The longer it is the more secure your code will be. Let's say your keyword is "secretpostcards".

Write your keyword into a 5x5 grid without repeating any letters. Then fill in the rest of the alphabet, excluding the letter J. It should look like this.

Now it's time to code the message. Take each pair of letters individually, find them on the letter block, and use these three rules to code your message.

  1. If the two letters on different rows and columns (diagonal from each other) imagine that the two letters form the opposite corner of a box. Write down the letters that are in the opposite corner. It is important the order you write them in. Whatever letter is first in the original pair of numbers, the new coded letter that is in the same row as it( in the corner of the imaginary box) will go first.
  2. If the letters are on the same row, write down the letter that is to the immediate right of your original letter. If your letter is at the edge of the alphabet square, you need to wrap around the box and write the first letter in that row. Again, the order of the coded letters should be in the same order as the original letters.
  3. If the letters are in the same column, write down the letters immediately below your original letter. if your letter is at the bottom of the alphabet square, you will need to write the letter that is at the top of that column. Again, keep the coded letters in the same order as the original letters.

IW becomes GY. IL becomes FQ. LB becomes UP.  VE becomes WS, and so on and so forth. The entire message when coded should be, "GYFQUPCOCZCKCRGDTHHQGKWSQGQLSCCV"

To decode the message go through the steps of coding, only this time, when letters are on the same row write the letter to the left, and when letters are on the same column write the letter above it. Do the inverse operation.
For the recipient to understand your message they need to know the key word or phrase.

For a more complex code write the date along with the coded message. First, choose twelve books that you and the recipient both have access to. Assign each book a number. If the date is 7/17/12, then you go the the seventh book, the seventeenth page, and the twelfth word. That will be the keyword to solve the cipher.

Invisible Ink

This is one of my favorite methods for layering rabbit holes on top of otherwise normal paper communications like flyers, posters, zines and the like.

UV ink pens/lights are cheap and easy to find. I like using linocut blocks to make custom stamps. I would love to modify a printer to use with UV ink, but haven't yet found one to devote to that purpose (is there a UV ink Risograph option...?). The second option and arguably easier to access is lemon juice. The drawbacks are that once heated and revealed, the lemon juice doesn't turn invisible again.


The techniques listed here barely scratch the surface of what's available and possible. Discovering an ARG and solving your first in-game puzzle is very satisfying, and addicting.