Intro: Vigenere Cipher With Rotating Cleartext
The Vigenere cipher was publicized by Lewis Caroll, who's best known for writing the Alice books and poetry. Essentially, the cipher is a complex shift code, based on a key word.
For a full explanation of the code, visit http://en.wikipedia.org/wiki/Vigenère_cipher
In this instructable, I'll lay out a method by which the cleartext (the initial message, before encryption) can be disguised to help prevent decryption using either of the methods, since even decrypted it would read as gobbledygook.
The concept of rotating cleartext I got from Dan Brown's book Digital Fortress.
Step 1: Select Cleartext
For the method I'll be using here, the cleartext should be a square number of letters. For example, one flew over the cuckoo's nest.
However, you could choose any cleartext you want, you can usually play with it to get a square number of letters.
Step 2: Rotating the Cleartext
To prevent the cipher from being too easy to crack, you need to change the cleartext in a reversible manner. My method, rotating it, involves writing the cleartext in columns and then reading it in a spiral. Once done, you can add a random letter at every prime numbered space, or some other pattern that's easy to remember and hard to crack.
In this example I started from the middle of the left side, and reversed direction for the second loop of the spiral.
Step 3: Choose Keyword
The most important thing to remember is that the keyword is the security of your message. if you choose one that's too short, it can be cracked extremely easily. However, if you choose one that's too long relative to the cleartext, it can get dicey. Usually a keyword of 6-10 letters is decent. For the sake of the demonstration I'll use abcdefghi as the keyword.
Step 4: Encrypt
Write the keyword above the cleartext, repeating until you reach the end of the text. using the vigenere chart, make a third line with the intersections between each two letters that are matched vertically. Once you finish, you have the coded message.
Step 5: Share
If you haven't shared the keyword in advance, you can tack it on the end of the coded message, but for that you have to hide it. you could do the same thing you did with the cleartext in step 2. Give to a friend who knows the protocol and you're finished.