Matasano crypto challenges http://cryptopals.com/