If you'd like to play with this yourself, it's #6 in the cryptopals challenges:<p><a href="http://cryptopals.com/sets/1/challenges/6" rel="nofollow">http://cryptopals.com/sets/1/challenges/6</a><p>I agree with the author: it's conceptually very simple, but a little tricky to code, even in the simplest case where you're relying on simple letter frequencies. You could probably do 10 good challenges on different ways to attack this problem, and towards the end you'd be getting into somewhat serious cryptanalysis: for instance, look at what Patterson and Al Fardan did with RC4.