Oct. 14 - Oct. 16
In Computer Security, we often aim to hide messages in plain sight. This is very helpful if we want to share confidential information with somebody but don't have a secure channel available. In this situation we will encrypt our message in a way that makes the transmitted data useless for anybody who doesn't have the right key to decrypt it. For example, when you take your midterm next week, we could encrypt the complete solution and write it onto the board for all of you to see. And anybody with whom we share our key will be able to "read" it while it won't help you at all. Of course we are not going to be that mean, but we could.
Encryption may sound like a Computer Science term, but actually it's been around for a long time. For example, Julius Caesar often had to send important instructions to remote posts. Of course he did not fully trust his messengers, so he sent the instructions in encrypted form. By today's standards his encryption method is ridiculously unsafe, of course. Here's what he did: In the simplest case, Julius replaced each character in the secret message with its neighbor. A became B ,B became C , K became L and so on. Things get a little tricky once you get to the end. What should Julius replace Z with? Well, he just jumped back to the beginning and so Z became A . For example Et tu Brute (pardon my Latin... this stands for "You as well, Brutus") became Fu uv Csvuf . Pretty hard to read, huh?
This type of encryption is called a "substitution cipher", because each letter get substituted with a specific other letter. To make things a little more interesting, Caesar varied the number of positions by which he would shift the letters. In the example above, we shift by one character. To make the message a little more secure, he used a different offset every time. (Obviously the message's recipient knew which number Julius was using. This is called a "shared key"). If we encrypted Sleepy with a key of 4, we would get Wpiitc (always 4 steps to the "right", except for y which jumps back to the beginning and continues to c .
You can visualize the substitution with a key of 4 like this:
|