Wednesday, May 11, 2011

Cryptology - The Alphabet Clock

In classes 3 and 4 we learned about modular arithmetic and the one-time pad.

Modular arithmetic is the sort of arithmetic you do on a clock. On a normal clock, if you start at 7 and add 11 hours you end up at 6. Mathematicians would write it like this:
7+11 = 6 mod 12
(actually, we use three horizontal lines instead of two for the equal sign, but I don't know how to make that symbol on the blog). The "mod 12'' part means that we're on a clock with 12 numbers, starting with 0 at the top (instead of 12) and continuing around to 11.

For cryptology, we use a clock with the 26 letters on it. These correspond to the numbers from 0 to 25.
On the alphabet clock,
0 and 26 both mean A
1 and 27 both mean B
25 and -1 both mean Z
and so on.

To use this clock to encrypt a message, we need some starting plaintext and a key. A key is a secret bit of information that the person sending the message and the person receiving the message both have to know in order for this to work.

Let's use CHICKEN as the plaintext and MOOFAZA as the key.

We translate the plaintext and key into numbers, using the clock. We add the first number of plaintext and the first number of key, then the second number of plaintext and the second number of key, and so on.
plaintext   CHICKEN   2    7    8    2   10  4  13
key MOOFAZA 12 14 14 5 0 25 0
sum 14 21 22 7 10 29 13

Then we translate the numbers back into letters. On the alphabet clock, 29 and 3 are both D.

14 21 22 7 10 29 13
O V W H K D N

We send the ciphertext OVWHKDN.


To decrypt the message, we need to know the ciphertext and the key. Since we added the key to get the ciphertext, we have to subtract the key to get the plaintext. Translate the ciphertext and key into numbers, and take the difference between each pair of numbers:

ciphertext OVWHKDN 14 21 22 7 10 29 13
key MOOFAZA 12 14 14 5 0 25 0
difference 2 7 8 2 10 4 13

Finally we translate those numbers back into letters:

2 7 8 2 10 4 13
C H I C K E N

If the key is totally random and as long as the message, we have what's called a one-time pad. In one sense, this is the best cryptography there is: if you don't know the key, you can't figure out the message. I don't care how good your computer is - it can tell all the possible messages, but it can't tell which was the real one.


In another sense, this is horribly impractical. You have to get a gigantic list of completely random letters to your buddy, without anyone else seeing them, and you and your buddy have to always be at the same place in the gigantic list of letters. What a mess!

No comments:

Post a Comment