In this article I will show you how to send an encrypted message that can not be broken. All you need is paper and pencil. With our privacy disappearing faster than the Mountain Gorilla, I thought that such knowledge might one day become more than a coffee shop conversation topic. I am referring to the One-Time-Pad described by Neal Stephenson in his novel, “Cryptonomicon.” Highly recommended by the way. So, learn it and have fun with your kids. It’s kind of like showing them how to start a fire without matches or lighter. It’s fun, and who knows, they might have to use it some day..
I have always been interested in encryption theory. Surprising, since I never liked puzzles or crosswords. Not to mention my poor math skills. For some reason I have always been driven to learn obscure, odd or outdated skills. Even though I am a programmer by trade, the level of complexity in encryption software is way over my head. I’ve had a PGP key for more than ten years, but to my dismay, nobody ever sends encrypted messages but for the occasional server password; and that may have been two or three emails in ten years. Had I not insisted on it, I would have received none. You would think this feature would be built in every email program, but it isn’t. You must add a plugin to your mail client, if one is even available. I know Evolution on Ubuntu has it built in, and Pegasus Mail on Windows has a plugin. But computer encryption is not the subject today.
Let’s see how it is done. It is pretty easy:
You need a way to produce random letters. These random letters will be the key used to code and decode the message. Do not rely on yourself or a computer to produce true randomness. Typing random keys on your keyboard doesn’t work, it won’t be truly random. Good for practice, but not for real messages. I would suggest putting letters from a Scrabble game in a bag and shake it vigorously. Pick one letter (without looking!), write it down. Put it back, repeat. Write down your pad in groups of five letters, like so:
GEXOJ AXYEN LOWHD AWQJD UBRWJ
You need as many letters as your intended message. Here is a one-time-pad generator, for practice (set group length and key length to 5).
Now, let’s say your message is HELLO. Our first key group is GEXOJ.
HELLO is the message.
GEXOJ is the key, called a one-time-pad because it can be used for only one message.
We are going to count to the position of the letter H, but starting at zero, not one.
A B C D E F G H
0 1 2 3 4 5 6 7…….. Etc…
Here is the whole alphabet to help you:
Our first key letter is G, and G = 6.
Add the two: 7+6=13 = N.
We keep going: E=4 + E=4 = 8 which gives I.
L=11 + X=23 = 34 ! Ha, problem! The alphabet has only 26 letters.
No problem, when we hit 26, we go back to A. 27=B, 28=C, etc. So, 34=I.
L=11 + O=14 = 25 = Z.
O=14 + J=9 = 23 = X.
Here is another way to look at it:
Our secret message is NIIZX.
Now, let’s decode it:
We do the same thing in reverse…
(If a number is negative then add 26 to make the number positive.)
The encrypted message is as random as the key is. Therefore, as far as I know, there is no code breaking method available that could possibly crack it. Your message is of course only as safe as the key. If the key is truly random, has not been seen by anyone except you and the recipient and was used only once then destroyed, then your message is safe!