Implementation of the Vigenere cipher along with a script to break it.
To play with the components of the breaking algorithm, check this out.
The solution my breaking algorithm generates is the most likely to be correct based on English character frequencies and a key up to a provided size.