The homepage for Vigen.py
There are two kinds of cryptography in this world: cryptography that will stop your kid sister from reading your files and cryptography that will stop major governments from reading your files. - Bruce Schneier, Preface to Applied Cryptography
[Information | Details | Examples | Download | Links | About]
The Vigenere (Actually, it is correctly spelled "Vigenére", but many machines don't support the accented 'e'. And I don't even know what to call it, pathetic American that I am...) Cipher was developed in the 16th century and became the predominant cipher for more than 200 years. Nowadays, it can only foil your kid sister.
It's not a terrifically difficult cipher to encrypt or decrypt by hand, which makes it ideal for simple note passing or encrypted classified ads to your significant other. All it requires is a known 'key', a phrase agreed to before hand. See the links section for links to pages that describe the cipher in some detail and give usage instructions.
You can make an uncrackable cipher using a 'one-time pad'. This is rather cumbersome and not very practical however. If you want to give it a try, the distribution of vigen.py comes with 'otp.py' which will generate a (pseudo) random one-time pad for you to use. Otp.py is in the public domain.
Vigen.py is very simple to use. There are two functions and only two functions, "envigen" and "devigen". Encrypt with en-, decrypt with de-. Both key and a_string should be strings.
abg@sami:~/src/vigen$ ./vigen.py 'python' 'The secret keyword for today is python' Ciphered: IFXZSPGCMRSLLMKKTBGRHKOLXQIFHUDL Unciphered: THESECRETKEYWORDFORTODAYISPYTHON abg@sami:~/src/vigen$ ./vigen.py 'dietcoke' 'The red crow flies at midnight without an umbrella' Ciphered: WPIKGRMVREJEKSCEWUMWPWQLWEMMJCEXDVYFDFOPOI Unciphered: THEREDCROWFLIESATMIDNIGHTWITHOUTANUMBRELLA
I was inspired to create this code by reading "The Code Book" (ISBN: 0385495315) by Simon Singh. It's a very good book, well-written and easy to comprehend. I recommend it. Buy it at your favorite bookseller.
Vigen.py is Free Software and is released under the terms of the GPL. If you don't know what that means, please follow the link!