Give Unto Caesar! … Encryption for your RPG
An investigator pores over notes seemingly scribbled by a madman. The crafty Wizard tries to glean the location of the Lich’s phylactery by trying to read his spell book. The legionnaire is sent with a scroll of dire importance, encrypted against prying eyes in case of capture. No matter what time period, technology level or nefarious purpose, encrypted messages can add a lot to your game.
Each code is a puzzle to be solved. For some games, this might be a quick roll against a skill and the answer is revealed. For some games however, you reveal a message to your players, and give them a chance to actually break the code. Uncovering clues may help them break the code, and it may taunt them across multiple game sessions. I want to take a look at each approach and present a simplified variant of actual encryption for use in your games.
Now first a word of warning. If your players aren’t interested in any of this, you are just going to frustrate the hell out of them. Stick with Method I (I will break down some methods in a bit). For some, these will be puzzles and they will love the chance to decipher it themselves. For others, likely your Murder Hobos, they just want to shoot stuff. But each method can be useful in different situations.
First, why did I title this Give Unto Caesar? Well, one of the most famous cyphers of all time is known as the Caesar Cypher, because Julius Caesar used it from around 50 BCE. There were other cyphers used in Rome before this, one involving a strip of cloth wrapped around a stick, and then a message written down its side. If the recipient had a stick of the same diameter, they could then re-wrap the cloth and read the message. The Caesar did away with the need for any specific apparatus for decoding it as long as the recipient knew the method of encryption.
Encryption with mechanical devices don’t translate quite as well to a game or puzzle. By this same token, modern encryption has become both exponentially more difficult, and exponentially easier. With computer encryption the algorithm is written out, but the processing power of the CPU does all the work. With a few simple mouse clicks insanely difficult encryption is applied to your data. With a few other mouse clicks, vast computational power can start brute force methods to try to break it. Neither of which offers much for a player to do other than roll a skill check.
So speaking of rolling a skill check, let’s start getting down to methods. There are 3 different approaches we will take here, and 5 if you count the more difficult versions of two of the variants. All of these will assume we are staying within the native language of our players. Changing the language, or jumping between a few different languages, that’s just evil.
Method I : Roll the damn dice
Yeah, this one is simple. Is there an applicable skill in the game system? Roll. Maybe the difficulty of the encryption changes the target of your roll. Maybe there is no skill and you roll your Intelligence/Intellect stat. For this method, no extra work is required. No handout is really necessary. While this is the simplest method for the GM/Keeper, it also offers the least amount of interaction for the PCs.
You can make this a bit more interesting by coming up with a code work that needs to be used to break this code. Maybe having the proper code word reduces the difficulty of the skill roll. This approach works for reading obscure languages also. The characters skills will determine whether they can decipher it or not.
Method II : Substitution
A substitution cypher, in its simplest form, it replacing each letter in the message with a different letter or symbol. That is not to say these cyphers are simple. Computers basically use a substitution encryption since they convert each letter typed into a number defined by a standardized code. Then as software tries to present that data later, it changes that number back into the letter it is meant to represent. The very letters you are reading right now are going through this type substitution.
A font is another example of this. In that case, it is merely changing the shape of the letter, but leaving it in a recognizable form for us to read. Unless we use Wingdings! That is a perfect example of a true substitution cypher. This leads to other options we have for our games. If we find a font, say for zodiac script, or elvish, we merely type our message and then change the font. Just like that, you have basic hand outs for your players.
But not so fast. First, make sure you make an image of this test. As I stated earlier about computers making these things easier, if you give them a text file, now those computers can be applied to solving your well thought out code. If they see an image of the message, or you actually take the time to write it out by hand, it will be a much better handout.
There is a second problem with this approach however. True substitution cyphers don’t use any code or keys to solve them. The recipient must have the entire code reference to decipher their message. While this is great for actual encryption, it slows decoding it down considerably. And it is horribly frustrating as a puzzle within a game. There is no ‘solve’ to be had, merely a solution that must be offered. Use this one with caution.
Method III : Mixed Substitution
See everything in Method II? That assumes that you never change the references. Whatever symbol is the equivalent of the letter “A” will always be there to represent the letter “A”. But what of I had 100 symbols I used? What if 3 different symbols represented the letter “A”, and 2 different ones were the letter “T”?
This is fun. It is effective. But unless you have the actual code book, you will basically never be able to decipher a code like this. Not within any usable timeframe for a game session. Or even campaign. Both forms of substitution cypher do really capture how a wizard would encrypt their spell book however.
Method IV : Shift Cyphers
Now we get into the Caesar. A shift cypher is created by taking your entire alphabet and shifting each letter a certain number left or right, allowing the letters to wrap around at the ends. The classic form, the Caesar Cypher, was created by shifting the actual letter desired three places to the right. So in English, the letter “A” becomes the letter “D” in the coded message. The letter “F” becomes an “I”. And the letter “Y”, since the characters wrap around, becomes a “B”.
The classic Caesar:
Original: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Encoded: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
One of the strengths of this is not needing any decoding apparatus. One of the weaknesses is that it is relatively easy to decipher as far as encryption goes. If you have ever read any of the Caesar Cyphers, you can read all of them. So one way in which you can make them a bit more difficult is to use a different number to shift. Let’s say instead of shifting 3 letters, you shift 5. Now a letter “A” becomes a an “F” and a “T” becomes an “Y”. This keeps the cypher from being the exact same each time, and you need to know (or figure out) the number shifted to break the code.
The Shift 5:
Original: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Encoded: F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
Once people started using a variable number in their shifts, they devised a code ring to help crack it. These discs are basically a small circle with the entire alphabet around its diameter set in the middle of a larger circle, also with the alphabet around its diameter. By rotating the middle circle a certain number of places, you have a toll to help translate your coded message back into your plain text.
Yes…. Just like on A Christmas Story.
There are variations of this, one of which was known for centuries an unbreakable. The Vigenère Cipher, also called “le chiffre indéchiffrable” (French for “the unbreakable cipher”), used a grid array of multiple Caesar style shifts, and jumped around different columns of the decoding grid based on a key work to determine which columns to use at each letter interval. This is NOT something you want to sit in from of your players and watch them sweat. We will want this to be fun, so we want this to be solvable.
Method V : Keyword Shift
The last method we will talk about this time is a variation of the substitution and the shift styles. While that may seem to suggest that it will be far more difficult to solve, that’s not really the case. In this variation, much like the Caesar style cypher, we are going to write our alphabet from left to right to create our key bar. But this time, instead of shifting the second row a certain number, we are going to write a word in the second row under the letters A/B/C/Etc…..
How long of a word? That’s up to you, but you want to make sure the word doesn’t use any letter more than once. You might even use an entire phrase if you like as long as no letter is reused. After you have your word or phrase, now you add the rest of the letters of your alphabet, skipping any letters that you already have in your word or phrase. Here is an example.
Code Word is BLACK:
Original: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Encoded: B L A C K D E F G H I J M N O P Q R S T U V W X Y Z
As you can see, depending on the letters used in our code word, some of the letters might not be shifted at all. This is why we also apply a shift to it. How many? Shift it a number equal to the number of letters in the code word. Then we end up with this…..
Code Word is BLACK(5):
Original: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Encoded: V W X Y Z B L A C K D E F G H I J M N O P Q R S T U
This seems very complex now. However, if we know the code word is black, or even that it is 5 digits long, we can start to create our key to decrypt our message. It simulates some of the more advanced codes used in history, but stays within the realm of being a solvable puzzle. It also gives us distinct clues we can offer our players based on investigation, perhaps getting them closer and closer to solving it with each piece.
Want it to be a bit more difficult? Shift first then put the key word in the beginning. It looks like this.
Code Word is BLACK(5):
Original: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Encoded: B L A C K V W X Y Z D E F G H I J M N O P Q R S T U
Roughly the same level of difficulty, but the order you shift or transpose things makes each code unique so you are reusing the same system over and over.
So how to use all this?
I think if you are going to use a code at all, you really want to focus on methods II, IV and V. Method one isn’t really a method at all. Just roll. But Method II becomes a solvable puzzle. One recommendation for using this however, allow the PCs to find the key (the Tabula Rasa) first. Maybe in a fragmentary state, so what they have isn’t complete. Then they can solve part of the code, but not entirely. This allows you to use a cypher with no reasonable way to decode it without a key and still make it interesting. The partial key is… well… key.
For Method IV, you can almost just give them the coded message. If any of your players take an interest at all, they will start breaking it down. Again, make sure you make an image of the coded message and not text. A computer makes light work of these type cyphers. Through letter frequency, double occurrences, single letter forms and other analysis techniques, the players will actually make progress on this. Just let it hang in the background. Don’t let it hold up the game, but make sure that suggestions to questions which may be answered in that parchment are scattered throughout.
If they want more of a challenge, as long as you strictly make one symbol equivalent to one letter, you can even change the font or symbols for the letters and the solution isn’t that much more difficult to come by. When they need a nudge, maybe getting a solution to one word will help them unravel the rest. Another way to impact the difficulty is spacing. If the message has no spaces it will be harder to decode. If the spaces are shifted one or two places to the right it can become truly frustrating, but one common technique when hitting wall is to compress the message and ignore the spaces anyway.
Lastly, with Method V, have fun with the numbers and words needed to decode the message. The villains code word can be related to one of his weaknesses, a family member, a named weapon, a mentor. The number of shifts can be tied to their coat of arms, to the year, to something divine or infernal. Clues can be hanging on the wall. They can be written in letters or monogrammed into handkerchiefs. The possibilities are near infinite, but for this to be enjoyable it has to be potentially solvable. Maybe not initially, but after a clue or two is found, the key should be there.
And maybe your players don’t want to do any of this. That’s OK too. You might just create an amazing cypher with the letters swapped for hieroglyphics and the key woven into images of the mummy’s sarcophagus…. And the players just say they want to roll and move on. Knowing what your players want is a code that we don’t really have any easy way to decrypt.