Solutions to Matasano Crypto Challenges