I need a cypher for a roleplaying scenario I’m writing. It must be able to turn a few short sentences into an understandable (if awkwardly written) body of text that has no relation whatsoever to the meaning of the original sentences. The new body of text can be about absolutely anything.
It shouldn’t be so simple as to be silly, but it’s a bonus if it’s within the realm of possibility to figure it out and break it with just brainpower.
Sure, I could go for something like “first letter of every sentence” but it would be nice to do something more elegant. Any ideas?
Well, the simplest cipher there is is probably a rotation cipher, where you simply move each letter down in the alphabet a few spot. So in rot-4, for example, A becomes D, B becomes E, C becomes F, and so on. Rot-13 is a very popular and easy to recognize.
A step up from that is a monoalphabetic substitution, where you simply scramble the order of the alphabet and use that as your new alphabet. These can be solved with frequency analysis: with a long enough block of text, assuming the original is in English, the most common letter probably means “E”, and you go from there.
A more interesting substitution cipher are tableu ciphers, including the Vigenère cipher, in which a rotating series of substitution alphabets is used. That may be pushing it for your scenario, though.
Not sure if this counts or not, but I saw one (I think it was in one of those puzzle books for kids) that was simply based on spacing. You would take your few sentences and arrange them into a few lines of different lengths and then write things around them. Wait, let’s try an example
xxxx xxx xxxxx xxx xxx xx xxx xxx xxx
xxx xx xxxx xx yy yyyy xx x xxxx
xx xxx xx xx yy yyy yyy yy xx xxx xx xx
xx xx xxx xx xx yy y yyy x xx xx xxx xx
xx xxxxx xxx x xx yy xx xx xxx xxx xx
Where the y’s would be you’re message and the x’s are just random banter that fits in with each line to make a paragraph that has nothing to do with the original. Then if the reader spots the funny spacing they can lift the code out.
This would be very difficult to turn into an understandable text. JoeyP’s suggestion is closer to what I was thinking about, if I can work the words from the original message into the text.
I like this one, a personal ad. The original source is lost in the mists of time.
A tall well-built woman with good
reputation, who can cook frogs’
legs, who appreciates a good fuc-
schia garden, classical music and tal-
king without getting too serious.
You should be aware of the difference between a cipher, where each letter is transformed into another letter (or symbol) by some process; a code, where each word is transformed into another word (or a number) by some process; and steganography, where the message still exists word for word but is hidden among other words. (I’ve slightly simplified the definitions.) You apparently don’t want a cipher or a code. You want some kind of steganography.
It’s just plain impossible. If you change all the letters of a message by a mechanical process*, the chances that it will be another message making sense are incredibly small. If you change all the words of a message by a mechanical process, the chances that it will be another message making sense are incredibly small. Steganography is your only hope.
*By mechanical process, I mean an algorithm, or in other words a completely determined process.
If you’re looking for something as simple as what I mentioned, you might want to go to a store and pick up a cryptograms type book for kids. Ya know, the kind for a long car drive or to keep the kids busy on the airplane. You might be able to get some ideas out of that.
As I understand it, a code is a basic shift of meaning: that is, code words have an assigned an arbitrary meaning that you can’t easily divine from context.
You could, for instance, overhear an Army general talking about “Operation Overlord” and know that the Army was planning to do something under that name, but you wouldn’t know what it was doing. They could have said, for instance, that “Operation Overlord proceeding to launch on D-Day.” But without knowing what the code names meant you have meaning only in a relative sense.
For instance, here is what Harry Truman received as a telegram (says Wikipedia):
Only the sender — and Truman — knew the message was about the first atomic bomb test. The message could be safely read, intercepted, and even re-broadcast without giving away the meaning.
Ciphers operate at a more basic level, substituting letters of the alphabet for other arbitrary symbols. The Rotation +1 type of encryption is a very basic cipher, where TREASURE ISLAND turns into USFBTVSF JTMBOE.
A message can, of course, be both encoded and encrypted.
A cypher is a letter-by-letter substitution of the plaintext for the cypher text. Simple examples include the Captain Midnight decoder ring and the rot-n schemes mentioned above.
A code is the substitution of words or phrases by other words or phrases. For example if “Mother baked apple pies while Uncle John watched.” really means “General Smith will arrive in Washington by air at 3pm.” that’s a code/
The Japanese WWII code JN-25 that was broken by the allies was both. Five-digit number groups substituted for words and/or phrases using code books, and the resulting groups were then encyphered using encyphering books.
It will be tiresome to write – the cover text has to be about 25 times as long as the hidden message – but this method should allow you to create awkward but readable messages that can be decrypted easily enough:
All that counts is the number of letters in each word, rather, whether that number is odd or even. Odd =1, even = 0. Divide those numbers into groups of five and translate them from binary to decimal and use the old 1=A to translate into letters. Settle on number codes for spaces and punctuation if you please. (Yup, just like ascii charts. Actually, you could just use ascii, but why force yourself to use eight digits per letter when five will do?)
Going the other way: translate each letter of your secret message into the number equivalent, convert to binary, then ramble on about anything making sure you have words of odd or even letters as appropriate.
Here’s a secret message for you:
Hi, sis!
Been a sorta bad week since we talked. After we said goodbye in Boston, we turned onto the turnpike and fought hordes for travelling room. I had visions
of a convoy of trucks rolling over the little Ford we rented for this expedition.
We covered a hundred miles and then we discovered that we left the keys and map behind. Stupid, yes. We spent four hours hunting for Joe’s cabin and then we resorted to breaking into the place!
Joking aside, one of us has made a mistake somewhere, 'cause currently I decrypt your message as KTRAIGHTDOPEENXCB. I can’t get the first letter to be an S and I have no clue what ENXCB is.
I just coded my message using your method, StarvingButStrong. Perfect. I can even rather easily drop little hints throughout the scenario. It’ll be really interesting to see if my players manage to break it.