Matasano Crypto Challenges - my Java (puaj) solutions