Solutions to the Matasano Crypto Challenges in Haskell